Skip to content

AlexanderPenny/Graphics-Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Academic Disclaimer, README.md was generated by LLM

Real-Time Procedural Graphics Pipeline (DirectX 11)

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.


🎮 Real-Time Simulation Showcase

Below is the live application running, demonstrating the runtime interaction of dynamic vertex displacement, tessellation, dynamic lighting, and post-processing:

Real-time Simulation Showcase


🚀 Key Features & Implementation Details

1. Procedural Terrain & GPU Compute Shaders

  • 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.

2. Advanced Lighting & Material Shading

  • 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.

3. Comprehensive Post-Processing Pipeline

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.

4. Sine-Wave Audio & Geometric Orchestration

  • 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.

🛠️ Project Toolchain & Architecture

  • 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)

📄 Documentation & Reference Report

For a dive into the graphical test cases demonstration:

🔗 Read the Graphics Truncated Report (PDF)


🌐 External Project Links


Developed as part of CMP304 at Abertay University for computer graphics.


⚠️ Incomplete Repository Notice

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.

📦 Assets & References

See 301CourseworkAcademicReferences.txt for a full list of assets and references used in this project.

About

Coursework at Abertay Uni for CMP301, code on this is incomplete due to potentially incomplete distribution rights

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Contributors