- No specular on surfaces facing away from the light source
- Transform the light direction to view space to ensure that all
lighting calculations happen in a consistent coordinate space.
- Other lighting tweaks
- NEW kinematic character controller powered by rapier3d at kinematic_character_controller.rs
- NEW camera modes. The ability to switch between the free debug camera and new character controller.
- NEW keybinds system to support the camera mode swap
- NEW CRATE: raidillon_physics.
- Added new models to be able to test the physics support.
- Added a new system "PhysicsSystem" to apply physics calculations to the ECS world.
- NEW COMPONENT: RigidBodyComponent
- New Resource, EguiQueue: Utility to queue egui ui builders
- New Rendering System, EguiRenderer: Utilizes a modified egui_glium
library to render egui UI
- Adjusted RenderingSystem trait and RenderingContext structure to
provide event_loop and egui_queue.
- Various minor adjusments
- NEW kinematic character controller powered by rapier3d at kinematic_character_controller.rs
- NEW camera modes. The ability to switch between the free debug camera and new character controller.
- NEW keybinds system to support the camera mode swap
- NEW CRATE: raidillon_physics.
- Added new models to be able to test the physics support.
- Added a new system "PhysicsSystem" to apply physics calculations to the ECS world.
- NEW COMPONENT: RigidBodyComponent
I believe the repeated code can be generated with procedural macros, but
I don't need that right now. I'll do it if I ever end up needing this.
Right now I need to start making the game itself more than anything.
- Implements a new macro to generate code for a new structure: TypeMap
- TypeMaps are wrappers for HashMaps that use TypeIDs as keys.
- Refactor the entire codebase to use the new resource structures.
- This commit is the first step towards getting rid of "god context objects everywhere".