51 UpdateConstantBuffer();
58 return Transform->CalculateTransformMatrix();
83 this->scale =
scale * this->scale;
141 void TransformComponent::UpdateTransform() {
150 void TransformComponent::UpdateConstantBuffer() {
151 if (!ConstantBuffer) {
159 RenderEngine::TransformBuffer tb(world,
static const Math::Matrix4 & GetMainProjectionMatrix()
static const Math::Matrix4 & GetMainViewMatrix()
Component(GameObject *object)
static Matrix< float, 4, 4 > Rotate(const Quaternion &rotation)
static Matrix< float, 4, 4 > Scale(const Vector3D &scale)
static Matrix< float, 4, 4 > Translate(const Vector3D &translation)
Represents a quaternion for 3D rotations.
static Quaternion LookRotation(Vector3D &forward, Vector3D &up)
const std::string & GetName() const
void SubmitUpdateConstantBuffer(RefPtr< BufferBase > buffer, void *Data, uint16_t Size)
Queues a constant buffer write with data captured at submit time.
static RenderCommandQueue * GetInstance()
Lazily creates and returns the process-wide singleton instance.
void SubmitBindConstantBuffer(RefPtr< BufferBase > buffer, uint8_t slot)
Queues a constant buffer bind at the given slot.
static BufferBase * CreateBuffer(BufferType Type, uint32_t Size, void *Data)
Creates a buffer via the currently registered backend factory.
Matrix< float, 4, 4 > Matrix4
Root namespace for everything the engine exposes.