engine/TODO.txt
2024-03-19 11:32:51 +00:00

46 lines
1.6 KiB
Plaintext

----- TO DO LIST -----
vulkan/device.cpp: report what is missing when a device fails to be found.
Only select physical device 0 to simplify code.
Add support for multiple lights.
Add support for simple shadow mapping.
+ cascaded shadow mapping
Support animations.
+ skinned meshes / morph targets
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.
Implemented glTF file loader
Added a PBR shader with albedo, normal, metallic, roughness, and AO textures
Added the BVH AABB tree made in Summer to start a much better Collision system.
The CameraControllerSystem now uses raycasting to enable FPS-style player movement.