After my first try with the JOGL library (the OpenGL access-layer for the Java programming language), I wanted to cleanup my code and gather it into something more useful… So I decided to build my own Java 3D engine, able to load files in common formats (as of now, only 3D Studio files are handled, with lots of issues pending : bad texturing, no rotation, memory leaks, etc…).

image-4.jpg webstart Right-click to pan (or shift-click), double-click to zoom automatically on an object, use mouse wheel to zoom manually (actually this is not a zoom : the camera moves around the model freely).

I have two main goals for this little project :

  • offer a free-to-use applet for content creators who wish to display their 3DS files on their website, blog entries, etc… NetCAE has such an applet, but they only seem to support the N3D file format, which does not seem very widespread…
  • be able to experiment with acceleration techniques and visual effects in a ready-to-use environment and on interesting models

It looks like the .3ds compatibility is a rather good choice, given the vast amount of files available on the net in this format (check this out, for instance).

Next on my TODO-list for this project :

  • rotate model when user drags mouse & fix translation
  • add smooth transitions between zoom-levels (when the user double-clicks on an object, for instance)
  • fix transparency of intricated elements “as much as possible” (won’t be perfect)
  • fix possible transform issues & texturing of 3DS files
  • add support for multithreaded mesh simplification and dynamic Level of Detail switching (I already implemented two mesh simplification algorithms, but the results are not yet satisfactory)
  • add some view frustum culling (useful when zooming on a small portion of the scene) and occlusion culling