A basic 3D engine implemented with Java. This program was originally interfaced with the AP Computer Science "GridWorld" project, but the logic of the engine was isolated from the project for performance and other limitations. The original assignment that was developed with this project is located here.
Upgraded execution
Original execution with GridWorld
- Basic shading with customizable lights and meshes
- .OBJ importer to preview any models
- Proper depth buffering
- UV mapping and texturing
Scenes can be configured in the MainWindow.java
class. A complete demonstration of importing and
initializing models can be found in the main
function.
Place any textures and .OBJ files inside the resources
folder.
.OBJ files can easily be exported from any 3D editing program and imported to the engine. If using Blender, ensure that the export includes UV data and "Keep Vertex Order" is enabled. Textures must be PNG-32.
- Cube texture sourced from Wikipedia
- Seashell model and texture sourced from BlenderBoom
- Utah teapot model sourced from The University of Utah Website