[Home]
[Download]
[About]
[Links]
[Contact]

What is the Java MD3 Model Viewer?

Intro

Ok, we all know by now that Quake 3 Arena has some kick ass models in it, but what we really want is to examine these in all there beauty, to develop new textures, to import them into 3D Studio and render a nice background, to bring them onto the Web for others to see...

Enter the world of the Java MD3 Model Viewer! This little program allows you to do all of the above things with ease.

Furthermore, the Java source code is provided. An excellent opportunity for all of you who have been waiting to take a deeper look at Java or for Java gurus waiting to contribute to a neat project! I've tried to design the code as cleanly as possible, using object orientation and patterns. This should make things easier for those wanting to delve into it.

Screenshots

Visor toting a rocket launcher.
Visor toting a rocket launcher.
Exporting the gauntlet to VRML.
Exporting the gauntlet to VRML.

Features

The Java MD3 Model Viewer has a number of nice features, some of which are not found in other MD3 viewers:

  • Written in Java and thus platform independent. It works on Win32, Linux, Mac, SGI, ...
  • Reads Quake 3 Arena .md3 files.
  • Tag based model attachment. Different parts (legs, torso, ...) of a model can be attached to each other to form a complete model.
  • Complete models can be serialized to 1 file that can be loaded in again later on. No need to continuously reattach different parts of a model or reapply textures.
  • Full support for model animation (both for individual parts and complete models). If an animation.cfg file is provided with an animated model, the info will be parsed and used to allow the user to run all animations defined for a model (gesture, swim, ...).
  • Optional interpolation during animation: linear interpolation between key animation frames and SLERP (spherical linear interpolation) interpolation between key tag positions using quaternions.
  • OpenGL rendering, hardware accelerated if available.
  • Wire frame, flat shaded, flat textured and shaded textured rendering modes.
  • Full support for the TrueVistion Targa (TGA) and JPG file formats used for textures in Quake 3 Arena.
  • The displayed model can be interactively examined: panning, rotating and scaling.
  • The properties of a model can be examined: number of triangles/vertices, number of animation frames, ...
  • Custom skins can be imported and applied to a model.
  • Export to VRML97 format with texture coordinates. This allows you to bring your models to the web or import them in 3D Studio with textures!
  • Export to RAW.
  • Textures can be refreshed for easy texture creation.
  • Texture resource manager.
  • Clean object oriented source code, which is provided for you to learn from and add to!
  • Per mesh transparency.
  • Import of .skin files.
  • Full featured integrated .PK3 file browser.
  • ...

Technology

What kind of technology is used in the Java MD3 Model Viewer?

  • Java - It is programmed in Java. Java is a platform independent, object oriented language with a syntax based on C. To learn more about many of the interesting features Java has to offer, visit Sun's Java site.
  • OpenGL - It uses OpenGL. OpenGL is the most widely adopted standard 2D and 3D graphics API. The big advantage of OpenGL is that it's a standard and is thus available on a lot of platforms, not just Win32. Another cool thing is that the Quake engines use OpenGL. You can find more info about OpenGL on the OpenGL home page.
  • GL4Java - It uses the GL4Java library. GL4Java is a library that allows you to use OpenGL from within Java. It was created by Jausoft. Visit their home page to learn more and download the GL4Java package.
  • OO and Design Patterns - The Java MD3 Model Viewer has an object oriented design that makes use of well known design patters like visitor, composite and abstract factory. If you're doing OO development I suggest you read the GOF patterns book (Design Patterns: Elements of Reusable Object-Oriented Software. Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides. Addison Wesley. October 1994. ISBN 0-201-63361-2) and visit the patterns home page.