Context dealing with scene management for ray tracing.
- Copyright
- (C) 2023 Individual contributors, see AUTHORS file
|
| static const uint | NUM_GRID_CELLS = 64 |
| struct { | |
| Threading::CriticalSection Raytracing::blasLock | |
| Util::Array< CoreGraphics::BlasInstanceId > Raytracing::blasInstances | |
| Util::Array< CoreGraphics::MeshId > Raytracing::blasInstanceMeshes | |
| Util::Array< CoreGraphics::BlasId > Raytracing::blasesToRebuild | |
| Util::Array< CoreGraphics::BlasId > Raytracing::blases | |
| Util::FixedArray< CoreGraphics::TlasId > Raytracing::toplevelAccelerationStructures | |
| Memory::RangeAllocator Raytracing::blasInstanceAllocator | |
| bool Raytracing::topLevelNeedsReconstruction | |
| bool Raytracing::topLevelNeedsBuild | |
| bool Raytracing::topLevelNeedsUpdate | |
| Util::HashTable< CoreGraphics::MeshId, Util::Tuple< uint, Util::Array< CoreGraphics::BlasId > > > Raytracing::blasLookup | |
| CoreGraphics::BufferWithStaging Raytracing::blasInstanceBuffer | |
| CoreGraphics::ResourceTableSet Raytracing::raytracingTables | |
| CoreGraphics::ResourceTableId Raytracing::raytracingTestOutputTable | |
| CoreGraphics::BufferWithStaging Raytracing::objectBindingBuffer | |
| Util::Array< Raytracetest::TlasInstance > Raytracing::objects | |
| CoreGraphics::BufferId Raytracing::gridBuffer | |
| CoreGraphics::BufferId Raytracing::lightGridConstants | |
| CoreGraphics::ShaderId Raytracing::lightGridShader | |
| CoreGraphics::ResourceTableSet Raytracing::lightGridResourceTables | |
| CoreGraphics::ShaderProgramId Raytracing::lightGridGenProgram | |
| CoreGraphics::ShaderProgramId Raytracing::lightGridCullProgram | |
| CoreGraphics::BufferId Raytracing::lightGridIndexLists | |
| CoreGraphics::PipelineRayTracingTable Raytracing::raytracingBundle | |
| CoreGraphics::ShaderProgramId Raytracing::hitPrograms [NumObjectTypes] | |
| CoreGraphics::MeshId Raytracing::placeholderMesh | |
| Materials::MaterialId Raytracing::placeholderMaterial | |
| Threading::Event Raytracing::jobWaitEvent | |
| SizeT Raytracing::maxAllowedInstances = 0 | |
| SizeT Raytracing::numRegisteredInstances = 0 | |
| SizeT Raytracing::pendingBlasSetups = 0 | |
| SizeT Raytracing::numInstancesToFlush | |
| uint Raytracing::lastBuildInstanceCount = 0 | |
| uint Raytracing::lastBuildBlasCount = 0 | |
| } | state |
| static uint | MaterialPropertyMappings [(uint) MaterialTemplatesGPULang::MaterialProperties::Num] |
| static Core::CVar * | r_RaytracingDispatch = Core::CVarCreate(Core::CVar_Int, "r_RaytracingDispatch", "2", "Ray dispatch: 0=build only, 1=1x1 capture stub, 2=full test (640x480)") |
| static Core::CVar * | r_RaytracingDDGI = Core::CVarCreate(Core::CVar_Int, "r_RaytracingDDGI", "1", "DDGI probe rays [0,1]. Independent of r_RaytracingDispatch.") |
| static Core::CVar * | r_RaytracingValidate = Core::CVarCreate(Core::CVar_Int, "r_RaytracingValidate", "1", "Assert TLAS instance records on the CPU before the GPU build [0,1]") |
| static Core::CVar * | r_RaytracingDebug = Core::CVarCreate(Core::CVar_Int, "r_RaytracingDebug", "0", "Show raytracing instance inspector [0,1]") |
| static constexpr const char * | HitShaderPaths [NumObjectTypes] |