* Clustered prototype
* Cleanup
* Cleanup, clustered culling uses switch case for readability, put generic math classes in math folder,
* Decals evaluate as a sphere, simpler, API for envmaps and lights dont take positionSs anymore
* Revert this shit on complex
* TiledCullingLayer > ClusteredCullingLayer
* Remove references to UseClusteredLighting/UseTiledLighting, just make it work everywhere
* Remove old tiled culling files
* Remove ClusterFrustum.hlsl since we have a generic one
* Remove OBB as we just test simple bounds for decal
* Final cleanups
* Remove references to tiled culling from native engine
* Adjust toolsvis for clustered
* Rename tiled culling references to clustered culling in render pipeline and tools visualization
* Build shaders
* Format
* Fix fog's near frustum cull plane and clustered warning from Mr. Copilot
* remove the last crumbs from tiled rendering
* Update shaders
* skybox rendering use ClusteredCullingLayer instead of TiledCullingLayer
* Volume fog still referencing MAX_LIGHTS_PER_TILE, should have it using clusters but slower for now
* Re-enable CreateBLAS in RenderDeviceVulkan
* Update SPVRemapper to suppot raytracing opcode remapping
* Null initialize BLAS on RenderMesh
* Clean proper to generate BLAS on mesh data loading
* SceneRaytracingSystem stub
* Glue SceneRaytracing
* Remove pipelines from SceneRaytracing for now, just do TLAS, tie it to SceneRaytracingSystem, updates only once per frame just like how we want in a clean way
https://files.facepunch.com/sampavlovic/1b0611b1/ngfx-ui_Ck3ckzQQFT.png
* Send Descriptor Set of Raytracing World to RenderAttribute
* RTAO example using RayQuery
* RayTracingShader API stub
* Set SM6.0 and dxlevel 120 as default
* Instead of making raytracing opt-in, add -nogpuraytracing to force disable it
* Add IRenderDevice::IsRayTracingSupported() to easily query support for it
* Fix IsRayTracingSupported()
* RTAO Adjustments
* Allow Rayquery through AS on Compute and Pixel shaders even if not optimal, avoids it crashing when acessing it on compute
* Strip CRaytraceSceneWorld to just generating TLAS, dont need anything else for now and we need a better way to handle UGC than what's there
* Bindless::RaytracingAccelerationStructure()
* Simplify interface too
* Stub for UpdateSkinnedForRaytracing
* Dotnet format and fix documentation, make RTAO run at correct stage
* Only support raytracing in tools mode for now
* Move raytracing stuff to Raytracing.hlsl
* Stub RTX shader
* Internal Raytracingshader and remove useless stuff exposed from it
* VfxProgramHasRenderShader should check for VFX_PROGRAM_RTX too, that's the source from everything else failing
* Add arbitrary entry point support to shaders, needed as RTX shaders use [shader("XXX")] instead of MainXXX directly
* RenderTools::TraceRays API, preliminary implementation, RTAO uses RaytracingShader
* Make RT support internal, allow RT on game
* Remove RaytracedAmbientOcclusion, will be on scenestaging when ready
* Update engine/Sandbox.Engine/Systems/Render/RayTracingShader.cs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Fix rebase
* Update shaders
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>