My code supports multiple light sources. I also came up with a model for a pyramid. The bottom of the pyramid is left open for illustrating culling. Also each applet has its own control window which has buttons for making the models taller and shorter. It also has an animation button. Animation button can be used to see how backface culling works on the pyramid.


For some reason, my near, and far clipping is not working. I am sure that the math is right. I suspect there is a small bug that is causing all the trouble, but I couldn't find it.


Here is the source code.
Here is the page for the cube demo.




Here is the source code.





The bottom of the pyramid is left open for illustrating culling. Also each applet has its own control window which has buttons for making the models taller and shorter. It also has an animation button. Animation button can be used to see how backface culling works on the pyramid.