Academic Disclaimer, README.md was generated by LLM
An advanced real-time 3D rendering engine built using C++ and DirectX 11 (HLSL Shader Model 5.0). The framework demonstrates modern graphics techniques including GPU-accelerated tessellation, complex procedural terrain generation via compute shaders, multi-pass post-processing pipelines, and customized geometry manipulation.
Below is the live application running, demonstrating the runtime interaction of dynamic vertex displacement, tessellation, dynamic lighting, and post-processing:
- Dynamic Generation: Implements multi-layered Perlin noise algorithms configured entirely on the GPU via Compute Shaders to generate high-fidelity, organic-feeling terrain without overloading the CPU.
- Hardware Tessellation Pipeline: Utilizes custom Hull Shaders and Domain Shaders to provide dynamic Level of Detail (LOD). Geometry details scale smoothly relative to camera distance, ensuring crisp edges up close while preserving computing budget far away.
- Blinn-Phong Reflection Model: Features advanced specular highlighting, diffuse mappings, and ambient light configurations calculated per-pixel within the Pixel Shaders to provide accurate material responses across changing landscape surfaces.
- Dynamic Shadow Mapping: Orchestrates separate orthographic shadow map render passes to calculate and render clean, soft shadows relative to an active directional light source.
Utilizes a robust Render-to-Texture (RTT) framework to apply multi-stage screen-space filters onto full-screen geometry quads before final presentation:
- Bloom & Gaussian Blur: Extracts bright regions through a high-pass shader, iteratively downsamples/blurs them, and blends them back onto the main buffer to emulate luminous bleeding.
- Chromatic Aberration: Simulates physical camera lens distortion by strategically offsetting individual red, green, and blue color channels dynamically outward across the screen space coordinates.
- Integrated real-time frequency distribution mapping (such as the project's real-time sine audio components) allowing computational parameters to dynamically alter vertex behaviors, amplitude offsets, and shader animation matrices concurrently.
- Graphics API: Microsoft DirectX 11 (DX11)
- Shader Architecture: High-Level Shader Language (HLSL) - SM 5.0
- IDE & Tooling: Visual Studio 2022 (v143 Build Tools, x64 Compiler Native)
For a dive into the graphical test cases demonstration:
🔗 Read the Graphics Truncated Report (PDF)
- Live Portfolio Summary: Alexander Penny - Graphics Project Showcase
- Full Research Asset: CMP301 Truncated Report Document
- Standalone Simulation Artifact: Direct Showcase GIF File
Developed as part of CMP304 at Abertay University for computer graphics.
This repository is incomplete and will not build as-is. The project depends on the Abertay DXFramework which has not been included as the redistribution rights are unclear. If you are an Abertay student you may already have access to it through your course materials — place it in the DXFramework folder in the project root.
See 301CourseworkAcademicReferences.txt for a full list of assets and references used in this project.
