Changed triangle clipping from world space to clip space
Calculate world space position in rasterizer by unprojecting clip space point
Render sky much closer to camera and w/o depth test to avoid far clip plane issue
Several rasterizer optimizations (binning, pixel shader variants via template parameters, constexpr, __restrict to get compiler-generated vector instructions)
I added multi-threading to the rasterizer today but performance still scales poorly, likely due to thread synchronization for draw calls, and each thread's workload not being big enough. Ideally FPS will be at a playable level for all PCs before this is merged. Just creating now for visibility.
This has several optimizations and bug fixes for the new renderer. Tl;dr:
VoxelVisibilityChunk
)EntityVisibilityChunk
)SkyVisibilityManager
)constexpr
,__restrict
to get compiler-generated vector instructions)I added multi-threading to the rasterizer today but performance still scales poorly, likely due to thread synchronization for draw calls, and each thread's workload not being big enough. Ideally FPS will be at a playable level for all PCs before this is merged. Just creating now for visibility.