Luth
Data-oriented C++20 game engine with a fiber-based job system and bindless Vulkan 1.3 renderer.
File Explorer
Download Latest Version (.zip)- build.yml
- animation-system.md
- asset-pipeline.md
- editor.md
- fiber-system.md
- frame-pipeline.md
- gpu-crash-debugging.md
- memory.md
- multi-queue.md
- physics.md
- profiling.md
- rendering-pipeline.md
- scene-ecs.md
- validation-layers.md
- version-glossary.md
- TEMPLATE.md
- ARCHITECTURE.md
- COMMENT_STYLE.md
- FUTURE.md
- ROADMAP.md
- clustered-lighting.png
- emissive-area-lights.png
- ray-traced-gi.png
- skeletal-animation.gif
- subsurface-skin.png
- luth_logo.png
- luth_logo_old.png
- LuthEditor.png
- LuthEditor_v0.png
- LuthEditor_v1.png
- LuthEditor_v2.png
- LuthEditor_v3.png
- LuthEditor_v4.png
- rtshader.png
- premake5
- premake5
- premake5.exe
- LICENSE.txt
- premake5.lua
- BubbleGum.ttf
- BubbleGum.ttf.meta
- CourierPrime-Regular.ttf
- CourierPrime-Regular.ttf.meta
- HoneySalt.otf
- JetBrainsMono-Bold.ttf
- JetBrainsMono-Bold.ttf.meta
- JetBrainsMono-Regular.ttf
- JetBrainsMono-Regular.ttf.meta
- OxygenMono-Regular.ttf
- OxygenMono-Regular.ttf.meta
- Phosphor-Fill.ttf
- Phosphor-Fill.ttf.meta
- Phosphor.ttf
- Phosphor.ttf.meta
- Roboto-Regular.ttf
- Roboto-Regular.ttf.meta
- Saira-Regular.ttf
- Saira-Regular.ttf.meta
- DefaultMaterial.mat
- DefaultMaterial.mat.meta
- Material.mat
- Material.mat.meta
- DefaultMaterial.mat
- DefaultMaterial.mat.meta
- DefaultMaterial.mat
- DefaultMaterial.mat.meta
- DefaultMaterial.mat
- DefaultMaterial.mat.meta
- DefaultMaterial.mat
- DefaultMaterial.mat.meta
- DefaultMaterial.mat
- DefaultMaterial.mat.meta
- Cone.fbx
- Cone.fbx.meta
- Cube.fbx
- Cube.fbx.meta
- Cylinder.fbx
- Cylinder.fbx.meta
- Icosphere.fbx
- Icosphere.fbx.meta
- Plane.fbx
- Plane.fbx.meta
- Sphere.fbx
- Sphere.fbx.meta
- Torus.fbx
- Torus.fbx.meta
- Default.physmat
- Default.physmat.meta
- brdf.slang
- effects.slang
- froxel.slang
- globals.slang
- graph_lib.slang
- material.slang
- material_bindings_preview.slang
- material_bindings_raster.slang
- material_bindings_rt.slang
- object_data.slang
- oit_common.slang
- pbr_lighting.slang
- pbr_shade.slang
- pbr_transparent_shading.slang
- restir_common.slang
- restir_di_target.slang
- restir_gi_common.slang
- svgf_common.slang
- taa.slang
- mat_graph_registry.slang
- triangle.frag.spv
- triangle.vert.spv
- build_shaders.bat
- compile_shaders.ps1
- bilateral_upscale.slang
- bilateral_upscale.slang.meta
- bin.meta
- bloom_downsample.slang
- bloom_downsample.slang.meta
- bloom_upsample.slang
- bloom_upsample.slang.meta
- blue_noise_bake.slang
- blue_noise_bake.slang.meta
- brdf_lut.slang
- brdf_lut.slang.meta
- cluster_build.slang
- cluster_build.slang.meta
- cluster_viz.slang
- cluster_viz.slang.meta
- debugBlit.slang
- debugBlit.slang.meta
- debugDepth.slang
- debugDepth.slang.meta
- debugDraw.slang
- debugDraw.slang.meta
- debugDraw_vert.slang
- debugDraw_vert.slang.meta
- debugSlimDecode.slang
- debugSlimDecode.slang.meta
- debugSlimMatID.slang
- debugSlimMatID.slang.meta
- deform.slang
- deform.slang.meta
- depthPrepass.slang
- depthPrepass.slang.meta
- depthPrepass_skinned.slang
- depthPrepass_skinned.slang.meta
- equirect_to_cubemap.slang
- equirect_to_cubemap.slang.meta
- fullscreen.slang
- fullscreen.slang.meta
- gpu_cull.slang
- gpu_cull.slang.meta
- grid.slang
- grid.slang.meta
- gtao_denoise.slang
- gtao_denoise.slang.meta
- gtao_depth_prefilter.slang
- gtao_depth_prefilter.slang.meta
- gtao_main.slang
- gtao_main.slang.meta
- irradiance_convolve.slang
- irradiance_convolve.slang.meta
- light_assign.slang
- light_assign.slang.meta
- oit_resolve.slang
- oit_resolve.slang.meta
- outline.slang
- outline.slang.meta
- path_trace.slang
- path_trace.slang.meta
- pbr.slang
- pbr.slang.meta
- pbr_oit_store.slang
- pbr_oit_store.slang.meta
- pbr_skinned.slang
- pbr_skinned.slang.meta
- pbr_transparent.slang
- pbr_transparent.slang.meta
- pbr_vert.slang
- pbr_vert.slang.meta
- postprocess.slang
- postprocess.slang.meta
- prefilter_env.slang
- prefilter_env.slang.meta
- restir_gi_initial.slang
- restir_gi_initial.slang.meta
- restir_gi_reservoir_viz.slang
- restir_gi_reservoir_viz.slang.meta
- restir_gi_shade.slang
- restir_gi_shade.slang.meta
- restir_gi_spatial.slang
- restir_gi_spatial.slang.meta
- restir_gi_temporal.slang
- restir_gi_temporal.slang.meta
- restir_initial.slang
- restir_initial.slang.meta
- restir_shade.slang
- restir_shade.slang.meta
- restir_spatial.slang
- restir_spatial.slang.meta
- restir_temporal.slang
- restir_temporal.slang.meta
- rt_reflections.slang
- rt_reflections.slang.meta
- rt_sun_shadows.slang
- rt_sun_shadows.slang.meta
- selectionMask.slang
- selectionMask.slang.meta
- selectionMask_skinned.slang
- selectionMask_skinned.slang.meta
- selectionMask_vert.slang
- selectionMask_vert.slang.meta
- shadowDepth.slang
- shadowDepth.slang.meta
- shadowDepth_skinned.slang
- shadowDepth_skinned.slang.meta
- shadowDepth_vert.slang
- shadowDepth_vert.slang.meta
- skinning.slang
- skinning.slang.meta
- skybox.slang
- skybox.slang.meta
- skybox_vert.slang
- skybox_vert.slang.meta
- slim_gbuffer.slang
- slim_gbuffer.slang.meta
- slim_gbuffer_skinned.slang
- slim_gbuffer_skinned.slang.meta
- slim_gbuffer_vert.slang
- slim_gbuffer_vert.slang.meta
- slim_viz.slang
- slim_viz.slang.meta
- svgf_atrous.slang
- svgf_atrous.slang.meta
- svgf_moments.slang
- svgf_moments.slang.meta
- svgf_passthrough.slang
- svgf_passthrough.slang.meta
- svgf_reproject.slang
- svgf_reproject.slang.meta
- svgf_spec_reproject.slang
- svgf_spec_reproject.slang.meta
- taa_resolve.slang
- taa_resolve.slang.meta
- thumbnail_graph.slang
- thumbnail_graph.slang.meta
- thumbnail_mesh.slang
- thumbnail_mesh.slang.meta
- thumbnail_mesh_vert.slang
- thumbnail_mesh_vert.slang.meta
- volumetric_composite.slang
- volumetric_composite.slang.meta
- volumetric_inject_density.slang
- volumetric_inject_density.slang.meta
- volumetric_inject_scatter.slang
- volumetric_inject_scatter.slang.meta
- volumetric_integrate.slang
- volumetric_integrate.slang.meta
- volumetric_noise_bake.slang
- volumetric_noise_bake.slang.meta
- volumetric_resolve.slang
- volumetric_resolve.slang.meta
- volumetric_viz.slang
- volumetric_viz.slang.meta
- wireframe_overlay.slang
- wireframe_overlay.slang.meta
- Bubblegum.json
- Custom.json
- Matrix.json
- Rider.json
- Default.ini
- Default.workspace.json
- config.h
- revision.h
- zconf.h
- bc7enc.cpp
- bc7enc.h
- LICENSE
- rgbcx.cpp
- rgbcx.h
- rgbcx_table4.h
- rgbcx_table4_small.h
- entt.hpp
- LICENSE.txt
- ImApp.h
- imconfig.h
- imgui.cpp
- imgui.h
- imgui_demo.cpp
- imgui_draw.cpp
- imgui_internal.h
- imgui_tables.cpp
- imgui_widgets.cpp
- imstb_rectpack.h
- imstb_textedit.h
- imstb_truetype.h
- main.cpp
- stb_image.h
- nodeeditor.jpg
- .editorconfig
- GraphEditor.cpp
- GraphEditor.h
- ImCurveEdit.cpp
- ImCurveEdit.h
- ImGradient.cpp
- ImGradient.h
- ImGuizmo.cpp
- ImGuizmo.h
- ImSequencer.cpp
- ImSequencer.h
- ImZoomSlider.h
- LICENSE
- Makefile
- README.md
- json.hpp
- LICENSE.txt
- LICENSE.txt
- stb_image.h
- stb_image_resize.h
- stb_image_write.h
- build.yml
- emscripten.yml
- latex.yml
- linux.yml
- FUNDING.yml
- sponsor.png
- extensions.json
- launch.json
- settings.json
- capture.cpp
- CMakeLists.txt
- config.cmake
- CPM.cmake
- ECMFindModuleHelpers.cmake
- FindWaylandScanner.cmake
- gl3w-extra-symbols.patch
- imgui-emscripten.patch
- imgui-loader.patch
- ppqsort-nodebug.patch
- server.cmake
- tidy-cmake.patch
- vendor.cmake
- version.cmake
- csvexport.cpp
- CMakeLists.txt
- profiler.png
- profiler2.png
- profiler3.png
- Diff.hpp
- Diff3.hpp
- dtl.hpp
- functors.hpp
- Lcs.hpp
- Sequence.hpp
- Ses.hpp
- variables.hpp
- CMakeLists.txt
- OpenCLVectorAdd.cpp
- Atomics.h
- LockLessMultiReadPipe.h
- TaskScheduler.cpp
- TaskScheduler.h
- TaskScheduler_c.cpp
- TaskScheduler_c.h
- Threads.h
- Config.h
- Maths.cpp
- Maths.h
- MathSimd.h
- Test.cpp
- Test.h
- ComputeShader.hlsl
- PixelShader.hlsl
- TestWin.cpp
- VertexShader.hlsl
- .gitignore
- license.md
- README
- fibers.cpp
- application-tracy.xml
- tracy.desktop
- TracyMicroArchitecture.hpp
- uarch.cpp
- color-hot.cpp
- color.cpp
- dxt1divtable.c
- dxt1table.c
- identify.cpp
- make-build.sh
- natvis.py
- rdotbl.c
- update-meson-version.sh
- version.cpp
- x11_colors.c
- zigzag.svg
- zigzag01.png
- zigzag02.png
- zigzag04.png
- zigzag08.png
- zigzag16.png
- zigzag32.png
- getopt.c
- getopt.h
- application-tracy.copying
- application-tracy.svg
- icon.ico
- icon.pdf
- icon.png
- icon.svg
- import-chrome.cpp
- import-fuchsia.cpp
- CMakeLists.txt
- lmb.pdf
- lmb.svg
- mmb.pdf
- mmb.svg
- mouse.svg
- rmb.pdf
- rmb.svg
- scroll.pdf
- scroll.svg
- ryzen.png
- screenshot-hi.png
- screenshot-lo.png
- filter.lua
- latex2md.sh
- techdoc.tex
- tracy.bib
- tracy.md
- tracy.tex
- CMakeLists.txt
- embed.cpp
- FiraCode-Retina.ttf
- Font Awesome 6 Free-Solid-900.otf
- Roboto-Bold.ttf
- Roboto-BoldItalic.ttf
- Roboto-Italic.ttf
- Roboto-Regular.ttf
- system.prompt.md
- system.reminder.md
- IconsFontAwesome6.h
- TracyAchievementData.cpp
- TracyAchievements.cpp
- TracyAchievements.hpp
- TracyBadVersion.cpp
- TracyBadVersion.hpp
- TracyBuzzAnim.hpp
- TracyColor.cpp
- TracyColor.hpp
- TracyConfig.cpp
- TracyConfig.hpp
- TracyDecayValue.hpp
- TracyEmbed.cpp
- TracyEmbed.hpp
- TracyEventDebug.cpp
- TracyEventDebug.hpp
- TracyFileselector.cpp
- TracyFileselector.hpp
- TracyFilesystem.cpp
- TracyFilesystem.hpp
- TracyImGui.cpp
- TracyImGui.hpp
- TracyLlm.cpp
- TracyLlm.hpp
- TracyLlmApi.cpp
- TracyLlmApi.hpp
- TracyLlmChat.cpp
- TracyLlmChat.hpp
- TracyLlmEmbeddings.cpp
- TracyLlmEmbeddings.hpp
- TracyLlmTools.cpp
- TracyLlmTools.hpp
- TracyLockHelpers.hpp
- TracyManualData.cpp
- TracyManualData.hpp
- TracyMarkdown.cpp
- TracyMarkdown.hpp
- TracyMicroArchitecture.cpp
- TracyMicroArchitecture.hpp
- TracyMouse.cpp
- TracyMouse.hpp
- TracyProtoHistory.cpp
- TracyProtoHistory.hpp
- TracySourceContents.cpp
- TracySourceContents.hpp
- TracySourceTokenizer.cpp
- TracySourceTokenizer.hpp
- TracySourceView.cpp
- TracySourceView.hpp
- TracyStorage.cpp
- TracyStorage.hpp
- TracyTexture.cpp
- TracyTexture.hpp
- TracyTimelineContext.hpp
- TracyTimelineController.cpp
- TracyTimelineController.hpp
- TracyTimelineDraw.hpp
- TracyTimelineItem.cpp
- TracyTimelineItem.hpp
- TracyTimelineItemCpuData.cpp
- TracyTimelineItemCpuData.hpp
- TracyTimelineItemGpu.cpp
- TracyTimelineItemGpu.hpp
- TracyTimelineItemPlot.cpp
- TracyTimelineItemPlot.hpp
- TracyTimelineItemThread.cpp
- TracyTimelineItemThread.hpp
- TracyUserData.cpp
- TracyUserData.hpp
- TracyUtility.cpp
- TracyUtility.hpp
- TracyView.cpp
- TracyView.hpp
- TracyView_Annotations.cpp
- TracyView_Callstack.cpp
- TracyView_Compare.cpp
- TracyView_ConnectionState.cpp
- TracyView_ContextSwitch.cpp
- TracyView_CpuData.cpp
- TracyView_FindZone.cpp
- TracyView_FlameGraph.cpp
- TracyView_FrameOverview.cpp
- TracyView_FrameTimeline.cpp
- TracyView_FrameTree.cpp
- TracyView_GpuTimeline.cpp
- TracyView_Locks.cpp
- TracyView_Manual.cpp
- TracyView_Memory.cpp
- TracyView_Messages.cpp
- TracyView_Navigation.cpp
- TracyView_NotificationArea.cpp
- TracyView_Options.cpp
- TracyView_Playback.cpp
- TracyView_Plots.cpp
- TracyView_Ranges.cpp
- TracyView_Samples.cpp
- TracyView_Statistics.cpp
- TracyView_Timeline.cpp
- TracyView_TraceInfo.cpp
- TracyView_Utility.cpp
- TracyView_ZoneInfo.cpp
- TracyView_ZoneTimeline.cpp
- TracyViewData.hpp
- TracyWeb.cpp
- TracyWeb.hpp
- Backend.hpp
- BackendEmscripten.cpp
- BackendGlfw.cpp
- BackendWayland.cpp
- ConnectionHistory.cpp
- ConnectionHistory.hpp
- Filters.cpp
- Filters.hpp
- Fonts.cpp
- Fonts.hpp
- HttpRequest.cpp
- HttpRequest.hpp
- icon.hpp
- ImGuiContext.cpp
- ImGuiContext.hpp
- ini.c
- ini.h
- IsElevated.cpp
- IsElevated.hpp
- main.cpp
- ResolvService.cpp
- ResolvService.hpp
- RunQueue.cpp
- RunQueue.hpp
- stb_image.h
- stb_image_resize.h
- WindowPosition.cpp
- WindowPosition.hpp
- winmain.cpp
- winmainArchDiscovery.cpp
- zigzag01.hpp
- zigzag02.hpp
- zigzag04.hpp
- zigzag08.hpp
- zigzag16.hpp
- zigzag32.hpp
- httpd.py
- index.html
- Tracy.manifest
- Tracy.rc
- CMakeLists.txt
- tracy_concurrentqueue.h
- tracy_rpmalloc.cpp
- tracy_rpmalloc.hpp
- tracy_SPSCQueue.h
- TracyAlloc.cpp
- TracyArmCpuTable.hpp
- TracyCallstack.cpp
- TracyCallstack.h
- TracyCallstack.hpp
- TracyCpuid.hpp
- TracyDebug.hpp
- TracyDxt1.cpp
- TracyDxt1.hpp
- TracyFastVector.hpp
- TracyKCore.cpp
- TracyKCore.hpp
- TracyLock.hpp
- TracyOverride.cpp
- TracyProfiler.cpp
- TracyProfiler.hpp
- TracyRingBuffer.hpp
- TracyRocprof.cpp
- TracyScoped.hpp
- TracyStringHelpers.hpp
- TracySysPower.cpp
- TracySysPower.hpp
- TracySysTime.cpp
- TracySysTime.hpp
- TracySysTrace.cpp
- TracySysTrace.hpp
- TracyThread.hpp
- tracy_lz4.cpp
- tracy_lz4.hpp
- tracy_lz4hc.cpp
- tracy_lz4hc.hpp
- TracyAlign.hpp
- TracyAlloc.hpp
- TracyApi.h
- TracyColor.hpp
- TracyForceInline.hpp
- TracyMutex.hpp
- TracyProtocol.hpp
- TracyQueue.hpp
- TracySocket.cpp
- TracySocket.hpp
- TracyStackFrames.cpp
- TracyStackFrames.hpp
- TracySystem.cpp
- TracySystem.hpp
- TracyVersion.hpp
- TracyWinFamily.hpp
- TracyYield.hpp
- alloc.cpp
- backtrace.hpp
- config.h
- dwarf.cpp
- elf.cpp
- fileline.cpp
- filenames.hpp
- internal.hpp
- LICENSE
- macho.cpp
- mmapio.cpp
- posix.cpp
- sort.cpp
- state.cpp
- Tracy.hpp
- TracyC.h
- TracyCUDA.hpp
- TracyD3D11.hpp
- TracyD3D12.hpp
- TracyLua.hpp
- TracyMetal.hmm
- TracyOpenCL.hpp
- TracyOpenGL.hpp
- TracyVulkan.hpp
- TracyClient.cpp
- TracyClient.F90
- Memory.hpp
- Module.cpp
- NameBuffer.hpp
- ScopedZone.hpp
- __init__.py
- py.typed
- scoped.py
- tracy.py
- TracyClientBindings.pyi
- .gitignore
- CMakeLists.txt
- pyproject.toml
- tracy_pdqsort.h
- tracy_robin_hood.h
- tracy_xxhash.h
- TracyCharUtil.hpp
- TracyEvent.hpp
- TracyFileHeader.hpp
- TracyFileMeta.hpp
- TracyFileRead.hpp
- TracyFileWrite.hpp
- TracyMemory.cpp
- TracyMemory.hpp
- TracyMmap.cpp
- TracyMmap.hpp
- TracyPopcnt.hpp
- TracyPrint.cpp
- TracyPrint.hpp
- TracyShortPtr.hpp
- TracySlab.hpp
- TracySort.hpp
- TracySortedVector.hpp
- TracyStringDiscovery.hpp
- TracySysUtil.cpp
- TracySysUtil.hpp
- TracyTaskDispatch.cpp
- TracyTaskDispatch.hpp
- TracyTextureCompression.cpp
- TracyTextureCompression.hpp
- TracyThreadCompress.cpp
- TracyThreadCompress.hpp
- TracyVarArray.hpp
- TracyVector.hpp
- TracyWorker.cpp
- TracyWorker.hpp
- CMakeLists.txt
- image.jpg
- stb_image.h
- test.cpp
- OfflineSymbolResolver.cpp
- OfflineSymbolResolver.h
- OfflineSymbolResolverAddr2Line.cpp
- OfflineSymbolResolverDbgHelper.cpp
- update.cpp
- CMakeLists.txt
- .clang-format
- .clang-tidy
- .gitignore
- .mailmap
- CMakeLists.txt
- Config.cmake.in
- LICENSE
- meson.build
- meson.options
- NEWS
- README.md
- dxcapi.h
- WinAdapter.h
- glslang_c_interface.h
- glslang_c_shader_types.h
- ResourceLimits.h
- visibility.h
- Versions.h
- resource_limits_c.h
- ResourceLimits.h
- ShaderLang.h
- disassemble.h
- GlslangToSpv.h
- Logger.h
- spirv.hpp
- SPVRemapper.h
- SpvTools.h
- build_info.h
- env.h
- shaderc.h
- shaderc.hpp
- status.h
- visibility.h
- slang-com-helper.h
- slang-com-ptr.h
- slang-cpp-host-prelude.h
- slang-cpp-prelude.h
- slang-cpp-scalar-intrinsics.h
- slang-cpp-types-core.h
- slang-cpp-types.h
- slang-cuda-prelude.h
- slang-deprecated.h
- slang-gfx.h
- slang-hlsl-prelude.h
- slang-image-format-defs.h
- slang-llvm.h
- slang-tag-version.h
- slang-torch-prelude.h
- slang.h
- AMD_gcn_shader.h
- AMD_shader_ballot.h
- AMD_shader_explicit_vertex_parameter.h
- AMD_shader_trinary_minmax.h
- DebugInfo.h
- extinst.debuginfo.grammar.json
- extinst.glsl.std.450.grammar.json
- extinst.nonsemantic.clspvreflection.grammar.json
- extinst.nonsemantic.debugbreak.grammar.json
- extinst.nonsemantic.debugprintf.grammar.json
- extinst.nonsemantic.shader.debuginfo.100.grammar.json
- extinst.nonsemantic.vkspreflection.grammar.json
- extinst.opencl.debuginfo.100.grammar.json
- extinst.opencl.std.100.grammar.json
- extinst.spv-amd-gcn-shader.grammar.json
- extinst.spv-amd-shader-ballot.grammar.json
- extinst.spv-amd-shader-explicit-vertex-parameter.grammar.json
- extinst.spv-amd-shader-trinary-minmax.grammar.json
- GLSL.std.450.h
- NonSemanticClspvReflection.h
- NonSemanticDebugBreak.h
- NonSemanticDebugPrintf.h
- NonSemanticShaderDebugInfo100.h
- NonSemanticVkspReflection.h
- OpenCL.std.h
- OpenCLDebugInfo100.h
- spir-v.xml
- spirv.bf
- spirv.core.grammar.json
- spirv.cs
- spirv.h
- spirv.hpp
- spirv.hpp11
- spirv.json
- spirv.lua
- spirv.py
- spv.d
- libspirv.h
- libspirv.hpp
- linker.hpp
- optimizer.hpp
- GLSL.std.450.h
- spirv.h
- spirv.hpp
- spirv_cfg.hpp
- spirv_common.hpp
- spirv_cpp.hpp
- spirv_cross.hpp
- spirv_cross_c.h
- spirv_cross_containers.hpp
- spirv_cross_error_handling.hpp
- spirv_cross_parsed_ir.hpp
- spirv_cross_util.hpp
- spirv_glsl.hpp
- spirv_hlsl.hpp
- spirv_msl.hpp
- spirv_parser.hpp
- spirv_reflect.hpp
- vulkan_video_codec_av1std.h
- vulkan_video_codec_av1std_decode.h
- vulkan_video_codec_av1std_encode.h
- vulkan_video_codec_h264std.h
- vulkan_video_codec_h264std_decode.h
- vulkan_video_codec_h264std_encode.h
- vulkan_video_codec_h265std.h
- vulkan_video_codec_h265std_decode.h
- vulkan_video_codec_h265std_encode.h
- vulkan_video_codecs_common.h
- vk_mem_alloc.h
- volk.c
- volk.h
- vk_concurrent_unordered_map.hpp
- vk_format_utils.h
- vk_safe_struct.hpp
- vk_safe_struct_utils.hpp
- vk_small_containers.hpp
- vk_sparse_range_map.hpp
- vk_enum_string_helper.h
- vk_icd.h
- vk_layer.h
- vk_platform.h
- vulkan.cppm
- vulkan.h
- vulkan.hpp
- vulkan_android.h
- vulkan_beta.h
- vulkan_core.h
- vulkan_directfb.h
- vulkan_enums.hpp
- vulkan_extension_inspection.hpp
- vulkan_format_traits.hpp
- vulkan_fuchsia.h
- vulkan_funcs.hpp
- vulkan_ggp.h
- vulkan_handles.hpp
- vulkan_hash.hpp
- vulkan_hpp_macros.hpp
- vulkan_ios.h
- vulkan_macos.h
- vulkan_metal.h
- vulkan_profiles.hpp
- vulkan_raii.hpp
- vulkan_screen.h
- vulkan_shared.hpp
- vulkan_static_assertions.hpp
- vulkan_structs.hpp
- vulkan_to_string.hpp
- vulkan_vi.h
- vulkan_video.hpp
- vulkan_wayland.h
- vulkan_win32.h
- vulkan_xcb.h
- vulkan_xlib.h
- vulkan_xlib_xrandr.h
- shaderc_shared.dll
- shaderc_shared.lib
- slang-compiler.dll
- slang-compiler.lib
- slang-glsl-module.dll
- slang-glslang.dll
- slang-rt.dll
- vulkan-1.lib
- LICENSE.txt
- spirv.h
- spirv_reflect.c
- spirv_reflect.h
- assimp
- glfw
- glm
- imgui
- jolt
- spdlog
- spirv-cross
- premake5-assimp.lua
- premake5-bc7enc.lua
- premake5-glfw.lua
- premake5-glm.lua
- premake5-imgui.lua
- premake5-imguizmo.lua
- premake5-jolt.lua
- premake5-spirv-cross.lua
- premake5-tracy.lua
- Log.cpp
- Log.h
- LogFormatters.h
- Profiler.h
- StackTrace.cpp
- StackTrace.h
- Time.h
- Timer.h
- LuthMath.h
- LuthTypes.h
- TypeTraits.h
- App.cpp
- App.h
- BuildConfig.h
- DebugDraw.cpp
- DebugDraw.h
- EditorHooks.cpp
- EditorHooks.h
- EntryPoint.h
- FrameData.h
- ProjectFile.cpp
- ProjectFile.h
- RenderSnapshot.cpp
- RenderSnapshot.h
- UUID.cpp
- UUID.h
- Version.cpp
- Version.h
- AppEvent.h
- Event.h
- EventBus.h
- FileDropEvent.h
- KeyEvent.h
- MouseEvent.h
- AtomicCounter.h
- Fiber.h
- FiberPrimitive.asm
- FiberPrimitive.h
- FiberPrimitiveHelper.cpp
- FiberStackAllocator.cpp
- FiberStackAllocator.h
- IOThread.cpp
- IOThread.h
- JobSystem.cpp
- JobSystem.h
- MainThreadPump.cpp
- MainThreadPump.h
- MPMCQueue.h
- SpinLock.h
- WorkStealingDeque.h
- GlobalNewDelete.cpp
- GPUTaggedPageAllocator.cpp
- GPUTaggedPageAllocator.h
- LinearAllocator.h
- Memory.h
- MemoryMacros.h
- MemoryTracker.cpp
- MemoryTracker.h
- TaggedPageAllocator.cpp
- TaggedPageAllocator.h
- JoltMath.h
- LayerMaskFilter.h
- LuthJobSystemForJolt.cpp
- LuthJobSystemForJolt.h
- PhysicsDebugRenderer.cpp
- PhysicsDebugRenderer.h
- PhysicsEvents.h
- PhysicsLayers.h
- PhysicsListeners.cpp
- PhysicsListeners.h
- PhysicsMaterial.cpp
- PhysicsMaterial.h
- PhysicsQuery.h
- ShapeBuilder.cpp
- ShapeBuilder.h
- ShapeCache.cpp
- ShapeCache.h
- FileDialog.cpp
- FileDialog.h
- Input.cpp
- Input.h
- Window.cpp
- Window.h
- WinWindow.cpp
- WinWindow.h
- AftermathCrashTracker.cpp
- AftermathCrashTracker.h
- CommandAllocator.cpp
- CommandAllocator.h
- CommandAllocatorPool.cpp
- CommandAllocatorPool.h
- DynamicRendering.h
- GpuCheckpoint.cpp
- GpuCheckpoint.h
- GPUTimerPool.cpp
- GPUTimerPool.h
- GpuTracy.h
- PipelineCache.cpp
- PipelineCache.h
- RenderPassJob.h
- TimelineSemaphore.cpp
- TimelineSemaphore.h
- TlasBuilder.cpp
- TlasBuilder.h
- UploadContext.cpp
- UploadContext.h
- VulkanAccelerationStructure.cpp
- VulkanAccelerationStructure.h
- VulkanAllocator.cpp
- VulkanAllocator.h
- VulkanBackend.cpp
- VulkanBackend.h
- VulkanBuffer.cpp
- VulkanBuffer.h
- VulkanComputePipeline.cpp
- VulkanComputePipeline.h
- VulkanContext.cpp
- VulkanContext.h
- VulkanDescriptors.cpp
- VulkanDescriptors.h
- VulkanPipeline.cpp
- VulkanPipeline.h
- VulkanShader.cpp
- VulkanShader.h
- VulkanSwapchain.cpp
- VulkanSwapchain.h
- VulkanTexture.cpp
- VulkanTexture.h
- FrameDebuggerContext.cpp
- FrameDebuggerContext.h
- DrawCommand.h
- DrawList.h
- CascadeBuilder.cpp
- CascadeBuilder.h
- EmissiveLight.h
- EmissiveLightGatherer.cpp
- EmissiveLightGatherer.h
- FogVolumeGatherer.cpp
- FogVolumeGatherer.h
- IBLPrecompute.cpp
- IBLPrecompute.h
- LightGatherer.cpp
- LightGatherer.h
- LightTypes.h
- Material.cpp
- Material.h
- MaterialGraph.h
- MaterialGraphCodegen.cpp
- MaterialGraphCodegen.h
- MaterialLayoutGuard.cpp
- MaterialLayoutGuard.h
- MaterialSystem.cpp
- MaterialSystem.h
- ImGuiPass.cpp
- PipelineManager.cpp
- PipelineManager.h
- ArchivedImage.cpp
- ArchivedImage.h
- FrameCapture.h
- FrameEventTree.cpp
- FrameEventTree.h
- IArchiveSink.h
- RenderGraph.cpp
- RenderGraph.h
- RenderGraphResources.h
- RenderGraphSnapshot.h
- RenderResourceCache.cpp
- RenderResourceCache.h
- AnimationClip.h
- BoneMatrixBuffer.cpp
- BoneMatrixBuffer.h
- Buffer.cpp
- Buffer.h
- Mesh.cpp
- Mesh.h
- Model.cpp
- Model.h
- Skeleton.h
- Texture.cpp
- Texture.h
- EmissiveLightSettings.h
- GTAOSettings.h
- PathTraceSettings.h
- PostProcessSettings.h
- ReflectionsSettings.h
- RestirGiSettings.h
- RestirSettings.h
- SlangParitySettings.h
- SvgfSettings.h
- TransparencySettings.h
- VolumetricSettings.h
- WindSettings.h
- Shader.cpp
- Shader.h
- ShaderCompiler.cpp
- ShaderCompiler.h
- ShaderLibrary.cpp
- ShaderLibrary.h
- ShaderWatcher.cpp
- ShaderWatcher.h
- SlangCompiler.cpp
- SlangCompiler.h
- DebugDrawSubsystem.cpp
- DebugDrawSubsystem.h
- EditorOverlaysSubsystem.cpp
- EditorOverlaysSubsystem.h
- GeometrySubsystem.cpp
- GeometrySubsystem.h
- GlobalSubsystem.cpp
- GlobalSubsystem.h
- GTAOSubsystem.cpp
- GTAOSubsystem.h
- IDenoiser.h
- LightingSubsystem.cpp
- LightingSubsystem.h
- PathTraceSubsystem.cpp
- PathTraceSubsystem.h
- PostProcessSubsystem.cpp
- PostProcessSubsystem.h
- ReflectionsSubsystem.cpp
- ReflectionsSubsystem.h
- RtRestirGiSubsystem.cpp
- RtRestirGiSubsystem.h
- RtRestirSubsystem.cpp
- RtRestirSubsystem.h
- RtSubsystem.cpp
- RtSubsystem.h
- SkinningSubsystem.cpp
- SkinningSubsystem.h
- SlangParityGuard.cpp
- SlangParityGuard.h
- SvgfDenoiser.cpp
- SvgfDenoiser.h
- TransparencySubsystem.cpp
- TransparencySubsystem.h
- VolumetricSubsystem.cpp
- VolumetricSubsystem.h
- CameraParams.h
- DrawListBuilder.cpp
- DrawListBuilder.h
- FrameDebugger.cpp
- FrameDebugger.h
- FrameTargets.cpp
- FrameTargets.h
- QueueRecorders.h
- RenderBackend.cpp
- RenderBackend.h
- Renderer.cpp
- Renderer.h
- RenderPipeline.cpp
- RenderPipeline.h
- TaaJitter.h
- ViewResources.cpp
- AnimationClipImporter.cpp
- AnimationClipImporter.h
- ImportReport.h
- MaterialImporter.cpp
- MaterialImporter.h
- ModelImporter.cpp
- ModelImporter.h
- PhysicsMaterialImporter.cpp
- PhysicsMaterialImporter.h
- ProjectTextureIndex.cpp
- ProjectTextureIndex.h
- ShaderImporter.cpp
- ShaderImporter.h
- TextureBaker.cpp
- TextureBaker.h
- TextureCompressor.cpp
- TextureCompressor.h
- TextureImporter.cpp
- TextureImporter.h
- TextureResolver.cpp
- TextureResolver.h
- Asset.cpp
- Asset.h
- AssetDatabase.cpp
- AssetDatabase.h
- AssetImporter.h
- AssetManager.cpp
- AssetManager.h
- AssetSerializer.cpp
- AssetSerializer.h
- FileSystem.cpp
- FileSystem.h
- FileWatcher.cpp
- FileWatcher.h
- Image.cpp
- Image.h
- MetaFile.cpp
- MetaFile.h
- Animation.h
- AnimationController.h
- Camera.h
- Common.h
- FogVolume.h
- Lights.h
- Physics.h
- Rendering.h
- Transform.h
- Wind.h
- AnimationSystem.cpp
- AnimationSystem.h
- CameraSystem.h
- DebugGizmos.cpp
- DebugGizmos.h
- ISystem.h
- LightingSystem.cpp
- LightingSystem.h
- PhysicsSystem.cpp
- PhysicsSystem.h
- PickingSystem.cpp
- PickingSystem.h
- PlayerControllerSystem.cpp
- PlayerControllerSystem.h
- RenderingSystem.cpp
- RenderingSystem.h
- SystemRegistry.cpp
- SystemRegistry.h
- TransformSystem.h
- Components.h
- Entity.cpp
- Entity.h
- Scene.cpp
- Scene.h
- SceneSerializer.cpp
- SceneSerializer.h
- Luth.h
- luthpch.cpp
- luthpch.h
- premake5.lua
- AssetCommands.cpp
- AssetCommands.h
- Commands.h
- ComponentCommands.h
- ComponentPropertyCommand.h
- EntityCommands.cpp
- EntityCommands.h
- ICommand.h
- VectorCommands.h
- EditorSignals.h
- AnimationControllerDrawer.cpp
- AnimationDrawer.cpp
- BoneAttachmentDrawer.cpp
- CameraDrawer.cpp
- CharacterControllerDrawer.cpp
- ColliderDrawer.cpp
- DebugDrawers.cpp
- DirectionalLightDrawer.cpp
- FogVolumeDrawer.cpp
- MeshRendererDrawer.cpp
- PointLightDrawer.cpp
- RegisterComponentDrawers.cpp
- RegisterComponentDrawers.h
- RigidBodyDrawer.cpp
- SpotLightDrawer.cpp
- TransformDrawer.cpp
- WindDrawer.cpp
- ComponentDrawerRegistry.cpp
- ComponentDrawerRegistry.h
- FontViewer.cpp
- FontViewer.h
- MaterialEditor.cpp
- MaterialEditor.h
- ModelViewer.cpp
- ModelViewer.h
- PhysicsMaterialEditor.cpp
- PhysicsMaterialEditor.h
- SceneViewer.cpp
- SceneViewer.h
- ShaderEditor.cpp
- ShaderEditor.h
- TextureEditor.cpp
- TextureEditor.h
- ConsolePanel.cpp
- ConsolePanel.h
- EditorSettingsWindow.cpp
- EditorSettingsWindow.h
- FrameDebuggerPanel.cpp
- FrameDebuggerPanel.h
- GamePanel.cpp
- GamePanel.h
- HierarchyPanel.cpp
- HierarchyPanel.h
- HistoryPanel.cpp
- HistoryPanel.h
- InspectorPanel.cpp
- InspectorPanel.h
- MaterialGraphPanel.cpp
- MaterialGraphPanel.h
- ProfilerPanel.cpp
- ProfilerPanel.h
- ProjectPanel.cpp
- ProjectPanel.h
- RenderPanel.cpp
- RenderPanel.h
- ResourcePanel.cpp
- ResourcePanel.h
- ScenePanel.cpp
- ScenePanel.h
- TextureRemapDialog.cpp
- TextureRemapDialog.h
- GizmoController.cpp
- GizmoController.h
- ViewportOverlays.cpp
- ViewportOverlays.h
- ViewportRenderer.cpp
- ViewportRenderer.h
- AssetSlot.cpp
- AssetSlot.h
- ButtonGroup.cpp
- ButtonGroup.h
- CategoryPopup.cpp
- CategoryPopup.h
- Charts.cpp
- Charts.h
- CollapsingHeader.cpp
- CollapsingHeader.h
- FilterBox.cpp
- FilterBox.h
- HelpMarker.cpp
- HelpMarker.h
- Icons.h
- IconsPhosphor.h
- IconsPhosphorFill.h
- ImGuiUtils.h
- InfoTable.cpp
- InfoTable.h
- InspectorHeader.cpp
- InspectorHeader.h
- Properties.cpp
- Properties.h
- Splitter.cpp
- Splitter.h
- TexturePreview.cpp
- TexturePreview.h
- ThumbnailCache.cpp
- ThumbnailCache.h
- ThumbnailGenerator.cpp
- ThumbnailGenerator.h
- ThumbnailPreviewScene.cpp
- ThumbnailPreviewScene.h
- Widgets.h
- Bootstrap.h
- CommandHistory.cpp
- CommandHistory.h
- Editor.cpp
- Editor.h
- EditorAutoSave.cpp
- EditorAutoSave.h
- EditorCamera.cpp
- EditorCamera.h
- EditorClipboard.cpp
- EditorClipboard.h
- EditorColors.h
- EditorHooks.cpp
- EditorSelection.cpp
- EditorSelection.h
- EditorSettings.cpp
- EditorSettings.h
- EditorSnapshot.h
- EditorStyle.cpp
- EditorStyle.h
- MultiEdit.h
- PlayModeController.cpp
- PlayModeController.h
- ProjectLauncher.cpp
- ProjectLauncher.h
- SceneViewStore.cpp
- SceneViewStore.h
- Workspace.cpp
- Workspace.h
- lepch.cpp
- lepch.h
- premake5.lua
- Luth128.png
- Luth16.png
- Luth24.png
- Luth256.png
- Luth32.png
- Luth48.png
- Luth64.png
- Luth96.png
- Luth.ico
- LuthienApp.cpp
- Luthien.aps
- Luthien.rc
- premake5.lua
- resource.h
- Material_MR.mat
- Material_MR.mat.meta
- Default_albedo.jpg
- Default_albedo.jpg.meta
- Default_AO.jpg
- Default_AO.jpg.meta
- Default_emissive.jpg
- Default_emissive.jpg.meta
- Default_metalRoughness.jpg
- Default_metalRoughness.jpg.meta
- Default_normal.jpg
- Default_normal.jpg.meta
- DamagedHelmet.fbx
- DamagedHelmet.fbx.meta
- Beta_HighLimbsGeoSG3.mat
- Beta_HighLimbsGeoSG3.mat.meta
- Beta_Joints_MAT1.mat
- Beta_Joints_MAT1.mat.meta
- Walking.fbx
- Walking.fbx.meta
- character_test.luth
- character_test.luth.meta
- drop_test.luth
- drop_test.luth.meta
- trigger_test.luth
- trigger_test.luth.meta
- environment.hdr
- Layout_1.ini
- jobsys_proof.cpp
- premake5.lua
- Samples.luthproj
- build_windows.bat
- setup_windows.bat
- test_windows.bat
- gen_phosphor_icons.py
- doctest.h
- test_atomiccounter.cpp
- test_mpmcqueue.cpp
- test_smoke.cpp
- test_spinlock.cpp
- test_v2_main_isolation.cpp
- test_v3_isrecording.cpp
- test_v4_wakeup.cpp
- test_v5_inline.cpp
- test_waitcounter.cpp
- test_workstealing.cpp
- test_linearallocator.cpp
- test_taggedpage.cpp
- RenderGraphSolver.cpp
- TextureCompressor.cpp
- JobSystemFixture.h
- StressHelpers.h
- main.cpp
- premake5.lua
- .gitattributes
- .gitignore
- .gitmodules
- dependencies.lua
- LICENSE
- premake5.lua
- README.md
# Installation Guide
git clone https://github.com/Hekbas/Luth
Downloads the entire project code from GitHub to your computer.
cd Luth
Moves into the project folder you just downloaded.
2. CMake
Medium Recommendedcd luth/extern/source/tracy
This project's files live in a subfolder, so move into it first.
mkdir build && cd build
Creates a folder to hold the build output and moves into it.
cmake ..
Analyzes the source code and generates build configuration files (must be run inside the build folder).
make
Compiles the code based on the generated build configuration to produce an executable.
3. Python
Easypip install .
Installs the package published on PyPI directly โ no need to clone the source.
python <์คํํ ํ์ผ๋ช
>.py # README์์ ์ ํํ ์คํ ํ์ผ๋ช
์ ํ์ธํ์ธ์
Runs the Python script (or module).
4. Make
Medium- Git Needed to download the project code from GitHub.
- Make Usually pre-installed on Linux/macOS. On Windows, install separately (e.g. via MSYS2 or WSL).
cd luth/extern/source/imguizmo
This project's files live in a subfolder, so move into it first.
make
Compiles the code based on the generated build configuration to produce an executable.
