Skip to content

C++ 3D engine, software rendering, emulates modern 3D API rasterization.

Notifications You must be signed in to change notification settings

AdrianFilsell/3d-engine

Repository files navigation

C++ 3D engine, emulates modern 3D API scene rasterisation.

Supports: DirectX/OpenGL paradigms - Flexible vertex format - Materials - Per pixel lighting - Flexible rendering pipeline - Multiple lights (spot/point/directional) - Hierarchical scene structure - Shadow maps - Texture maps - Bump maps - Cubic environment maps - Quantize diffuse colour - Quantize specular highlight - Silhouette - Cel Shading - Mesh transform tools - Camera transform tools - Multi core aware.

Written using MFC/C++/eigenlib/jpeglib, more details can be found here:

https://www.youtube.com/watch?v=DgvHXth6mK4 https://www.youtube.com/watch?v=_aUNkUBCwBc https://www.youtube.com/watch?v=zHGe1bH2W8M.

Example of a scene:

Alt text

Example of a scene with texture/bump map materials:

Alt text

Examples of a scene with cel shading:

Alt text Alt text

Example of a scene with shadow maps:

Alt text