gitextract_aors0i3m/ ├── .gitattributes ├── .github/ │ └── workflows/ │ └── build.yml ├── .gitignore ├── Assets/ │ ├── CornellBox/ │ │ ├── compressed/ │ │ │ └── checkerboard.dds │ │ ├── cornell.gltf │ │ ├── cornell_emissive.gltf │ │ └── license.txt │ ├── Font/ │ │ ├── Font.h │ │ ├── IconsFontAwesome6.h │ │ └── LICENSE-bfont.ttf.txt │ └── LUT/ │ ├── LICENSE-MIT │ ├── rho.dds │ └── tony_mc_mapface.dds ├── CMake/ │ ├── CompileHLSL.cmake │ ├── Copy.cmake │ ├── SetBuildConfigurations.cmake │ ├── SetupAgilitySDK.cmake │ ├── SetupDXC.cmake │ ├── SetupDoctest.cmake │ ├── SetupImGui.cmake │ ├── SetupWinPIX.cmake │ ├── Setupcgltf.cmake │ └── SetupxxHash.cmake ├── CMakeLists.txt ├── External/ │ ├── FSR2/ │ │ └── Include/ │ │ ├── dx12/ │ │ │ └── shaders/ │ │ │ └── ffx_fsr2_shaders_dx12.h │ │ ├── ffx_assert.h │ │ ├── ffx_error.h │ │ ├── ffx_fsr2.h │ │ ├── ffx_fsr2_interface.h │ │ ├── ffx_types.h │ │ ├── ffx_util.h │ │ └── shaders/ │ │ ├── ffx_fsr2_common.h │ │ └── ffx_fsr2_resources.h │ ├── FastDelegate/ │ │ ├── FastDelegate.h │ │ └── FastDelegateBind.h │ ├── ImGui/ │ │ ├── ImGuizmo.cpp │ │ ├── ImGuizmo.h │ │ └── imconfig.h │ ├── concurrentqueue/ │ │ ├── blockingconcurrentqueue.h │ │ ├── concurrentqueue.h │ │ └── lightweightsemaphore.h │ └── stb/ │ ├── stb_image.h │ ├── stb_image_write.h │ └── stb_sprintf.h ├── LICENSE ├── README.md ├── Source/ │ ├── CMakeLists.txt │ ├── ZetaCore/ │ │ ├── App/ │ │ │ ├── App.h │ │ │ ├── CMakeLists.txt │ │ │ ├── Common.h │ │ │ ├── Filesystem.h │ │ │ ├── Log.h │ │ │ ├── Path.h │ │ │ ├── Timer.h │ │ │ └── ZetaRay.h │ │ ├── CMakeLists.txt │ │ ├── Core/ │ │ │ ├── CMakeLists.txt │ │ │ ├── CommandList.cpp │ │ │ ├── CommandList.h │ │ │ ├── CommandQueue.cpp │ │ │ ├── CommandQueue.h │ │ │ ├── Config.h │ │ │ ├── DescriptorHeap.cpp │ │ │ ├── DescriptorHeap.h │ │ │ ├── Device.cpp │ │ │ ├── Device.h │ │ │ ├── Direct3DUtil.cpp │ │ │ ├── Direct3DUtil.h │ │ │ ├── GpuMemory.cpp │ │ │ ├── GpuMemory.h │ │ │ ├── GpuTimer.cpp │ │ │ ├── GpuTimer.h │ │ │ ├── HLSLCompat.h │ │ │ ├── Material.h │ │ │ ├── PipelineStateLibrary.cpp │ │ │ ├── PipelineStateLibrary.h │ │ │ ├── RenderGraph.cpp │ │ │ ├── RenderGraph.h │ │ │ ├── RendererCore.cpp │ │ │ ├── RendererCore.h │ │ │ ├── RootSignature.cpp │ │ │ ├── RootSignature.h │ │ │ ├── SharedShaderResources.cpp │ │ │ ├── SharedShaderResources.h │ │ │ ├── Vertex.h │ │ │ └── dds.h │ │ ├── Math/ │ │ │ ├── BVH.cpp │ │ │ ├── BVH.h │ │ │ ├── CMakeLists.txt │ │ │ ├── CollisionFuncs.h │ │ │ ├── CollisionTypes.h │ │ │ ├── Color.cpp │ │ │ ├── Color.h │ │ │ ├── Common.cpp │ │ │ ├── Common.h │ │ │ ├── Matrix.h │ │ │ ├── MatrixFuncs.h │ │ │ ├── OctahedralVector.h │ │ │ ├── Quaternion.h │ │ │ ├── Sampling.cpp │ │ │ ├── Sampling.h │ │ │ ├── Surface.cpp │ │ │ ├── Surface.h │ │ │ ├── Vector.h │ │ │ └── VectorFuncs.h │ │ ├── Model/ │ │ │ ├── CMakeLists.txt │ │ │ ├── Mesh.cpp │ │ │ ├── Mesh.h │ │ │ ├── glTF.cpp │ │ │ ├── glTF.h │ │ │ └── glTFAsset.h │ │ ├── RayTracing/ │ │ │ ├── CMakeLists.txt │ │ │ ├── RtAccelerationStructure.cpp │ │ │ ├── RtAccelerationStructure.h │ │ │ └── RtCommon.h │ │ ├── Scene/ │ │ │ ├── Asset.cpp │ │ │ ├── Asset.h │ │ │ ├── CMakeLists.txt │ │ │ ├── Camera.cpp │ │ │ ├── Camera.h │ │ │ ├── SceneCommon.h │ │ │ ├── SceneCore.cpp │ │ │ ├── SceneCore.h │ │ │ └── SceneRenderer.h │ │ ├── Support/ │ │ │ ├── CMakeLists.txt │ │ │ ├── FrameMemory.h │ │ │ ├── Memory.h │ │ │ ├── MemoryArena.cpp │ │ │ ├── MemoryArena.h │ │ │ ├── MemoryPool.cpp │ │ │ ├── MemoryPool.h │ │ │ ├── OffsetAllocator.cpp │ │ │ ├── OffsetAllocator.h │ │ │ ├── Param.cpp │ │ │ ├── Param.h │ │ │ ├── Stat.h │ │ │ ├── Task.cpp │ │ │ ├── Task.h │ │ │ ├── ThreadPool.cpp │ │ │ └── ThreadPool.h │ │ ├── Utility/ │ │ │ ├── CMakeLists.txt │ │ │ ├── Error.cpp │ │ │ ├── Error.h │ │ │ ├── Function.h │ │ │ ├── HashTable.h │ │ │ ├── Optional.h │ │ │ ├── RNG.h │ │ │ ├── SmallVector.h │ │ │ ├── Span.h │ │ │ ├── SynchronizedView.h │ │ │ └── Utility.h │ │ └── Win32/ │ │ ├── CMakeLists.txt │ │ ├── Win32.h │ │ ├── Win32App.cpp │ │ ├── Win32Common.cpp │ │ ├── Win32Filesystem.cpp │ │ └── Win32Timer.cpp │ ├── ZetaLab/ │ │ ├── CMakeLists.txt │ │ └── ZetaLab.cpp │ ├── ZetaRenderPass/ │ │ ├── AutoExposure/ │ │ │ ├── AutoExposure.cpp │ │ │ ├── AutoExposure.h │ │ │ ├── AutoExposure_Common.h │ │ │ ├── AutoExposure_Histogram.hlsl │ │ │ ├── AutoExposure_WeightedAvg.hlsl │ │ │ └── CMakeLists.txt │ │ ├── CMakeLists.txt │ │ ├── Common/ │ │ │ ├── BSDF.hlsli │ │ │ ├── BSDFSampling.hlsli │ │ │ ├── CMakeLists.txt │ │ │ ├── Common.hlsli │ │ │ ├── FrameConstants.h │ │ │ ├── GBuffers.hlsli │ │ │ ├── LightSource.hlsli │ │ │ ├── LightVoxelGrid.hlsli │ │ │ ├── Math.hlsli │ │ │ ├── RT.hlsli │ │ │ ├── RayQuery.hlsli │ │ │ ├── SH.hlsli │ │ │ ├── Sampling.hlsli │ │ │ ├── StaticTextureSamplers.hlsli │ │ │ └── Volumetric.hlsli │ │ ├── Compositing/ │ │ │ ├── CMakeLists.txt │ │ │ ├── Compositing.cpp │ │ │ ├── Compositing.h │ │ │ ├── Compositing.hlsl │ │ │ ├── Compositing_Common.h │ │ │ └── FireflyFilter.hlsl │ │ ├── DirectLighting/ │ │ │ ├── CMakeLists.txt │ │ │ ├── Emissive/ │ │ │ │ ├── DirectLighting.cpp │ │ │ │ ├── DirectLighting.h │ │ │ │ ├── DirectLighting_Common.h │ │ │ │ ├── PairwiseMIS.hlsli │ │ │ │ ├── Params.hlsli │ │ │ │ ├── ReSTIR_DI_Spatial.hlsl │ │ │ │ ├── ReSTIR_DI_Temporal.hlsl │ │ │ │ ├── ReSTIR_DI_Temporal_WPS.hlsl │ │ │ │ ├── Resampling.hlsli │ │ │ │ ├── Reservoir.hlsli │ │ │ │ └── Util.hlsli │ │ │ └── Sky/ │ │ │ ├── PairwiseMIS.hlsli │ │ │ ├── Params.hlsli │ │ │ ├── Resampling.hlsli │ │ │ ├── Reservoir.hlsli │ │ │ ├── SkyDI.cpp │ │ │ ├── SkyDI.h │ │ │ ├── SkyDI_Common.h │ │ │ ├── SkyDI_Spatial.hlsl │ │ │ ├── SkyDI_Temporal.hlsl │ │ │ └── Util.hlsli │ │ ├── Display/ │ │ │ ├── CMakeLists.txt │ │ │ ├── Display.cpp │ │ │ ├── Display.h │ │ │ ├── Display.hlsl │ │ │ ├── Display_Common.h │ │ │ ├── DrawPicked.hlsl │ │ │ ├── Sobel.hlsl │ │ │ └── Tonemap.hlsli │ │ ├── FSR2/ │ │ │ ├── CMakeLists.txt │ │ │ ├── FSR2.cpp │ │ │ └── FSR2.h │ │ ├── GBuffer/ │ │ │ ├── CMakeLists.txt │ │ │ ├── GBufferRT.cpp │ │ │ ├── GBufferRT.h │ │ │ ├── GBufferRT.hlsli │ │ │ ├── GBufferRT_Common.h │ │ │ ├── GBufferRT_Inline.hlsl │ │ │ ├── GenerateDepthBuffer.cpp │ │ │ ├── GenerateDepthBuffer.h │ │ │ └── GenerateDepthBuffer.hlsl │ │ ├── GUI/ │ │ │ ├── CMakeLists.txt │ │ │ ├── GuiPass.cpp │ │ │ ├── GuiPass.h │ │ │ ├── GuiPass_Common.h │ │ │ └── ImGui.hlsl │ │ ├── IndirectLighting/ │ │ │ ├── CMakeLists.txt │ │ │ ├── IndirectLighting.cpp │ │ │ ├── IndirectLighting.h │ │ │ ├── IndirectLighting_Common.h │ │ │ ├── NEE.hlsli │ │ │ ├── PathTracer/ │ │ │ │ ├── Params.hlsli │ │ │ │ ├── PathTracer.hlsl │ │ │ │ └── Variants/ │ │ │ │ ├── PathTracer_WPS.hlsl │ │ │ │ └── PathTracer_WoPS.hlsl │ │ │ ├── ReSTIR_GI/ │ │ │ │ ├── PairwiseMIS.hlsli │ │ │ │ ├── Params.hlsli │ │ │ │ ├── PathTracing.hlsli │ │ │ │ ├── ReSTIR_GI.hlsl │ │ │ │ ├── ReSTIR_GI_NEE.hlsli │ │ │ │ ├── Resampling.hlsli │ │ │ │ ├── Reservoir.hlsli │ │ │ │ └── Variants/ │ │ │ │ ├── ReSTIR_GI_LVG.hlsl │ │ │ │ ├── ReSTIR_GI_WPS.hlsl │ │ │ │ └── ReSTIR_GI_WoPS.hlsl │ │ │ └── ReSTIR_PT/ │ │ │ ├── Params.hlsli │ │ │ ├── ReSTIR_PT_NEE.hlsli │ │ │ ├── ReSTIR_PT_PathTrace.hlsl │ │ │ ├── ReSTIR_PT_Reconnect_CtS.hlsl │ │ │ ├── ReSTIR_PT_Reconnect_CtT.hlsl │ │ │ ├── ReSTIR_PT_Reconnect_StC.hlsl │ │ │ ├── ReSTIR_PT_Reconnect_TtC.hlsl │ │ │ ├── ReSTIR_PT_Replay.hlsl │ │ │ ├── ReSTIR_PT_Sort.hlsl │ │ │ ├── ReSTIR_PT_SpatialSearch.hlsl │ │ │ ├── Reservoir.hlsli │ │ │ ├── SampleSet.hlsli │ │ │ ├── Shift.hlsli │ │ │ ├── Util.hlsli │ │ │ └── Variants/ │ │ │ ├── ReSTIR_PT_PathTrace_WPS.hlsl │ │ │ ├── ReSTIR_PT_PathTrace_WoPS.hlsl │ │ │ ├── ReSTIR_PT_Reconnect_CtS_E.hlsl │ │ │ ├── ReSTIR_PT_Reconnect_CtT_E.hlsl │ │ │ ├── ReSTIR_PT_Reconnect_StC_E.hlsl │ │ │ ├── ReSTIR_PT_Reconnect_TtC_E.hlsl │ │ │ ├── ReSTIR_PT_Replay_CtS.hlsl │ │ │ ├── ReSTIR_PT_Replay_CtS_E.hlsl │ │ │ ├── ReSTIR_PT_Replay_E.hlsl │ │ │ ├── ReSTIR_PT_Replay_StC.hlsl │ │ │ ├── ReSTIR_PT_Replay_StC_E.hlsl │ │ │ ├── ReSTIR_PT_Replay_TtC.hlsl │ │ │ ├── ReSTIR_PT_Replay_TtC_E.hlsl │ │ │ ├── ReSTIR_PT_Sort_CtS.hlsl │ │ │ ├── ReSTIR_PT_Sort_StC.hlsl │ │ │ └── ReSTIR_PT_Sort_TtC.hlsl │ │ ├── PreLighting/ │ │ │ ├── BuildLightVoxelGrid.hlsl │ │ │ ├── CMakeLists.txt │ │ │ ├── EstimateTriEmissivePower.hlsl │ │ │ ├── PreLighting.cpp │ │ │ ├── PreLighting.h │ │ │ ├── PreLighting_Common.h │ │ │ └── PresampleEmissives.hlsl │ │ ├── RenderPass.h │ │ ├── Sky/ │ │ │ ├── CMakeLists.txt │ │ │ ├── Inscattering.hlsl │ │ │ ├── Sky.cpp │ │ │ ├── Sky.h │ │ │ ├── SkyViewLUT.hlsl │ │ │ └── Sky_Common.h │ │ └── TAA/ │ │ ├── CMakeLists.txt │ │ ├── TAA.cpp │ │ ├── TAA.h │ │ ├── TAA.hlsl │ │ └── TAA_Common.h │ └── ZetaRenderer/ │ ├── CMakeLists.txt │ └── Default/ │ ├── CMakeLists.txt │ ├── DefaultRenderer.cpp │ ├── DefaultRenderer.h │ ├── DefaultRendererImpl.h │ ├── GBuffer.cpp │ ├── PathTracer.cpp │ └── PostProcessor.cpp ├── Tests/ │ ├── CMakeLists.txt │ ├── TestAliasTable.cpp │ ├── TestContainer.cpp │ ├── TestMath.cpp │ ├── TestOffsetAllocator.cpp │ ├── TestOptional.cpp │ └── main.cpp └── Tools/ ├── BCnCompressglTF/ │ ├── BCnCompressglTF.cpp │ ├── CMakeLists.txt │ ├── DirectXTex/ │ │ ├── BC.cpp │ │ ├── BC.h │ │ ├── BC4BC5.cpp │ │ ├── BC6HBC7.cpp │ │ ├── BCDirectCompute.cpp │ │ ├── BCDirectCompute.h │ │ ├── DDS.h │ │ ├── DirectXTex.h │ │ ├── DirectXTex.inl │ │ ├── DirectXTexCompress.cpp │ │ ├── DirectXTexCompressGPU.cpp │ │ ├── DirectXTexConvert.cpp │ │ ├── DirectXTexD3D11.cpp │ │ ├── DirectXTexDDS.cpp │ │ ├── DirectXTexFlipRotate.cpp │ │ ├── DirectXTexImage.cpp │ │ ├── DirectXTexMipmaps.cpp │ │ ├── DirectXTexMisc.cpp │ │ ├── DirectXTexP.h │ │ ├── DirectXTexResize.cpp │ │ ├── DirectXTexUtil.cpp │ │ ├── DirectXTexWIC.cpp │ │ ├── Shaders/ │ │ │ └── Compiled/ │ │ │ ├── BC6HEncode_EncodeBlockCS.inc │ │ │ ├── BC6HEncode_TryModeG10CS.inc │ │ │ ├── BC6HEncode_TryModeLE10CS.inc │ │ │ ├── BC7Encode_EncodeBlockCS.inc │ │ │ ├── BC7Encode_TryMode02CS.inc │ │ │ ├── BC7Encode_TryMode137CS.inc │ │ │ └── BC7Encode_TryMode456CS.inc │ │ ├── filters.h │ │ └── scoped.h │ └── TexConv/ │ ├── texconv.cpp │ └── texconv.h ├── CMakeLists.txt ├── Natvis/ │ ├── App.natvis │ ├── Container.natvis │ └── imgui.natvis └── PrecompileShaders/ ├── CMakeLists.txt └── PrecompileShaders.cpp