Architecture

Here is a non-exhaustive list of Xith3D’s features.
Architecture

Not tied to any underlying API
(Under a dozen classes need to
be implemented to port to another API)
JOGL (JSR-231)
AWT
Swing
SWT
LWJGL
Native
AWT
Sophisticated state sorting
Input Abstraction using JAGaToo’s InputSystem

Geometry

Triangle Array
Triangle Strip Array
Indexed Triangle Array
Indexed Triangle Strip Array
Triangle Fan Array
Quad Array
VertexArrays, DisplayLists, VBOs

Scenegraph

(Any number of) Nested transforms
View based frustum-culling
Projection / orthographic modes
Local and World bounds kept current

Xith3D’s Quake3 BSP Loader
Model/Scene Loaders

ASE
AC3D
OBJ
3DS
MD2
MD3
MD5
Cal3D
COLLADA 1.4
Quake3/Half-Life BSP

Rendering

Depth buffer: test / write
Alpha buffer: test / write
Stencil buffer: test / write

ColorCube tutorial
Texturing

Loaders for RGB, RGBA and GRAY (auto-detected)
Supported formats:
PNG
JPG
GIF
BMP
PCX
TGA
DDS
SGI
etc.
Multi-texturing
Combine mode
MipMap, clamping, perspective correction, etc.
auto-flipping
Memory and disk caching of textures.
TexCoord generation
TextureCubeMap
Advanced Texture drawing

Xith3D’s ParticleSystem
Transparency

Vertex alpha
Shape blending
Shape sorting for back-to-front rendering

ParticleSystem

Advanced ParticleSystem (using JOPS)

Misc

Volume Shadows
Shadow Mapping
Advanced picking system

A really simple terrain example
Sound

Loaders for WAV and OGG formats
Ambient sound (Stereo)
Spatialized sound (Mono)
Designed independant of any API.
OpenAL and JavaSound support

Terrain

Terrain loaders
Height Mapping
Water shaders
GLSL Terrain shaders
Loader for the L3DT format

UI

Pure Xith3D HUD
(Advanced Widget system, specialized for game interfaces)
AWT/Swing Overlay support
AWT/Swing integration support
(as a Panel in your AWT/Swing environment)

The Xith3D HUD Example
Spatial

Bounds: Sphere, Box, Frustum, Plane
OcTree
Real time frustum culling

To discuss the features list please login to our Board.