diff options
Diffstat (limited to 'ray_marching.cginc')
| -rw-r--r-- | ray_marching.cginc | 14 |
1 files changed, 14 insertions, 0 deletions
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; |
