C++ language DirectX12/HLSL windows executable. Watch a video of the project.
Windows personal project game engine, running a personal project 3D world.
Multiple entities are generated at random positions, you control one of them at a time.
Procedurally generated quads, cubes, and spheres make up the entities and environment.
Adjustable camera coordinate system that attaches to
currently active entity, Tab switches entity. W,a,s,d,q,r or
up,down,left,right, arrow keys moves the character,
pageup/pagedown to tilt the camera up and down, move the mouse wheel to zoom
in and out, Tab switches characters (camera attachment), Esc
switches between fullscreen and windowed mode
Blinn-Phong shading model, with specular, diffuse and ambient light.
Storing rasterizer, depth-stencil, blend states, materials, vertex and pixel shaders
into pipeline state objects. Rendering pipeline stages specify the materials used
for that stage. Materials are used to index the pipeline state objects and load those states.
Skybox cubemaping, static object draws, static instanced draws, followed
by dynamic entity draws. Post-processing reticle drawn on top of the backbuffer with alpha blending.
MySQL connecter C/C++ built from source with CMake and Boost to fetch entity material properties.