Simple project in Java using LWJGL library.
The primary goal of this project is to learn the OpenGL API and enhance my object-oriented programming skills.
- Mesh generation from a vertex array
- Rendering of meshes
- Coloring and texturing of meshes
- Dynamic modification of WorldObject properties (position, rotation, scale)
- Handling mouse and keyboard inputs with listeners
- Camera rotation with mouse movement
- Camera movement with keyboard inputs
- OBJ file conversion to meshes
- Implementation of simple lightning
- Implementation of complex lightning
- Implementation of shadows
- Modularity for WorldObjects
- Animations for WorldObjects
- Basic collision detection and physics
- Terrain System
- Particle effects
- User Interface
- Procedural generation of meshes

