engine/TODO
2023-02-09 15:29:19 +00:00

38 lines
1.4 KiB
Plaintext

----- TO DO LIST -----
Supported different event 'kinds' (postPhysics, preRender, postRender etc)
TODO now: the collision system doesn't use the "isTrigger" bool properly.
Add support for shadows and other complex lighting. Also add post-processing.
Add AABB colliders, sphere colliders, and mesh colliders.
Support animations and skinned meshes.
At some point, add game controller support. Make sure it works well with the
InputManager class.
* Was implemented in the past: *
For font rendering, put all ASCII characters in one large texture and use
'instancing' (and uniform buffer objects?) to reduce draw calls.
----- DONE -----
For mesh rendering, give every mesh-renderer a ShaderMaterial which, depending
on the shader, defines how the mesh reacts to light and also stores a reference
to its texture(s). -- Also make a model loader that works with multiple meshes
(by creating many objects).
The engine needs an event/message system, this will be helpful for collision
detection. Also helpful for general gameplay logic.
The entire vulkan backend needs redesigning without so many classes
Place all instances of a particular component in contiguous memory: I.e., a
scene holds many std::vectors, one for each type of component. These vectors are
looped through every frame. This should optimise things by improving the memory
layout of the program, significantly reducing cache misses.