Renderer based on Direct3D 12 and Direct3D 11 APIs with ray tracing capabilities
Multi-threaded job system
Thread-safe event system and dev console
TCP/IP based network system
Model loading system to load .obj, .gltf, .glb models
Utility functions and data structures for 2D and 3D math
Audio system
Input system supporting PC and XBOX controller inputs
PBR Shading using the Metallic-Roughness pipeline
Blinn-Phong shading pipeline using Diffuse, Normal, Specular-Gloss-Emissive textures/materials
Support for Directional, Point and Spot Lights, and Voxel-Based Light Propagation(Minecraft style)
Support for vertex buffers, index buffers, constant buffers, textures, bit-map fonts, sprite sheets, etc
Offers everything that the DX 11 Renderer does, and:
Multi-threaded resource creation with multiple command lists being created and used when needed by command queues
Ray traced/Path Traced rendering support with DXR
Shader Model 5.x and 6.x with DXC support, supporting the use of Vertex Shaders, Pixel Shaders, Compute Shaders and Raytracing Shaders
Added support for UAV Buffers (RWTextures) and StructuredBuffers
Bindless Resource Management, allowing GPU to store 100s of textures and structured buffers at once to access them in the shader
Ability to use any available worker thread to perform any kind of job
Each thread can carry out one job at any given moment but are not locked to a certain type of job
Thread-safe event system that allows subscribing to functions, allowing execution of functions between functions without any linking
DevConsole to allow users to type in commands to trigger any registered events
Data structures for Vectors, Matrices, 2D and 3D primitives like AABB, OBB, Sphere, etc.
Utility functions for 2D and 3D geometric queries like overlap and raycasts
Functions for easing curves, bezier curves, hermite curves and splines