A 3D Scene made in C++ & DirectX 11 (HLSL) for my programming with shaders module in university. Debugged with RenderDoc.
Implemented using an internal framework, which contains bindings for Dear ImGui.
Requires a 64-bit version of Windows with DirectX 11 and Shader Model 5 support. Download
- W, A, S, D to move
- Q, E to move up/down
- ← ↑ → ↓ (arrow keys) to look around
- Use the debug window to adjust parameters.
- Note 1: Having more than one part non-collapsed will cause more than one value be edited.
- Note 2: Some values are unit vectors - there are no restrictions on editing them.
This provides an overview of features. For the full details of implementation (and a reflection), see the Report
Changes the height of vertices on a 3D plane by sampling a height map, then changes the number of vertices (via the tessellation stage) dynamically based off how far away the camera is.
Two directional lights are present in the scene, both being shadow-mapped.
Multiple point and spot lights are present in the scene (not shadowed).
The post-process effect is applied directly to the render texture, which takes the brightest parts of the scene, blurs them, then adds them to the render texture.
Simple system which features entities with overrideable functions (note: not an entity component system).