Innoviox / Axiom

A modular, flexible, lightweight, declarative, efficient, incremental, structured library for 3D written in LWJGL-OPENGL bindings for Java
https://github.com/Innoviox/Axiom
GNU General Public License v3.0
4 stars 2 forks source link

Path forward #19

Open Innoviox opened 7 years ago

Innoviox commented 7 years ago

for improvement that I wrote down after the ESS test:

Things to do:

  1. Fix HUD
  2. Make sky prettier with ambient lighting
  3. Implement optimizations & render a landscape
  4. Collide with the landscape. Basic motion "game"
  5. Generate a large world
  6. Fully implement different lights.
  7. Scene: Skybox, a house next to a road, a streetlight that throws light on the road and the house, a moving sun in the sky. Day and night.
  8. Animation: A person walks down the street while the sun moves overhead. Can go into the house; door opens and closes.

Ideas for restructuring and improvement

UML for TiedItem

Restructure item package item interfaces => Tieable, Collidable model => Material, Texture, Mesh lighting => Light, ... Item, CollidableItem, TiedItem, ...

Innoviox commented 7 years ago
  1. Enabled back-face culling. Further optimizations:
    • Make a Mesh Map, then render based on map.get(mesh).getItems() instead of iterating through the entire item loop each time.
Innoviox commented 7 years ago