Color Box: Mostly an experiment for the simple renderer. Looks nice though. Shows all RBG colors in 3D.
Flight Color Box: Similar to previous applet except lets you fly around within the color box.
Clip Flight Box: On the surface, nearly identical to the Flight Color Box, except uses better Z and screen clipping (Sutherland Hodgman Polygon Clip Algorithm). Also has Far Z clipping plane (which is very close so that it's noticeble... Also pMatrix got an uplift; like uses floats instead of doubles, and now uses float m, instead of double m; correction, it now uses variables instead of arrays to store the matrix. ie: m00, m01, m02, etc.
BSP Flight Box: On the surface, nearly identical to the Clip Flight Color Box, except now instead of the z-sorting routine (for depth buffer, hidden surface removal) uses BSP trees (Binary Space Parition Trees). Also went back to the double matrix (instead of m00, etc., that was a pain to deal with). Fixes a bug in polygon code (apparently all the polygons in previous applets are facing in the wrong direction). The applet also shows the cut-up cubes; as the BSP cut them up.
BSP Collision Flight Box: Cleaned up the code somewhat. Implemented line tracing collision detection (similar to the one found in quake3; in fact, most of the collision code was just lifted out of Nathan Ostgard's (email@example.com) wonderful tutorial titled ``Quake 3 BSP Collision Detection'' which can be found here). The map is changed (no more random boxes). (note that the collision isn't very `smooth' yet---you don't slide against the surface, you just get stopped; I'm still working on that part).
BSP Smooth Collision Flight Box: Cleaned up the code even more. Found another bug in matrix code (fixed it). Also switched over all the camera rotations to use Quaternions (no more fear of... the gimbal lock... which wasn't really effecting the previous applets, but who kows...). The matrices were working fine, but I think they were an overkill for some things---like every camera rotation or motion I needed to compute an inverse of a 4x4 matrix, etc., which was a pain. With quaternions, the inverse is just a negation of the vector; so it's much simpler; in any case, it works the same, but cleaner. The collisions are now `smooth' (thus, the name); which means you can slide against objects and supposedly won't go through them---this was surprisingly difficult to implement; there is that damn round-off thing that was always making it miss a collision... adding an Epsilon value changed everything :-)
QuakeI DM1 Flight Box: Tried to do my best to load a .map like file, generate the BSP, and then display it. Unforutnately the applet tends to run out of memory when I load the whole file, so I just load a chunk of a QuakeI DM1 map. The code itself is sort of generic... My original goal was to display a doom3 or quake3 map (or possibly halflife2), but since the applet runs out of memory even on the simplest of maps, I've decided to just use a simpler thing---there is a script that comes with the code that can be used to turn any .map file into a format used by this applet (but if you use the whole map, the applet will crash with an OutOfMemory exception). On another note, I'm really disappointed with Java.
Full Map Quake1 DM1 Flight Box: This is a relatively major rewrite of the previous applet, eventhough it looks sorta the same on the surface. The key thing is that right now, the BSP is generated via a Perl script from a .map file, and is then loaded by the applet. So loading time (besides for downloading) should be much faster. Although the old applet's download was 20k, and this applet's download is 250k, so I'm not sure whether there will be any `savings' in loading time.
Front Car Wheels: This applet illustrates the proper front car wheels angle when turning. Key being that the front wheels aren't parallel during turns.
Front & Back Car Wheels: This applet illustrates the proper front & back car wheels angle when turning. Key being that the wheels aren't parallel during turns. This is basically the same applet as the one above, except it also involves the back wheels.
Bouncy Gravity Applet: Just a buncha bouncy balls falling down in ``earth'' gravity.
Bouncy Thingie HTML5 canvas (not java applet): Experiment in HTML5 canvas thing.
More soon to come...