Personal real-time graphics toolkits
Name | Thumbnail |
---|---|
01.TexturedQuad Basic texture mapping |
|
02.ComputeShader Basic usage of compute shader |
|
03.BindlessTexture Basic usage of bindless resource array |
|
04.RayTracingTriangle Basic usage of ray tracing pipeline |
|
05.PathTracing Basic unidirectional path tracer using ray query |
|
06.DistortionFreeDisplacementMap https://cg.ivd.kit.edu/english/undistort.php |
|
07.Gizmo Basic gizmo elements |
|
08.FeatureAwareDisplacementMap https://airguanz.github.io/2024/02/23/vdm-baking.html |
|
09.MeshShader Basic usage of mesh shader |
|
10.FastMarchingMethod Basic fast marching method on 2d grid |
|
11.GeodesicDistance Geodesic distance field on voxels |
|
WIP | ... |
avir for image resizing
cista for counting class members
cxxopts for parsing command arguments
cyCodeBase for generating possion disk samples
D3D12MemAlloc for memory management in D3D12 backend
DirectXShaderCompiler (binary) for compiling shaders
Eigen for solving linear systems
fmt for formatting strings
geometry-central for computing local parameterization (logarithmic map)
GLFW for managing windows and system events
half for conversions between float16 and float32
DearImGui for creating GUI in samples
nlohmann-json for parsing & writing JSON strings
libigl for planar mesh parameterization in samples
magic_enum for formatting enum values
mimalloc for memory allocation
oneapi-tbb for spin locks and thread-safe containers
DirectXAgilitySDK (binary) for accessing D3D12 preview features
sigslot for thread-safe event broadcasting
smhasher for hash operators
spdlog for logging
SPIRV-Reflect for reflecting SPIRV codes
stb for image IO
tinyexr for EXR image IO
tinyobjloader for loading wavefront obj files
unordered_dense for replacing std::unordered_*
vk-bootstrap for Vulkan initialization
volk for loading Vulkan entry points
VulkanMemoryAllocator for memory management in Vulkan backend
WinPIXEventRuntime (binary) for generating PIX captures