From 47b06274313d03ab3169ec07a87ac949bb5035fb Mon Sep 17 00:00:00 2001 From: yum Date: Sun, 2 Nov 2025 18:23:43 -0800 Subject: add hexagon sdf --- ray_marching.cginc | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'ray_marching.cginc') diff --git a/ray_marching.cginc b/ray_marching.cginc index 57a3dff..d989dc8 100644 --- a/ray_marching.cginc +++ b/ray_marching.cginc @@ -100,6 +100,13 @@ void ray_march(inout v2f i) { d_cur = min(d_cur, map_ball(p, _Ray_Marching_Ball_Radius)); } #endif +#if defined(_RAY_MARCHING_HEXAGON) + { + float r = _Ray_Marching_Hexagon_Radius; + float h = _Ray_Marching_Hexagon_Height; + d_cur = min(d_cur, map_hexagon(p, float2(r, h))); + } +#endif #if defined(_RAY_MARCHING_OVERSTEP) d_cur *= (d_cur > 0 ? _Ray_Marching_Overstepping_Factor : 1.0f); @@ -128,6 +135,13 @@ void ray_march(inout v2f i) { map_ball_normal(r, lclPos, lclNorm, lclTan); } #endif +#if defined(_RAY_MARCHING_HEXAGON) + { + float r = _Ray_Marching_Hexagon_Radius; + float h = _Ray_Marching_Hexagon_Height; + map_hexagon_normal(float2(r, h), lclPos, lclNorm, lclTan); + } +#endif i.objPos = lclPos; i.normal = lclNorm; -- cgit v1.2.3