bvle-voxels/shaders
Samuel Bouchet d075a8492c Phase 5.1: smooth normals, triplanar fix, depth bias, hasSmooth tighten
- Smooth vertex normals: area-weighted accumulation of face normals per
  indexed vertex before triangle expansion. Gives Gouraud-smooth shading
  without adding geometry.
- Triplanar fix: PS uses geometric normal (ddx/ddy of worldPos) for
  texture projection weights, smooth normal for lighting only. Prevents
  texture stretching on smoothed surfaces.
- Depth bias: custom rasterizer state (depth_bias=2, slope_scaled=1.0)
  on smooth PSO resolves z-fighting at smooth↔blocky overlap.
- hasSmooth filter tightened: check face-adjacent voxels of each corner
  (1-voxel reach) instead of neighbor cells' corners (2-cell cascade).
  Prevents smooth mesh from extending into underground blocky territory.
2026-03-27 15:08:35 +01:00
..
voxelCommon.hlsli Add wind to grass toping 2026-03-26 18:58:19 +01:00
voxelCullCS.hlsl Phase 2.3: GPU compute culling with frustum + backface cull 2026-03-25 22:30:50 +01:00
voxelMeshCS.hlsl Phase 5.1: Naive Surface Nets smooth rendering 2026-03-27 13:03:55 +01:00
voxelPS.hlsl Phase 5.1: Naive Surface Nets smooth rendering 2026-03-27 13:03:55 +01:00
voxelSmoothPS.hlsl Phase 5.1: smooth normals, triplanar fix, depth bias, hasSmooth tighten 2026-03-27 15:08:35 +01:00
voxelSmoothVS.hlsl Phase 5.1: smooth PS blending uses same logic as blocky PS + debug scene 2026-03-27 14:21:35 +01:00
voxelTopingPS.hlsl Tweak grass blade color 2026-03-26 20:00:33 +01:00
voxelTopingVS.hlsl Add wind to grass toping 2026-03-26 18:58:19 +01:00
voxelVS.hlsl Phase 3: PS-based texture blending with winner-takes-all heightmap 2026-03-26 12:14:08 +01:00