From c9324a804c15cf3db403833e67935762eb45cb80 Mon Sep 17 00:00:00 2001 From: yum Date: Tue, 4 Nov 2025 17:26:46 -0800 Subject: 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. --- 3ner.shader | 37 ++++++++++++++++++++++++++++++++----- 1 file changed, 32 insertions(+), 5 deletions(-) (limited to '3ner.shader') 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 -- cgit v1.2.3