Features
Graphics
- Render Graph
- Progressive stochastic path tracing
- Importance sampling of BSDFs and multiple importance sampling of lights
- Lambertian, Mirror, Glass, and Disney BSDFs
- Point and quad lights
- Real-time path tracing using both DXR 1.0 and DXR 1.1
D3D12
- Bindless resource
- Asynchronous PSO compilation using coroutines and threadpools
- Utilization of graphics and asynchronous compute queues
- Acceleration structure compaction using modified RTXMU
Misc
- Custom scene serialization using json
- Custom binary format for loading meshes and meshlets
- Asynchronous asset importing using threads
- Asset management using lightweight handles
World
- Ecs with the following implemented components:
-
Core: Main component that all actor in the scene have, it contains tag that identifies the actor and a transform which controls position, scale, and orientation
-
Camera: controls camera parameters for scene viewing
-
Light: used to illuminate the scene, controls light parameters:
- Point
- Quad
-
Static Mesh: references a mesh in the asset window to be rendered and controls material parameters and submits the referenced mesh to RaytracingAccelerationStructure for path tracing
- Lambertian
- Mirror
- Glass
- Disney
-
NativeScript: C++ scripting
-