summaryrefslogtreecommitdiffstats
path: root/3ner.shader
diff options
context:
space:
mode:
authoryum <yum.food.vr@gmail.com>2025-11-04 17:26:46 -0800
committeryum <yum.food.vr@gmail.com>2025-11-04 17:26:46 -0800
commitc9324a804c15cf3db403833e67935762eb45cb80 (patch)
treeeed670156a998d79958f10caf2833cc8ddb0a5c9 /3ner.shader
parent27c7851bf08aaee87eb348010737c34b5698adaa (diff)
add ray march instancing (copies) with row offsets
instancing uses real evaluated copies of the mesh instead of domain repetition. useful for hiding artifacts as an alternative to quilez's corrective term, which generally converges more slowly.
Diffstat (limited to '3ner.shader')
-rw-r--r--3ner.shader37
1 files changed, 32 insertions, 5 deletions
diff --git a/3ner.shader b/3ner.shader
index 9315aed..3e7e9e0 100644
--- a/3ner.shader
+++ b/3ner.shader
@@ -81,12 +81,39 @@ Shader "yum_food/3ner"
[HideInInspector] m_end_Ray_Marching_Baked_Origins("Baked Origins", Float) = 0
//endex
+ //ifex _Ray_Marching_Cart_Instancing_Enabled==0
+ [HideInInspector] m_start_Ray_Marching_Cart_Instancing("Cartesian Instancing", Float) = 0
+ [ThryToggle(_RAY_MARCHING_CART_INSTANCING)] _Ray_Marching_Cart_Instancing_Enabled("Enable", Float) = 0
+ [IntRange] _Ray_Marching_Cart_Instancing_Count_X("Count X", Range(1,3)) = 1
+ [IntRange] _Ray_Marching_Cart_Instancing_Count_Y("Count Y", Range(1,3)) = 1
+ [IntRange] _Ray_Marching_Cart_Instancing_Count_Z("Count Z", Range(1,3)) = 1
+ _Ray_Marching_Cart_Instancing_Span_X("Span X", Range(0,2)) = 0.1
+ _Ray_Marching_Cart_Instancing_Span_Y("Span Y", Range(0,2)) = 0.1
+ _Ray_Marching_Cart_Instancing_Span_Z("Span Z", Range(0,2)) = 0.1
+
+ //ifex _Ray_Marching_Cart_Instancing_Offsets_Enabled==0
+ [HideInInspector] m_start_Ray_Marching_Cart_Instancing_Offsets("Offsets", Float) = 0
+ [ThryToggle(_RAY_MARCHING_CART_INSTANCING_OFFSETS)] _Ray_Marching_Cart_Instancing_Offsets_Enabled("Enable", Float) = 0
+ _Ray_Marching_Cart_Instancing_Offsets_X_Every_Y("X every Y", Range(0,1)) = 0
+ _Ray_Marching_Cart_Instancing_Offsets_X_Every_Z("X every Z", Range(0,1)) = 0
+ _Ray_Marching_Cart_Instancing_Offsets_Y_Every_X("Y every X", Range(0,1)) = 0
+ _Ray_Marching_Cart_Instancing_Offsets_Y_Every_Z("Y every Z", Range(0,1)) = 0
+ _Ray_Marching_Cart_Instancing_Offsets_Z_Every_X("Z every X", Range(0,1)) = 0
+ _Ray_Marching_Cart_Instancing_Offsets_Z_Every_Y("Z every Y", Range(0,1)) = 0
+ [HideInInspector] m_end_Ray_Marching_Cart_Instancing_Offsets("Offsets", Float) = 0
+ //endex
+ [HideInInspector] m_end_Ray_Marching_Cart_Instancing("Cartesian Instancing", Float) = 0
+ //endex
+
//ifex _Ray_Marching_Cart_Grid_Enabled==0
- [HideInInspector] m_start_Ray_Marching_Cart_Grid("Cart Grid", Float) = 0
+ [HideInInspector] m_start_Ray_Marching_Cart_Grid("Cartesian Grid", Float) = 0
[ThryToggle(_RAY_MARCHING_CART_GRID)] _Ray_Marching_Cart_Grid_Enabled("Enable", Float) = 0
- _Ray_Marching_Cart_Grid_Count_X("Count X", Range(0,40)) = 5
- _Ray_Marching_Cart_Grid_Count_Y("Count Y", Range(0,40)) = 5
- _Ray_Marching_Cart_Grid_Count_Z("Count Z", Range(0,40)) = 5
+ [IntRange] _Ray_Marching_Cart_Grid_Count_X("Count X", Range(0,40)) = 5
+ [IntRange] _Ray_Marching_Cart_Grid_Count_Y("Count Y", Range(0,40)) = 5
+ [IntRange] _Ray_Marching_Cart_Grid_Count_Z("Count Z", Range(0,40)) = 5
+ _Ray_Marching_Cart_Grid_Span_X("Span X", Range(0,40)) = 0.1
+ _Ray_Marching_Cart_Grid_Span_Y("Span Y", Range(0,40)) = 0.1
+ _Ray_Marching_Cart_Grid_Span_Z("Span Z", Range(0,40)) = 0.1
[HideInInspector] m_end_Ray_Marching_Cart_Grid("Cart Grid", Float) = 0
//endex
@@ -225,7 +252,7 @@ Shader "yum_food/3ner"
[ThryToggle(_TESSELLATION)] _Tessellation_Enabled("Enable", Float) = 0
_Tessellation_Factor("Factor", Range(1, 64)) = 1
_Tessellation_Frustum_Culling_Bias("Frustum culling bias", Float) = 35
- _Tessellation_Falloff_Factor("Falloff factor", Float) = 50
+ _Tessellation_Falloff_Factor("Falloff factor", Float) = 0.05
// Shit for thry
[HideInInspector] Tessellation_Enabled("Enabled", Float) = 1
[HideInInspector] Tessellation_EnabledForwardBase("Enabled (ForwardBase)", Float) = 1