A simple 3D software renderer for Java
This is a 3D software rendering library for Java.
It was largely inspired by Peter Walser's excellent IDX3D Java software renderer. (IDX3D's official website is long-dead, but Alessandro Borges has thrown up a clone of IDX3D on GitHub.)
Stuff that this does NOT do:
This command will generate sj3d.jar:
make
To create a "doc" folder with javadocs:
make doc
A small demo is provided to prove that this stuff works. To build and run the demo:
make demo
The library is pretty arcane. Here's how the pieces fit together. (The best source of information on how to use this stuff is probably the demo app.)
World
RenderSettings
Camera
Position
Target point (what the camera is looking at)
Transformation (matrix)
Models
Material (color, diffuse, ambient properties)
Texture (required only if material is textured)
Transformation (matrix)
Frames (to support animated models - different verts for each frame)
Vertices
Vector (vertex normal, required only for smooth shading)
Triangles (references vertices on the model by number)
UVCoord (required only for textured surfaces)
Mostly as an educational experience. It could possibly fill a role where native libraries are not an option or the application needs to be very very small.