C++ · DirectX 11 · HLSL · Rendering · Graphics Programming
DirectX 11 Rendering Engine
A stage-focused DirectX 11 prototype connecting model buffers, shaders, textures, matrices, and indexed draw calls.
Project Goal
This project focused on understanding the DirectX 11 rendering pipeline by following its stage-based graphics flow in C++.
- I wanted to understand how Direct3D 11 moves model data through the input assembler, shader stages, texture sampling, and draw-call execution.
- The goal was to make the DirectX pipeline concrete in code rather than treating rendering as a black box inside a game engine.
- I treated the project as a graphics-pipeline study: small in scope, but focused on correctly connecting the main rendering stages.
Implementation
I implemented a compact DirectX 11 rendering-pipeline prototype.
- Built a custom model-loading and buffer-setup path that reads model data, creates vertex and index buffers, and binds them to the DirectX input-assembler stage.
- Implemented shader setup using HLSL, including vertex- and pixel-shader compilation, input-layout creation, matrix constant-buffer setup, and sampler-state creation.
- Implemented texture loading and shader-resource binding, then updated world-view-projection matrices through Map / Unmap before rendering the model with DrawIndexed.
Result
The project helped me become familiar with the DirectX rendering pipeline by implementing its core stages directly.
- Produced a working DirectX 11 prototype rendering textured model data through manually created buffers, shaders, textures, constant buffers, and draw calls.
- Clarified how Direct3D 11 connects the input assembler, vertex shader, pixel shader, texture sampler, constant buffer, and indexed drawing process.
- Established a code-level understanding of DirectX’s stage-based rendering flow, especially how CPU-side resource setup connects to GPU-side rendering execution.
