# threedangles
Three-D-angles is a 3D triangles engine built from scratch.
This is a for fun, educational project.
It will feature the following algorithms (foundations):
Something to leave for the future due to time....
Curves & Surfaces:
Furthermore:
The implementation will be based on :
Use CMake
and eventually vcpkg
for package management.
SDL2
for window creation, pixel drawing and input events, so it can be cross-OS in a simpler way,
without worrying about the "initial boiler plate OS dependant code".
SDL2 might be removed completely after few iterations.Used to load images for textures.
Using MMX/SSE/AVX for float 32 bit and Vec4 / Mat4 operations (vectorization) and rasterization.
This might require to redo all the engine
into cudaEngine
:
It might just be pointless doing a "software 3D rendering Engine using GPGPU", apart some fun on it, but at that point would be better doing properly with Vulkan/DirectX/OpenGL.
I am not sure if i will do it right now or in the future, as after I wrote the algorithms,
using CUDA won't change too much, especially with the usage of the thrust
library.
__vectorcall
, __fastcall
Compilers are capable of using SIMD / Vectorization from default C/C++ code.
The project has been inspired by a OLC's video serie (OneLoneCoder):
Papers, documentations and specs (available also in the /doc
folder):