gitextract_7jr9t7gk/ ├── .clang-format ├── .clang-tidy ├── .github/ │ └── workflows/ │ ├── windows_dev.yml │ └── windows_main.yml ├── .gitignore ├── .gitmodules ├── Asset/ │ ├── BuildIn/ │ │ ├── ImGui.spv.asset │ │ ├── MaterialBall.asset │ │ ├── animation.icon.asset │ │ ├── equirectangular_to_cubemap.shader.asset │ │ ├── mesh.preview.asset │ │ ├── pipeline.icon.asset │ │ ├── prefab.icon.asset │ │ └── scene.icon.asset │ ├── Meta/ │ │ └── README.md │ ├── MustacheTemplate/ │ │ └── Reflection.mustache │ ├── NRD_Data/ │ │ ├── NRD.rg │ │ └── Sample/ │ │ ├── Texture2D_89.dds │ │ ├── blur_buffer.csv │ │ ├── gIn_Diff.dds │ │ ├── gIn_Diff_History.dds │ │ ├── gIn_Normal_Roughness.dds │ │ ├── gIn_ObjectMotion.dds │ │ ├── gIn_Prev_AccumSpeeds_MaterialID.dds │ │ ├── gIn_Prev_Normal_Roughness.dds │ │ ├── gIn_Prev_ViewZ.dds │ │ ├── gIn_ViewZ.dds │ │ ├── history_fix_buffer.csv │ │ ├── post_blur_buffer.csv │ │ └── temporal_accumulate_buffer.csv │ └── SPD/ │ └── metals/ │ ├── Ag.eta.spd │ ├── Ag.k.spd │ ├── Al.eta.spd │ ├── Al.k.spd │ ├── AlAs.eta.spd │ ├── AlAs.k.spd │ ├── AlSb.eta.spd │ ├── AlSb.k.spd │ ├── Au.eta.spd │ ├── Au.k.spd │ ├── Be.eta.spd │ ├── Be.k.spd │ ├── Cr.eta.spd │ ├── Cr.k.spd │ ├── CsI.eta.spd │ ├── CsI.k.spd │ ├── Cu.eta.spd │ ├── Cu.k.spd │ ├── Cu2O.eta.spd │ ├── Cu2O.k.spd │ ├── CuO.eta.spd │ ├── CuO.k.spd │ ├── Hg.eta.spd │ ├── Hg.k.spd │ ├── HgTe.eta.spd │ ├── HgTe.k.spd │ ├── Ir.eta.spd │ ├── Ir.k.spd │ ├── K.eta.spd │ ├── K.k.spd │ ├── KBr.eta.spd │ ├── KBr.k.spd │ ├── KCl.eta.spd │ ├── KCl.k.spd │ ├── Li.eta.spd │ ├── Li.k.spd │ ├── MgO.eta.spd │ ├── MgO.k.spd │ ├── Mo.eta.spd │ ├── Mo.k.spd │ ├── NaCl.eta.spd │ ├── NaCl.k.spd │ ├── Nb.eta.spd │ ├── Nb.k.spd │ ├── Rh.eta.spd │ ├── Rh.k.spd │ ├── Se-e.eta.spd │ ├── Se-e.k.spd │ ├── Se.eta.spd │ ├── Se.k.spd │ ├── SiC.eta.spd │ ├── SiC.k.spd │ ├── SiO.eta.spd │ ├── SiO.k.spd │ ├── SnTe.eta.spd │ ├── SnTe.k.spd │ ├── Ta.eta.spd │ ├── Ta.k.spd │ ├── Te-e.eta.spd │ ├── Te-e.k.spd │ ├── Te.eta.spd │ ├── Te.k.spd │ ├── ThF4.eta.spd │ ├── ThF4.k.spd │ ├── TiC.eta.spd │ ├── TiC.k.spd │ ├── TiN.eta.spd │ ├── TiN.k.spd │ ├── TiO2-e.eta.spd │ ├── TiO2-e.k.spd │ ├── TiO2.eta.spd │ ├── TiO2.k.spd │ ├── VC.eta.spd │ ├── VC.k.spd │ ├── VN.eta.spd │ ├── VN.k.spd │ ├── W.eta.spd │ ├── W.k.spd │ ├── a-C.eta.spd │ ├── a-C.k.spd │ ├── a-SiH.eta.spd │ ├── a-SiH.k.spd │ ├── d-C.eta.spd │ └── d-C.k.spd ├── Doc/ │ ├── Material.drawio │ ├── RHI.drawio │ ├── RenderGraph.drawio │ ├── Resource.drawio │ ├── Scene.drawio │ └── Shader.drawio ├── LICENSE.txt ├── README.md ├── Source/ │ ├── Editor/ │ │ ├── Editor.cpp │ │ ├── Editor.hpp │ │ ├── ImGui/ │ │ │ ├── ImGuiContext.cpp │ │ │ └── ImGuiContext.hpp │ │ ├── Precompile.hpp │ │ └── Widget.hpp │ ├── Engine/ │ │ ├── Engine.cpp │ │ ├── Engine.hpp │ │ ├── Precompile.hpp │ │ └── main.cpp │ ├── External/ │ │ ├── dxc/ │ │ │ └── inc/ │ │ │ ├── d3d12shader.h │ │ │ ├── dxcapi.h │ │ │ ├── dxcerrors.h │ │ │ └── dxcisense.h │ │ ├── imgui_tools/ │ │ │ ├── IconsFontAwesome/ │ │ │ │ └── IconsFontAwesome5.h │ │ │ ├── imgui_impl_glfw.cpp │ │ │ ├── imgui_impl_glfw.h │ │ │ ├── imguizmo/ │ │ │ │ ├── GraphEditor.cpp │ │ │ │ ├── GraphEditor.h │ │ │ │ ├── ImCurveEdit.cpp │ │ │ │ ├── ImCurveEdit.h │ │ │ │ ├── ImGradient.cpp │ │ │ │ ├── ImGradient.h │ │ │ │ ├── ImGuizmo.cpp │ │ │ │ ├── ImGuizmo.h │ │ │ │ ├── ImSequencer.cpp │ │ │ │ ├── ImSequencer.h │ │ │ │ └── ImZoomSlider.h │ │ │ ├── imnodes/ │ │ │ │ ├── imnodes.cpp │ │ │ │ ├── imnodes.h │ │ │ │ └── imnodes_internal.h │ │ │ ├── implot/ │ │ │ │ ├── implot.cpp │ │ │ │ ├── implot.h │ │ │ │ ├── implot_demo.cpp │ │ │ │ ├── implot_internal.h │ │ │ │ └── implot_items.cpp │ │ │ └── xmake.lua │ │ ├── mustache/ │ │ │ └── mustache.hpp │ │ ├── slang/ │ │ │ ├── docs/ │ │ │ │ ├── 64bit-type-support.md │ │ │ │ ├── README.md │ │ │ │ ├── api-users-guide.md │ │ │ │ ├── building.md │ │ │ │ ├── command-line-slangc.md │ │ │ │ ├── cpu-target.md │ │ │ │ ├── cuda-target.md │ │ │ │ ├── doc-system.md │ │ │ │ ├── faq.md │ │ │ │ ├── language-guide.md │ │ │ │ ├── layout.md │ │ │ │ ├── linking.md │ │ │ │ ├── nvapi-support.md │ │ │ │ ├── repro.md │ │ │ │ ├── shader-playground.md │ │ │ │ ├── stdlib-doc.md │ │ │ │ ├── target-compatibility.md │ │ │ │ └── wave-intrinsics.md │ │ │ ├── prelude/ │ │ │ │ ├── slang-cpp-host-prelude.h │ │ │ │ ├── slang-cpp-prelude.h │ │ │ │ ├── slang-cpp-scalar-intrinsics.h │ │ │ │ ├── slang-cpp-types.h │ │ │ │ ├── slang-cuda-prelude.h │ │ │ │ ├── slang-hlsl-prelude.h │ │ │ │ └── slang-llvm.h │ │ │ ├── slang-com-helper.h │ │ │ ├── slang-com-ptr.h │ │ │ ├── slang-gfx.h │ │ │ ├── slang-tag-version.h │ │ │ └── slang.h │ │ └── xmake.lua │ ├── Plugin/ │ │ ├── Editor/ │ │ │ ├── AnimationEditor.cpp │ │ │ ├── Console.cpp │ │ │ ├── Hierarchy.cpp │ │ │ ├── Inspector.cpp │ │ │ ├── MainMenu.cpp │ │ │ ├── MaterialGraphEditor.cpp │ │ │ ├── MeshEditor.cpp │ │ │ ├── RenderGraphEditor.cpp │ │ │ ├── ResourceBrowser.cpp │ │ │ ├── SceneView.cpp │ │ │ ├── ShaderToy.cpp │ │ │ └── xmake.lua │ │ ├── Geometry/ │ │ │ ├── Parameterization/ │ │ │ │ ├── MinimumSurface.cpp │ │ │ │ └── Tutte.cpp │ │ │ ├── Subdivision/ │ │ │ │ └── Loop.cpp │ │ │ └── xmake.lua │ │ ├── Importer/ │ │ │ ├── Assimp.cpp │ │ │ ├── DDS.cpp │ │ │ ├── STB.cpp │ │ │ └── xmake.lua │ │ ├── MaterialNode/ │ │ │ ├── BSDF/ │ │ │ │ ├── ConductorMaterial.cpp │ │ │ │ ├── DielectricMaterial.cpp │ │ │ │ ├── DiffuseMaterial.cpp │ │ │ │ ├── DisneyMaterial.cpp │ │ │ │ ├── MaskedMaterial.cpp │ │ │ │ ├── MixMaterial.cpp │ │ │ │ ├── PrincipledMaterial.cpp │ │ │ │ ├── ThinDielectricMaterial.cpp │ │ │ │ └── Utils/ │ │ │ │ └── SPDLoader.hpp │ │ │ ├── Converter/ │ │ │ │ ├── Calculate.cpp │ │ │ │ ├── SRGBToLinear.cpp │ │ │ │ ├── VectorCalculate.cpp │ │ │ │ ├── VectorMerge.cpp │ │ │ │ └── VectorSplit.cpp │ │ │ ├── IMaterialNode.hpp │ │ │ ├── Input/ │ │ │ │ ├── RGB.cpp │ │ │ │ └── SurfaceInteraction.cpp │ │ │ ├── Output/ │ │ │ │ └── MaterialOutput.cpp │ │ │ ├── Texture/ │ │ │ │ └── ImageTexture.cpp │ │ │ └── xmake.lua │ │ ├── RHI/ │ │ │ ├── CUDA/ │ │ │ │ ├── Buffer.cpp │ │ │ │ ├── Buffer.hpp │ │ │ │ ├── CUDA.cpp │ │ │ │ ├── Command.cpp │ │ │ │ ├── Command.hpp │ │ │ │ ├── Descriptor.cpp │ │ │ │ ├── Descriptor.hpp │ │ │ │ ├── Device.cpp │ │ │ │ ├── Device.hpp │ │ │ │ ├── Frame.cpp │ │ │ │ ├── Frame.hpp │ │ │ │ ├── Fwd.hpp │ │ │ │ ├── PipelineState.cpp │ │ │ │ ├── PipelineState.hpp │ │ │ │ ├── Profiler.cpp │ │ │ │ ├── Profiler.hpp │ │ │ │ ├── Queue.cpp │ │ │ │ ├── Queue.hpp │ │ │ │ ├── Sampler.cpp │ │ │ │ ├── Sampler.hpp │ │ │ │ ├── Shader.cpp │ │ │ │ ├── Shader.hpp │ │ │ │ ├── Synchronization.cpp │ │ │ │ ├── Synchronization.hpp │ │ │ │ ├── Texture.cpp │ │ │ │ └── Texture.hpp │ │ │ ├── Vulkan/ │ │ │ │ ├── AccelerationStructure.cpp │ │ │ │ ├── AccelerationStructure.hpp │ │ │ │ ├── Buffer.cpp │ │ │ │ ├── Buffer.hpp │ │ │ │ ├── Command.cpp │ │ │ │ ├── Command.hpp │ │ │ │ ├── Definitions.cpp │ │ │ │ ├── Definitions.hpp │ │ │ │ ├── Descriptor.cpp │ │ │ │ ├── Descriptor.hpp │ │ │ │ ├── Device.cpp │ │ │ │ ├── Device.hpp │ │ │ │ ├── Frame.cpp │ │ │ │ ├── Frame.hpp │ │ │ │ ├── Fwd.cpp │ │ │ │ ├── Fwd.hpp │ │ │ │ ├── PipelineState.cpp │ │ │ │ ├── PipelineState.hpp │ │ │ │ ├── Profiler.cpp │ │ │ │ ├── Profiler.hpp │ │ │ │ ├── Queue.cpp │ │ │ │ ├── Queue.hpp │ │ │ │ ├── RenderTarget.cpp │ │ │ │ ├── RenderTarget.hpp │ │ │ │ ├── Sampler.cpp │ │ │ │ ├── Sampler.hpp │ │ │ │ ├── Shader.cpp │ │ │ │ ├── Shader.hpp │ │ │ │ ├── Swapchain.cpp │ │ │ │ ├── Swapchain.hpp │ │ │ │ ├── Synchronization.cpp │ │ │ │ ├── Synchronization.hpp │ │ │ │ ├── Texture.cpp │ │ │ │ ├── Texture.hpp │ │ │ │ ├── Vulkan.cpp │ │ │ │ └── vk_mem_alloc.h │ │ │ └── xmake.lua │ │ ├── RenderPass/ │ │ │ ├── Bloom.cpp │ │ │ ├── CompositePass.cpp │ │ │ ├── CopyImageRGBA16.cpp │ │ │ ├── Debug.cpp │ │ │ ├── Deferred.cpp │ │ │ ├── FXAA.cpp │ │ │ ├── Forward.cpp │ │ │ ├── ForwardPlus.cpp │ │ │ ├── IBL.cpp │ │ │ ├── IPass.hpp │ │ │ ├── PassData.hpp │ │ │ ├── PathTracing.cpp │ │ │ ├── Present.cpp │ │ │ ├── RayTracedAO.cpp │ │ │ ├── RayTracingReflection.cpp │ │ │ ├── RayTracingShadow.cpp │ │ │ ├── SSAO.cpp │ │ │ ├── ShadowMapPass.cpp │ │ │ ├── SkyboxPass.cpp │ │ │ ├── Tonemapping.cpp │ │ │ ├── Triangle.cpp │ │ │ ├── VisibilityBufferVisualization.cpp │ │ │ ├── VisibilityGeometryPass.cpp │ │ │ ├── VisibilityLightingPass.cpp │ │ │ └── xmake.lua │ │ └── xmake.lua │ ├── Runtime/ │ │ ├── Core/ │ │ │ ├── Private/ │ │ │ │ ├── JobSystem.cpp │ │ │ │ ├── Log.cpp │ │ │ │ ├── Path.cpp │ │ │ │ ├── Plugin.cpp │ │ │ │ ├── Time.cpp │ │ │ │ ├── Variant.cpp │ │ │ │ └── Window.cpp │ │ │ ├── Public/ │ │ │ │ └── Core/ │ │ │ │ ├── API.hpp │ │ │ │ ├── Container.hpp │ │ │ │ ├── Core.hpp │ │ │ │ ├── Delegates.hpp │ │ │ │ ├── Hash.hpp │ │ │ │ ├── Input.hpp │ │ │ │ ├── JobSystem.hpp │ │ │ │ ├── Log.hpp │ │ │ │ ├── PRECOMPILE.HPP │ │ │ │ ├── Path.hpp │ │ │ │ ├── Plugin.hpp │ │ │ │ ├── Time.hpp │ │ │ │ ├── Variant.hpp │ │ │ │ └── Window.hpp │ │ │ └── xmake.lua │ │ ├── Geometry/ │ │ │ ├── Private/ │ │ │ │ ├── AABB.cpp │ │ │ │ ├── Mesh/ │ │ │ │ │ ├── EMesh.cpp │ │ │ │ │ ├── FMesh.cpp │ │ │ │ │ ├── HEMesh.cpp │ │ │ │ │ └── Mesh.cpp │ │ │ │ └── MeshProcess.cpp │ │ │ ├── Public/ │ │ │ │ └── Geometry/ │ │ │ │ ├── AABB.hpp │ │ │ │ ├── Mesh/ │ │ │ │ │ ├── EMesh.hpp │ │ │ │ │ ├── FMesh.hpp │ │ │ │ │ ├── HEMesh.hpp │ │ │ │ │ └── Mesh.hpp │ │ │ │ ├── MeshProcess.hpp │ │ │ │ ├── Meshlet.hpp │ │ │ │ └── Precompile.hpp │ │ │ └── xmake.lua │ │ ├── RHI/ │ │ │ ├── Private/ │ │ │ │ ├── RHIAccelerationStructure.cpp │ │ │ │ ├── RHIBuffer.cpp │ │ │ │ ├── RHICommand.cpp │ │ │ │ ├── RHIContext.cpp │ │ │ │ ├── RHIDescriptor.cpp │ │ │ │ ├── RHIDevice.cpp │ │ │ │ ├── RHIFrame.cpp │ │ │ │ ├── RHIPipelineState.cpp │ │ │ │ ├── RHIProfiler.cpp │ │ │ │ ├── RHIQueue.cpp │ │ │ │ ├── RHIRenderTarget.cpp │ │ │ │ ├── RHISampler.cpp │ │ │ │ ├── RHIShader.cpp │ │ │ │ ├── RHISwapchain.cpp │ │ │ │ ├── RHISynchronization.cpp │ │ │ │ └── RHITexture.cpp │ │ │ └── Public/ │ │ │ └── RHI/ │ │ │ ├── Fwd.hpp │ │ │ ├── RHIAccelerationStructure.hpp │ │ │ ├── RHIBuffer.hpp │ │ │ ├── RHICommand.hpp │ │ │ ├── RHIContext.hpp │ │ │ ├── RHIDefinitions.hpp │ │ │ ├── RHIDescriptor.hpp │ │ │ ├── RHIDevice.hpp │ │ │ ├── RHIFrame.hpp │ │ │ ├── RHIPipelineState.hpp │ │ │ ├── RHIProfiler.hpp │ │ │ ├── RHIQueue.hpp │ │ │ ├── RHIRenderTarget.hpp │ │ │ ├── RHISampler.hpp │ │ │ ├── RHIShader.hpp │ │ │ ├── RHISwapchain.hpp │ │ │ ├── RHISynchronization.hpp │ │ │ └── RHITexture.hpp │ │ ├── Render/ │ │ │ ├── Material/ │ │ │ │ ├── Private/ │ │ │ │ │ └── Material/ │ │ │ │ │ ├── MaterialCompiler.cpp │ │ │ │ │ ├── MaterialData.cpp │ │ │ │ │ ├── MaterialGraph.cpp │ │ │ │ │ ├── MaterialNode.cpp │ │ │ │ │ └── Spectrum.cpp │ │ │ │ └── Public/ │ │ │ │ └── Material/ │ │ │ │ ├── MaterialCompiler.hpp │ │ │ │ ├── MaterialData.hpp │ │ │ │ ├── MaterialGraph.hpp │ │ │ │ ├── MaterialNode.hpp │ │ │ │ └── Spectrum.hpp │ │ │ ├── RenderGraph/ │ │ │ │ ├── Private/ │ │ │ │ │ ├── RenderGraph.cpp │ │ │ │ │ ├── RenderGraphBlackboard.cpp │ │ │ │ │ ├── RenderGraphBuilder.cpp │ │ │ │ │ └── RenderPass.cpp │ │ │ │ └── Public/ │ │ │ │ └── RenderGraph/ │ │ │ │ ├── Impl/ │ │ │ │ │ └── RenderGraphBuilder.inl │ │ │ │ ├── Precompile.hpp │ │ │ │ ├── RenderGraph.hpp │ │ │ │ ├── RenderGraphBlackboard.hpp │ │ │ │ ├── RenderGraphBuilder.hpp │ │ │ │ └── RenderPass.hpp │ │ │ ├── Renderer/ │ │ │ │ ├── Private/ │ │ │ │ │ └── Renderer.cpp │ │ │ │ └── Public/ │ │ │ │ └── Renderer/ │ │ │ │ ├── RenderData.hpp │ │ │ │ └── Renderer.hpp │ │ │ ├── ShaderCompiler/ │ │ │ │ ├── Private/ │ │ │ │ │ ├── ShaderBuilder.cpp │ │ │ │ │ ├── ShaderCompiler.cpp │ │ │ │ │ └── SpirvReflection.cpp │ │ │ │ └── Public/ │ │ │ │ └── ShaderCompiler/ │ │ │ │ ├── Precompile.hpp │ │ │ │ ├── ShaderBuilder.hpp │ │ │ │ ├── ShaderCompiler.hpp │ │ │ │ └── SpirvReflection.hpp │ │ │ └── xmake.lua │ │ ├── Resource/ │ │ │ ├── Private/ │ │ │ │ └── Resource/ │ │ │ │ ├── Importer.cpp │ │ │ │ ├── Resource/ │ │ │ │ │ ├── Animation.cpp │ │ │ │ │ ├── Material.cpp │ │ │ │ │ ├── Mesh.cpp │ │ │ │ │ ├── Prefab.cpp │ │ │ │ │ ├── RenderPipeline.cpp │ │ │ │ │ ├── Scene.cpp │ │ │ │ │ ├── SkinnedMesh.cpp │ │ │ │ │ ├── Texture2D.cpp │ │ │ │ │ └── TextureCube.cpp │ │ │ │ ├── Resource.cpp │ │ │ │ └── ResourceManager.cpp │ │ │ └── Public/ │ │ │ └── Resource/ │ │ │ ├── Importer.hpp │ │ │ ├── Resource/ │ │ │ │ ├── Animation.hpp │ │ │ │ ├── Material.hpp │ │ │ │ ├── Mesh.hpp │ │ │ │ ├── Prefab.hpp │ │ │ │ ├── RenderPipeline.hpp │ │ │ │ ├── Scene.hpp │ │ │ │ ├── SkinnedMesh.hpp │ │ │ │ ├── Texture2D.hpp │ │ │ │ └── TextureCube.hpp │ │ │ ├── Resource.hpp │ │ │ └── ResourceManager.hpp │ │ ├── Scene/ │ │ │ ├── Private/ │ │ │ │ └── Scene/ │ │ │ │ ├── Component.cpp │ │ │ │ ├── Components/ │ │ │ │ │ ├── AllComponents.cpp │ │ │ │ │ ├── Camera/ │ │ │ │ │ │ ├── Camera.cpp │ │ │ │ │ │ ├── OrthographicCamera.cpp │ │ │ │ │ │ └── PerspectiveCamera.cpp │ │ │ │ │ ├── Light/ │ │ │ │ │ │ ├── DirectionalLight.cpp │ │ │ │ │ │ ├── EnvironmentLight.cpp │ │ │ │ │ │ ├── Light.cpp │ │ │ │ │ │ ├── PointLight.cpp │ │ │ │ │ │ ├── RectLight.cpp │ │ │ │ │ │ └── SpotLight.cpp │ │ │ │ │ ├── Renderable/ │ │ │ │ │ │ ├── MeshRenderer.cpp │ │ │ │ │ │ ├── Renderable.cpp │ │ │ │ │ │ └── SkinnedMeshRenderer.cpp │ │ │ │ │ └── Transform.cpp │ │ │ │ ├── Node.cpp │ │ │ │ └── Scene.cpp │ │ │ └── Public/ │ │ │ └── Scene/ │ │ │ ├── Component.hpp │ │ │ ├── Components/ │ │ │ │ ├── AllComponents.hpp │ │ │ │ ├── Camera/ │ │ │ │ │ ├── Camera.hpp │ │ │ │ │ ├── OrthographicCamera.hpp │ │ │ │ │ └── PerspectiveCamera.hpp │ │ │ │ ├── Light/ │ │ │ │ │ ├── DirectionalLight.hpp │ │ │ │ │ ├── EnvironmentLight.hpp │ │ │ │ │ ├── Light.hpp │ │ │ │ │ ├── PointLight.hpp │ │ │ │ │ ├── RectLight.hpp │ │ │ │ │ └── SpotLight.hpp │ │ │ │ ├── Renderable/ │ │ │ │ │ ├── MeshRenderer.hpp │ │ │ │ │ ├── Renderable.hpp │ │ │ │ │ └── SkinnedMeshRenderer.hpp │ │ │ │ └── Transform.hpp │ │ │ ├── Node.hpp │ │ │ └── Scene.hpp │ │ └── xmake.lua │ ├── Shaders/ │ │ ├── AmbientOcclusion/ │ │ │ ├── RayTracedAO.hlsl │ │ │ └── SSAO.hlsl │ │ ├── Attribute.hlsli │ │ ├── Common.hlsli │ │ ├── Complex.hlsli │ │ ├── Editor/ │ │ │ ├── AnimationEditor/ │ │ │ │ └── DrawSkeleton.hlsl │ │ │ ├── AnimationEditor.hlsl │ │ │ ├── MaterialEditor.hlsl │ │ │ ├── MeshEditor.hlsl │ │ │ └── Preview/ │ │ │ ├── Material.hlsl │ │ │ └── Mesh.hlsl │ │ ├── GlobalIllumination/ │ │ │ └── DDGI.hlsl │ │ ├── ImGui.hlsl │ │ ├── Interaction.hlsli │ │ ├── Light.hlsli │ │ ├── Material/ │ │ │ ├── BSDF/ │ │ │ │ ├── BSDF.hlsli │ │ │ │ ├── ConductorBSDF.hlsli │ │ │ │ ├── DielectricBSDF.hlsli │ │ │ │ ├── DiffuseBSDF.hlsli │ │ │ │ ├── DisneyBSDF.hlsli │ │ │ │ ├── LayeredBSDF.hlsli │ │ │ │ └── ThinDielectricBSDF.hlsli │ │ │ ├── Fresnel.hlsli │ │ │ ├── Material/ │ │ │ │ ├── ConductorMaterial.hlsli │ │ │ │ ├── DielectricMaterial.hlsli │ │ │ │ ├── DiffuseMaterial.hlsli │ │ │ │ ├── DisneyMaterial.hlsli │ │ │ │ ├── MaskedMaterial.hlsli │ │ │ │ ├── MixMaterial.hlsli │ │ │ │ └── ThinDielectricMaterial.hlsli │ │ │ ├── Material.hlsli │ │ │ ├── Scattering.hlsli │ │ │ └── Template.material.hlsli │ │ ├── Material.hlsli │ │ ├── MaterialResource.hlsli │ │ ├── Math.hlsli │ │ ├── PostProcess/ │ │ │ ├── Bloom.hlsl │ │ │ ├── FXAA.hlsl │ │ │ └── Tonemapping.hlsl │ │ ├── PreProcess/ │ │ │ ├── EquirectangularToCubemap.hlsl │ │ │ └── GGXBRDFLUT.hlsl │ │ ├── Random.hlsli │ │ ├── RayTracing/ │ │ │ ├── BidirectionalPathTracing.hlsl │ │ │ └── PathTracing.hlsl │ │ ├── Reflection/ │ │ │ └── RayTracedReflection.hlsl │ │ ├── RenderPath/ │ │ │ ├── VisibilityBufferVisualization.hlsl │ │ │ ├── VisibilityGeometryPass.hlsl │ │ │ └── VisibilityLightingPass.hlsl │ │ ├── Shading/ │ │ │ ├── Composite.hlsl │ │ │ ├── IBL.hlsl │ │ │ └── Skybox.hlsl │ │ ├── Shadow/ │ │ │ ├── CascadeShadowMap.hlsl │ │ │ ├── OmniShadowMap.hlsl │ │ │ ├── RayTracedShadow.hlsl │ │ │ └── ShadowMap.hlsl │ │ ├── SphericalHarmonic.hlsli │ │ ├── Tonemapper.hlsli │ │ └── UpdateBoneMatrics.hlsl │ └── xmake.lua ├── imgui.ini ├── xmake/ │ ├── module.lua │ ├── plugin.lua │ ├── rule.lua │ └── shader.lua └── xmake.lua