3#include "Engine/Component/CameraComponent.h"
33 std::shared_ptr<Entities::SceneNode> sceneNode,
41 void tick(
double deltaTime)
override;
A camera component that provides view and projection matrices based on its SceneNode transform....
static constexpr const char * ComponentName
Component registry name.
~VrCamera() override=default
Destroys the VR camera component.
glm::mat4 getEyeProjectionMatrix(size_t eyeIndex) const override
Gets the projection matrix for a specific eye. Base returns getProjectionMatrix() for both (mono).
Rendering::Headset * getHeadset() const
Gets the headset used by this VR camera.
void tick(double deltaTime) override
Called every frame if ticking is enabled.
glm::mat4 getEyeViewMatrix(size_t eyeIndex) const override
Gets the view matrix for a specific eye. Base returns getViewMatrix() for both (mono).
static constexpr bool IsUnique
This component type is unique per actor.
Rendering::Headset * headset_
VrCamera(Entities::Scene *owningScene, std::shared_ptr< Entities::SceneNode > sceneNode, Rendering::Headset *headset)
Constructs a VR camera backed by a headset and scene node.
Owns scene entities, actor lifetime, and the scene graph root.
Owns the OpenXR session, XR swapchain, eye transforms, and per-frame XR submission state.