[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.
|

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.
|