gitextract__bnw7v4u/ ├── .clang-format ├── .clang-tidy ├── .gitattributes ├── .gitignore ├── CMake/ │ ├── Common.cmake │ ├── Config.cmake.in │ └── Target.cmake ├── CMakeLists.txt ├── Editor/ │ ├── CMakeLists.txt │ ├── Include/ │ │ └── Editor/ │ │ ├── EditorEngine.h │ │ ├── EditorModule.h │ │ ├── Qt/ │ │ │ ├── EngineSerialization.h │ │ │ ├── JsonSerialization.h │ │ │ └── MirrorTemplateView.h │ │ ├── WebUIServer.h │ │ └── Widget/ │ │ ├── Editor.h │ │ ├── GraphicsSampleWidget.h │ │ ├── GraphicsWidget.h │ │ ├── ProjectHub.h │ │ └── WebWidget.h │ ├── Resource/ │ │ └── ProjectTemplates/ │ │ └── Default/ │ │ └── CMakeLists.txt │ ├── Shader/ │ │ └── GraphicsWindowSample.esl │ ├── Src/ │ │ ├── EditorEngine.cpp │ │ ├── EditorModule.cpp │ │ ├── Main.cpp │ │ ├── Qt/ │ │ │ └── MirrorTemplateView.cpp │ │ ├── WebUIServer.cpp │ │ └── Widget/ │ │ ├── Editor.cpp │ │ ├── GraphicsSampleWidget.cpp │ │ ├── GraphicsWidget.cpp │ │ ├── ProjectHub.cpp │ │ └── WebWidget.cpp │ └── Web/ │ ├── .gitignore │ ├── .npmrc │ ├── LICENSE │ ├── eslint.config.mjs │ ├── index.html │ ├── package.json │ ├── postcss.config.js │ ├── src/ │ │ ├── App.tsx │ │ ├── main.tsx │ │ ├── pages/ │ │ │ └── project-hub.tsx │ │ ├── provider.tsx │ │ ├── qwebchannel.d.ts │ │ ├── qwebchannel.js │ │ ├── styles/ │ │ │ └── globals.css │ │ └── vite-env.d.ts │ ├── tailwind.config.js │ ├── tsconfig.json │ ├── tsconfig.node.json │ ├── vercel.json │ └── vite.config.ts ├── Engine/ │ ├── CMakeLists.txt │ ├── Shader/ │ │ ├── BasePassPS.esl │ │ ├── BasePassVS.esl │ │ └── Platform.esh │ └── Source/ │ ├── CMakeLists.txt │ ├── Common/ │ │ ├── CMakeLists.txt │ │ ├── Include/ │ │ │ └── Common/ │ │ │ ├── Concepts.h │ │ │ ├── Concurrent.h │ │ │ ├── Container.h │ │ │ ├── Debug.h │ │ │ ├── Delegate.h │ │ │ ├── DynamicLibrary.h │ │ │ ├── File.h │ │ │ ├── FileSystem.h │ │ │ ├── Hash.h │ │ │ ├── IO.h │ │ │ ├── Math/ │ │ │ │ ├── Box.h │ │ │ │ ├── Color.h │ │ │ │ ├── Common.h │ │ │ │ ├── Half.h │ │ │ │ ├── Math.h │ │ │ │ ├── Matrix.h │ │ │ │ ├── Projection.h │ │ │ │ ├── Quaternion.h │ │ │ │ ├── Rect.h │ │ │ │ ├── Sphere.h │ │ │ │ ├── Transform.h │ │ │ │ ├── Vector.h │ │ │ │ └── View.h │ │ │ ├── Memory.h │ │ │ ├── Platform.h │ │ │ ├── Serialization.h │ │ │ ├── String.h │ │ │ ├── Time.h │ │ │ └── Utility.h │ │ ├── Src/ │ │ │ ├── Concurrent.cpp │ │ │ ├── Debug.cpp │ │ │ ├── DynamicLibrary.cpp │ │ │ ├── File.cpp │ │ │ ├── FileSystem.cpp │ │ │ ├── Hash.cpp │ │ │ ├── IO.cpp │ │ │ ├── Math/ │ │ │ │ └── Color.cpp │ │ │ ├── Platform.cpp │ │ │ ├── Serialization.cpp │ │ │ ├── String.cpp │ │ │ └── Time.cpp │ │ └── Test/ │ │ ├── ConcurrentTest.cpp │ │ ├── ContainerTest.cpp │ │ ├── DelegateTest.cpp │ │ ├── FileSystemTest.cpp │ │ ├── FileTest.cpp │ │ ├── HashTest.cpp │ │ ├── MathTest.cpp │ │ ├── MemoryTest.cpp │ │ ├── SerializationTest.cpp │ │ ├── SerializationTest.h │ │ ├── StringTest.cpp │ │ └── UtilityTest.cpp │ ├── Core/ │ │ ├── CMakeLists.txt │ │ ├── Include/ │ │ │ └── Core/ │ │ │ ├── Cmdline.h │ │ │ ├── Console.h │ │ │ ├── Log.h │ │ │ ├── Module.h │ │ │ ├── Paths.h │ │ │ ├── Thread.h │ │ │ └── Uri.h │ │ ├── Src/ │ │ │ ├── Cmdline.cpp │ │ │ ├── Console.cpp │ │ │ ├── Log.cpp │ │ │ ├── Module.cpp │ │ │ ├── Paths.cpp │ │ │ ├── Thread.cpp │ │ │ └── Uri.cpp │ │ ├── Template/ │ │ │ └── EngineVersion.h.in │ │ └── Test/ │ │ ├── CmdlineTest.cpp │ │ ├── ConsoleTest.cpp │ │ └── UriTest.cpp │ ├── Launch/ │ │ ├── CMakeLists.txt │ │ ├── Include/ │ │ │ └── Launch/ │ │ │ ├── GameApplication.h │ │ │ ├── GameClient.h │ │ │ └── GameViewport.h │ │ └── Src/ │ │ ├── GameApplication.cpp │ │ ├── GameClient.cpp │ │ ├── GameViewport.cpp │ │ └── Main.cpp │ ├── Mirror/ │ │ ├── CMakeLists.txt │ │ ├── Include/ │ │ │ └── Mirror/ │ │ │ ├── Meta.h │ │ │ ├── Mirror.h │ │ │ └── Registry.h │ │ ├── Src/ │ │ │ ├── Mirror.cpp │ │ │ └── Registry.cpp │ │ └── Test/ │ │ ├── AnyTest.cpp │ │ ├── AnyTest.h │ │ ├── RegistryTest.cpp │ │ ├── RegistryTest.h │ │ ├── SerializationTest.cpp │ │ ├── SerializationTest.h │ │ └── TypeInfoTest.cpp │ ├── RHI/ │ │ ├── CMakeLists.txt │ │ ├── Include/ │ │ │ └── RHI/ │ │ │ ├── BindGroup.h │ │ │ ├── BindGroupLayout.h │ │ │ ├── Buffer.h │ │ │ ├── BufferView.h │ │ │ ├── CommandBuffer.h │ │ │ ├── CommandRecorder.h │ │ │ ├── Common.h │ │ │ ├── Device.h │ │ │ ├── Gpu.h │ │ │ ├── Instance.h │ │ │ ├── Pipeline.h │ │ │ ├── PipelineLayout.h │ │ │ ├── Queue.h │ │ │ ├── RHI.h │ │ │ ├── RHIModule.h │ │ │ ├── Sampler.h │ │ │ ├── ShaderModule.h │ │ │ ├── Surface.h │ │ │ ├── SwapChain.h │ │ │ ├── Synchronous.h │ │ │ ├── Texture.h │ │ │ └── TextureView.h │ │ └── Src/ │ │ ├── BindGroup.cpp │ │ ├── BindGroupLayout.cpp │ │ ├── Buffer.cpp │ │ ├── BufferView.cpp │ │ ├── CommandBuffer.cpp │ │ ├── CommandRecorder.cpp │ │ ├── Common.cpp │ │ ├── Device.cpp │ │ ├── Gpu.cpp │ │ ├── Instance.cpp │ │ ├── Pipeline.cpp │ │ ├── PipelineLayout.cpp │ │ ├── Queue.cpp │ │ ├── RHIModule.cpp │ │ ├── Sampler.cpp │ │ ├── ShaderModule.cpp │ │ ├── Surface.cpp │ │ ├── SwapChain.cpp │ │ ├── Synchronous.cpp │ │ ├── Texture.cpp │ │ └── TextureView.cpp │ ├── RHI-DirectX12/ │ │ ├── CMakeLists.txt │ │ ├── Include/ │ │ │ └── RHI/ │ │ │ └── DirectX12/ │ │ │ ├── BindGroup.h │ │ │ ├── BindGroupLayout.h │ │ │ ├── Buffer.h │ │ │ ├── BufferView.h │ │ │ ├── CommandBuffer.h │ │ │ ├── CommandRecorder.h │ │ │ ├── Common.h │ │ │ ├── DX12RHIModule.h │ │ │ ├── Device.h │ │ │ ├── Gpu.h │ │ │ ├── Instance.h │ │ │ ├── Pipeline.h │ │ │ ├── PipelineLayout.h │ │ │ ├── Queue.h │ │ │ ├── Sampler.h │ │ │ ├── ShaderModule.h │ │ │ ├── Surface.h │ │ │ ├── SwapChain.h │ │ │ ├── Synchronous.h │ │ │ ├── Texture.h │ │ │ └── TextureView.h │ │ └── Src/ │ │ ├── BindGroup.cpp │ │ ├── BindGroupLayout.cpp │ │ ├── Buffer.cpp │ │ ├── BufferView.cpp │ │ ├── CommandBuffer.cpp │ │ ├── CommandRecorder.cpp │ │ ├── Common.cpp │ │ ├── DX12RHIModule.cpp │ │ ├── Device.cpp │ │ ├── Gpu.cpp │ │ ├── Instance.cpp │ │ ├── Pipeline.cpp │ │ ├── PipelineLayout.cpp │ │ ├── Queue.cpp │ │ ├── Sampler.cpp │ │ ├── ShaderModule.cpp │ │ ├── Surface.cpp │ │ ├── SwapChain.cpp │ │ ├── Synchronous.cpp │ │ ├── Texture.cpp │ │ └── TextureView.cpp │ ├── RHI-Dummy/ │ │ ├── CMakeLists.txt │ │ ├── Include/ │ │ │ └── RHI/ │ │ │ └── Dummy/ │ │ │ ├── BindGroup.h │ │ │ ├── BindGroupLayout.h │ │ │ ├── Buffer.h │ │ │ ├── BufferView.h │ │ │ ├── CommandBuffer.h │ │ │ ├── CommandRecorder.h │ │ │ ├── Device.h │ │ │ ├── DummyRHIModule.h │ │ │ ├── Gpu.h │ │ │ ├── Instance.h │ │ │ ├── Pipeline.h │ │ │ ├── PipelineLayout.h │ │ │ ├── Queue.h │ │ │ ├── Sampler.h │ │ │ ├── ShaderModule.h │ │ │ ├── Surface.h │ │ │ ├── SwapChain.h │ │ │ ├── Synchronous.h │ │ │ ├── Texture.h │ │ │ └── TextureView.h │ │ └── Src/ │ │ ├── BindGroup.cpp │ │ ├── BindGroupLayout.cpp │ │ ├── Buffer.cpp │ │ ├── BufferView.cpp │ │ ├── CommandBuffer.cpp │ │ ├── CommandRecorder.cpp │ │ ├── Device.cpp │ │ ├── DummyRHIModule.cpp │ │ ├── Gpu.cpp │ │ ├── Instance.cpp │ │ ├── Pipeline.cpp │ │ ├── PipelineLayout.cpp │ │ ├── Queue.cpp │ │ ├── Sampler.cpp │ │ ├── ShaderModule.cpp │ │ ├── Surface.cpp │ │ ├── SwapChain.cpp │ │ ├── Synchronous.cpp │ │ ├── Texture.cpp │ │ └── TextureView.cpp │ ├── RHI-Vulkan/ │ │ ├── CMakeLists.txt │ │ ├── Include/ │ │ │ └── RHI/ │ │ │ └── Vulkan/ │ │ │ ├── BindGroup.h │ │ │ ├── BindGroupLayout.h │ │ │ ├── Buffer.h │ │ │ ├── BufferView.h │ │ │ ├── CommandBuffer.h │ │ │ ├── CommandRecorder.h │ │ │ ├── Common.h │ │ │ ├── Device.h │ │ │ ├── Gpu.h │ │ │ ├── Instance.h │ │ │ ├── Pipeline.h │ │ │ ├── PipelineLayout.h │ │ │ ├── Queue.h │ │ │ ├── Sampler.h │ │ │ ├── ShaderModule.h │ │ │ ├── Surface.h │ │ │ ├── SwapChain.h │ │ │ ├── Synchronous.h │ │ │ ├── Texture.h │ │ │ ├── TextureView.h │ │ │ └── VulkanRHIModule.h │ │ └── Src/ │ │ ├── BindGroup.cpp │ │ ├── BindGroupLayout.cpp │ │ ├── Buffer.cpp │ │ ├── BufferView.cpp │ │ ├── CommandBuffer.cpp │ │ ├── CommandRecorder.cpp │ │ ├── Device.cpp │ │ ├── Gpu.cpp │ │ ├── Instance.cpp │ │ ├── Pipeline.cpp │ │ ├── PipelineLayout.cpp │ │ ├── Platform/ │ │ │ ├── MacosSurface.mm │ │ │ └── Win32Surface.cpp │ │ ├── Queue.cpp │ │ ├── Sampler.cpp │ │ ├── ShaderModule.cpp │ │ ├── Surface.cpp │ │ ├── SwapChain.cpp │ │ ├── Synchronous.cpp │ │ ├── Texture.cpp │ │ ├── TextureView.cpp │ │ ├── VmaImport.cpp │ │ └── VulkanRHIModule.cpp │ ├── Render/ │ │ ├── CMakeLists.txt │ │ ├── Include/ │ │ │ └── Render/ │ │ │ ├── RenderCache.h │ │ │ ├── RenderGraph.h │ │ │ ├── RenderModule.h │ │ │ ├── RenderThread.h │ │ │ ├── Renderer.h │ │ │ ├── ResourcePool.h │ │ │ ├── Scene.h │ │ │ ├── SceneProxy/ │ │ │ │ ├── Light.h │ │ │ │ └── Primitive.h │ │ │ ├── Shader.h │ │ │ ├── ShaderCompiler.h │ │ │ └── View.h │ │ ├── SharedSrc/ │ │ │ └── RenderModule.cpp │ │ ├── Src/ │ │ │ ├── RenderCache.cpp │ │ │ ├── RenderGraph.cpp │ │ │ ├── RenderThread.cpp │ │ │ ├── Renderer.cpp │ │ │ ├── Scene.cpp │ │ │ ├── Shader.cpp │ │ │ ├── ShaderCompiler.cpp │ │ │ └── View.cpp │ │ └── Test/ │ │ ├── ResourcePoolTest.cpp │ │ └── ShaderTest.cpp │ ├── Runtime/ │ │ ├── CMakeLists.txt │ │ ├── Include/ │ │ │ └── Runtime/ │ │ │ ├── Asset/ │ │ │ │ ├── Asset.h │ │ │ │ ├── Level.h │ │ │ │ ├── Material.h │ │ │ │ ├── Mesh.h │ │ │ │ └── Texture.h │ │ │ ├── Client.h │ │ │ ├── Component/ │ │ │ │ ├── Camera.h │ │ │ │ ├── Light.h │ │ │ │ ├── Player.h │ │ │ │ ├── Primitive.h │ │ │ │ ├── Scene.h │ │ │ │ └── Transform.h │ │ │ ├── ECS.h │ │ │ ├── Engine.h │ │ │ ├── GameModule.h │ │ │ ├── GameThread.h │ │ │ ├── Meta.h │ │ │ ├── RenderThreadPtr.h │ │ │ ├── RuntimeModule.h │ │ │ ├── Settings/ │ │ │ │ ├── Game.h │ │ │ │ └── Registry.h │ │ │ ├── System/ │ │ │ │ ├── Player.h │ │ │ │ ├── Render.h │ │ │ │ ├── Scene.h │ │ │ │ └── Transform.h │ │ │ ├── SystemGraphPresets.h │ │ │ ├── Viewport.h │ │ │ └── World.h │ │ ├── Src/ │ │ │ ├── Asset/ │ │ │ │ ├── Asset.cpp │ │ │ │ ├── Level.cpp │ │ │ │ ├── Material.cpp │ │ │ │ ├── Mesh.cpp │ │ │ │ └── Texture.cpp │ │ │ ├── Client.cpp │ │ │ ├── Component/ │ │ │ │ ├── Camera.cpp │ │ │ │ ├── Light.cpp │ │ │ │ ├── Player.cpp │ │ │ │ ├── Primitive.cpp │ │ │ │ ├── Scene.cpp │ │ │ │ └── Transform.cpp │ │ │ ├── ECS.cpp │ │ │ ├── Engine.cpp │ │ │ ├── GameThread.cpp │ │ │ ├── RuntimeModule.cpp │ │ │ ├── Settings/ │ │ │ │ ├── Game.cpp │ │ │ │ └── Registry.cpp │ │ │ ├── System/ │ │ │ │ ├── Player.cpp │ │ │ │ ├── Render.cpp │ │ │ │ ├── Scene.cpp │ │ │ │ └── Transform.cpp │ │ │ ├── SystemGraphPresets.cpp │ │ │ ├── Viewport.cpp │ │ │ └── World.cpp │ │ └── Test/ │ │ ├── AssetTest.cpp │ │ ├── AssetTest.h │ │ ├── ECSTest.cpp │ │ ├── ECSTest.h │ │ ├── RuntimeTestModule.cpp │ │ ├── RuntimeTestModule.h │ │ ├── WorldTest.cpp │ │ └── WorldTest.h │ └── Test/ │ ├── CMakeLists.txt │ ├── Include/ │ │ └── Test/ │ │ └── Test.h │ └── Src/ │ └── Main.cpp ├── LICENSE ├── README.md ├── Sample/ │ ├── Base/ │ │ ├── Application.cpp │ │ ├── Application.h │ │ ├── Camera.cpp │ │ └── Camera.h │ ├── CMakeLists.txt │ ├── RHI-ParallelCompute/ │ │ ├── Compute.esl │ │ └── ParallelCompute.cpp │ ├── RHI-SSAO/ │ │ ├── GLTFParser.cpp │ │ ├── GLTFParser.h │ │ ├── Model/ │ │ │ └── Voyager.gltf │ │ ├── SSAOApplication.cpp │ │ └── Shader/ │ │ ├── Blur.esl │ │ ├── Composition.esl │ │ ├── Gbuffer.esl │ │ └── SSAO.esl │ ├── RHI-TexSampling/ │ │ ├── TexSampling.cpp │ │ └── TexSampling.esl │ ├── RHI-Triangle/ │ │ ├── Triangle.cpp │ │ └── Triangle.esl │ ├── Rendering-BaseTexture/ │ │ ├── BaseTexture.cpp │ │ └── BaseTexture.esl │ ├── Rendering-SSAO/ │ │ ├── GLTFParser.cpp │ │ ├── GLTFParser.h │ │ ├── Model/ │ │ │ └── Voyager.gltf │ │ ├── SSAOApplication.cpp │ │ └── Shader/ │ │ ├── Blur.esl │ │ ├── Composition.esl │ │ ├── Gbuffer.esl │ │ └── SSAO.esl │ └── Rendering-Triangle/ │ ├── Triangle.cpp │ └── Triangle.esl ├── TestProject/ │ ├── CMakeLists.txt │ └── Main.cpp ├── ThirdParty/ │ ├── ConanRecipes/ │ │ ├── README.md │ │ ├── assimp/ │ │ │ ├── conandata.yml │ │ │ ├── conanfile.py │ │ │ └── test_package/ │ │ │ ├── CMakeLists.txt │ │ │ ├── conanfile.py │ │ │ └── test_package.cpp │ │ ├── clipp/ │ │ │ ├── conandata.yml │ │ │ ├── conanfile.py │ │ │ ├── patches/ │ │ │ │ └── 0000-fix-cpp23.patch │ │ │ └── test_package/ │ │ │ ├── CMakeLists.txt │ │ │ ├── conanfile.py │ │ │ └── test_package.cpp │ │ ├── debugbreak/ │ │ │ ├── conandata.yml │ │ │ ├── conanfile.py │ │ │ └── test_package/ │ │ │ ├── CMakeLists.txt │ │ │ ├── conanfile.py │ │ │ └── test_package.cpp │ │ ├── dxc/ │ │ │ ├── conandata.yml │ │ │ ├── conanfile.py │ │ │ └── test_package/ │ │ │ ├── CMakeLists.txt │ │ │ ├── conanfile.py │ │ │ └── test_package.cpp │ │ ├── glfw/ │ │ │ ├── conandata.yml │ │ │ ├── conanfile.py │ │ │ └── test_package/ │ │ │ ├── CMakeLists.txt │ │ │ ├── conanfile.py │ │ │ └── test_package.cpp │ │ ├── libclang/ │ │ │ ├── conandata.yml │ │ │ ├── conanfile.py │ │ │ └── test_package/ │ │ │ ├── CMakeLists.txt │ │ │ ├── conanfile.py │ │ │ └── test_package.cpp │ │ ├── molten-vk/ │ │ │ ├── conandata.yml │ │ │ ├── conanfile.py │ │ │ └── test_package/ │ │ │ ├── CMakeLists.txt │ │ │ ├── conanfile.py │ │ │ └── test_package.cpp │ │ ├── qt/ │ │ │ ├── conandata.yml │ │ │ ├── conanfile.py │ │ │ ├── debug.py │ │ │ └── test_package/ │ │ │ ├── CMakeLists.txt │ │ │ ├── conanfile.py │ │ │ └── test_package.cpp │ │ ├── rapidjson/ │ │ │ ├── conandata.yml │ │ │ ├── conanfile.py │ │ │ └── test_package/ │ │ │ ├── CMakeLists.txt │ │ │ ├── conanfile.py │ │ │ └── test_package.cpp │ │ ├── vulkan-utility-libraries/ │ │ │ ├── conandata.yml │ │ │ ├── conanfile.py │ │ │ └── test_package/ │ │ │ ├── CMakeLists.txt │ │ │ ├── conanfile.py │ │ │ └── test_package.cpp │ │ └── vulkan-validationlayers/ │ │ ├── conandata.yml │ │ ├── conanfile.py │ │ ├── patches/ │ │ │ └── 0000-fix-spirv-tools-includes.patch │ │ └── test_package/ │ │ ├── CMakeLists.txt │ │ ├── conanfile.py │ │ └── test_package.cpp │ └── Registry.cmake ├── Tool/ │ ├── CMakeLists.txt │ └── MirrorTool/ │ ├── CMakeLists.txt │ ├── ExeSrc/ │ │ └── Main.cpp │ ├── Include/ │ │ └── MirrorTool/ │ │ ├── Generator.h │ │ └── Parser.h │ ├── Src/ │ │ ├── Generator.cpp │ │ └── Parser.cpp │ └── Test/ │ ├── Main.cpp │ └── MirrorToolInput.h ├── conan_provider.cmake └── conanfile.py