Blade
Engine: API
ECS
hierarchy
Vulkan
composability
+ergonomics
Engine: Init
engine.set_environment_map (...);
engine.set_gravity (...);
let body = engine.add_object (...);
let wheel = engine.add_object (...);
let joint = engine.add_joint (body, wheel, ...);
Engine: Update
engine.apply_linear_impulse (body, ...);
engine.apply_angular_impulse (wheel, ...);
engine.set_joint_motor (joint, ...);
engine.teleport_object (body, ...);
engine.populate_hud (egui);
engine.render (...);
Engine: Query
engine.get_object_transform (body, blade::Prediction);
Demo
API Stability
Abstracting away dependencies isn't always easy:
mint is your friend
raw-window-handle is good
but it doesn't expose other useful things, like the size or DPI
rapier3d is ok, quite verbose
egui is almost impossible to abstract
Future work
Proper game?
Graphics features:
less noise
specular reflection
global illumination
local lights
Resume presentation
Blade
{"description":"Blade scene editing.","slideOptions":"{\"theme\":\"serif\",\"transition\":\"fade\"}","title":"Blade-Engine","contributors":"[{\"id\":\"979e994f-8a6f-4ba5-b86c-9af3abd000ad\",\"add\":1918,\"del\":350}]"}