An open API service indexing awesome lists of open source software.

https://github.com/adrianfilsell/3d-engine

C++ 3D engine, software rendering, emulates modern 3D API rasterization.
https://github.com/adrianfilsell/3d-engine

3d-graphics cel-shading cplusplus fragment-shader lighting materials per-pixel-lighting vertex-shaders

Last synced: 16 days ago
JSON representation

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

Awesome Lists containing this project

README

          

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=DgvHXth6mK4)
[https://www.youtube.com/watch?v=_aUNkUBCwBc](https://www.youtube.com/watch?v=_aUNkUBCwBc)
[https://www.youtube.com/watch?v=zHGe1bH2W8M](https://www.youtube.com/watch?v=zHGe1bH2W8M).

Example of a scene:

![Alt text](/cover.png?raw=true "example scene")

Example of a scene with texture/bump map materials:

![Alt text](/bump_tex_cover.png?raw=true "example texture/bump map scene")

Examples of a scene with cel shading:

![Alt text](/cel_shading_cover.png?raw=true "example texture/cel_shading scene")
![Alt text](/cel_shading_2_cover.png?raw=true "example texture/cel_shading scene 2")

Example of a scene with shadow maps:

![Alt text](/shadow_cover.png?raw=true "example shadow map scene")