SP3-16 Updated SHADE Managed Math & Transform
NEW
Quaternions in SHADE Managed
UPDATES
All Math in managed are using floats instead of doubles
Managed Transform Components store Rotations as Quaternions. Euler angles are stored separately.
SP3-16 Quaternions
NEW
Added implementations for Quaternion LookRotation, FromToRotation, Slerp, Lerp and RotateTowards
Transform now stores orientations instead of euler angle rotations. Transform Component interface unchanged.
Added Orientation getters and setters to Transform Component.
Restructured Asset Manager with Generalised Template Types for Asset Data
All asset types are derived from asset type for casting and storing to facilitate general GetData function
Added customization for compute shader post processing after renderpass end
Added customization for compute shader post processing after renderpass end
Added Input attachment descriptor set support (incomplete, still need to bind and handle resizing)
Command buffers now take in a pipeline type to specify bind point. They also now store bind point specific data such as pipeline layout
More descriptor type support
Fixed a bug in batches where the frame index was not correct
Fixed a bug in pipeline layout where the descriptor set layout order was wrong
Render Graph now has 1 extra function at the start of generate where it checks render graph nodes for node computes. If they exist, add another subpass to transition all images involved.
Kirsch node compute for testing is in Graphics System.
Added function in SHVkUtil to convert pipeline type to pipeline bind point
Sp3 141 camera system
Added camera directors.
Use Transform Component's position and rotation for camera if entity has transform component.
Added a function to update editor camera
Bindings and Controllers
Logical bindings are stored in a map of strings (keys) and logical binding data (values). Logical binding data includes:
Positive Key Codes
Negative Key Codes
Positive Controller Codes
Negative Controller Codes
Mouse X Positive Multiplier
Mouse Y Positive Multiplier
Bindings can only handle for one player for now. Up to four users can be implemented with relative ease, but that depends on whether we want to make the game multiplayer for some reason.
Controller inputs are also handled, with 20 different inputs for the controller.