Dear game developers,
I am looking forward to find people who are interested in 3D software rendering. In my opinion it is good to start in software to learn the basics, especially starting with a good implementation as foundation. If you understand everything you can move on to complex hardware acceleration APIs. The implementation is capable to render triangles and rectangles.

Code to render a triangle looks sort of like this:
local viewFrustum = createViewFrustum(
createVector(0, 0, 0), -- position
createVector(10, 0, 0), -- right
createVector …