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.

Back