3D Engine from scratch with python using pygame.
PYGAME -> pip install pygame COLORSYS -> pip install colorsys
Bugs (unsolved issues)
- The z sorting of triangles still has some noticeable issues - still need some optimization to run faster ( maybe using numpy matrices can help a little bit) - issues with translate matrix , gonna fix it later still trying a couple of things
Support .obj files although the zsorting isn't working properly
light = Light(position) # to disable the light in the scene you can set the light = None light = None
might work on a much better controls later but for now to move around the scene you can use 'WASD' and "Arrows" The controls are weird , i'm gonna try to improve them
ShowNormals = True # you can set the normal lines length in the world.py file
it's still has a couple of issues when it comes to the boundary clipping , since it's only clip the faces that are in front of the camera.
wireframe = True
Display Point Vertices
vertices = True
showAxis = True red-> x axis green-> y axis blue-> z axis