|
Clutter Engine 0.0.1
|
Camera component for rendering scenes from a specific viewpoint. More...
#include <CameraComponent.h>
Public Member Functions | |
| CameraComponent (float pFOV=70.0f, ProjectionMode pProjectionMode=ProjectionMode::Perspective, float pNearPlane=0.1f, float pFarPlane=10000.0f) | |
| Constructs a CameraComponent with specified parameters. | |
| ~CameraComponent () | |
| Destructor. | |
| virtual void | Update () override |
| Updates the camera component. | |
| void | SetFOV (float pFOV) |
| Sets the field of view. | |
| void | SetProjectionMode (ProjectionMode pProjectionMode) |
| Sets the projection mode. | |
| void | SetActive (CameraComponent *cam) |
| Sets the specified camera as active. | |
| void | SetActive () |
| Sets this camera as the active camera. | |
| const Matrix4Row & | GetViewMatrix () |
| Gets the view matrix. | |
| const Matrix4Row & | GetProjectionMatrix () |
| Gets the projection matrix. | |
| const Matrix4Row & | GetViewProjMatrices () |
| Gets the combined view-projection matrix. | |
Public Member Functions inherited from clt::Component | |
| Component (int pUpdateOrder=0) | |
| Constructor for Component. | |
| virtual | ~Component ()=default |
| Virtual destructor for Component. | |
| virtual void | Start () |
| Called when the component is started. | |
| virtual void | Destroy () |
| Called to destroy the component. | |
| void | SetActive (bool pActive) |
| Enables or disables the component. | |
| void | OnDestroy () |
| Called when the component is destroyed. | |
| bool | IsActive () const |
| Checks if the component is enabled. | |
| int | GetUpdateOrder () const |
| Gets the update order of the component. | |
| void | SetRelativeLocation (const Vector3 &loc) |
| Sets the relative location of the component. | |
| void | SetRelativeLocation (const Vector2 &loc) |
| Sets the relative location of the component. | |
| void | SetWorldLocation (const Vector3 &loc) |
| Sets the world location of the component. | |
| void | SetRelativeScale (const Vector3 &scale) |
| Sets the relative scale of the component. | |
| void | SetRelativeScale (const Vector2 &scale) |
| Sets the relative scale of the component. | |
| void | SetRelativeRotation (Quaternion rot) |
| Sets the relative rotation of the component. | |
| void | SetRelativeRotation (Vector3 rot) |
| Sets the relative rotation of the component. | |
| void | SetWorldRotation (const Quaternion &rot) |
| Sets the world rotation of the component. | |
| void | SetWorldRotation (const Vector3 &rot) |
| Sets the world rotation of the component. | |
| void | AddRelativeRotation (Vector3 rot) |
| Adds a rotation to the current relative rotation. | |
| void | SetRelativeRotation (float rot) |
| Sets the relative rotation of the component. | |
| void | SetRelativeTransform (Transform &transform) |
| Sets the relative transform of the component. | |
| Vector3 | GetRelativeLocation () const |
| Gets the relative location of the component. | |
| Vector3 | GetRelativeScale () const |
| Gets the relative scale of the component. | |
| Quaternion | GetRelativeRotation () const |
| Gets the relative rotation of the component. | |
| Vector3 | GetRelativeRotationEuler () const |
| Gets the relative rotation of the component as Euler angles. | |
| Transform | GetRelativeTransform () const |
| Gets the relative transform of the component. | |
| Vector3 | GetWorldLocation () const |
| Gets the world location of the component. | |
| Vector3 | GetWorldScale () const |
| Gets the world scale of the component. | |
| Quaternion | GetWorldRotation () const |
| Gets the world rotation of the component. | |
| virtual Transform | GetWorldTransform () const |
| Gets the world transform of the component. | |
| Actor * | GetOwner () const |
| Gets the owner actor of this component. | |
Static Public Member Functions | |
| static CameraComponent * | GetActiveCamera () |
| Gets the currently active camera. | |
Additional Inherited Members | |
Public Attributes inherited from clt::Component | |
| friend | Actor |
Protected Member Functions inherited from clt::Component | |
| bool | LineTrace (Vector3 start, Vector3 direction, float maxDistance, raycastHit &hit, bool debugPersistant=false) |
| Performs a line trace (raycast) using the owning actor. | |
Protected Attributes inherited from clt::Component | |
| bool | mIsActive = true |
| Indicates if the component is active. | |
| int | mUpdateOrder = 0 |
| The order in which the component is updated. | |
| Actor * | mOwner |
| The actor that owns this component. | |
| Transform | mRelativeTransform |
| The relative transform of the component to its owner. | |
Camera component for rendering scenes from a specific viewpoint.
Handles view and projection matrices, projection mode, and camera activation.
| CameraComponent::CameraComponent | ( | float | pFOV = 70.0f, |
| ProjectionMode | pProjectionMode = ProjectionMode::Perspective, | ||
| float | pNearPlane = 0.1f, | ||
| float | pFarPlane = 10000.0f ) |
Constructs a CameraComponent with specified parameters.
| pFOV | Field of view in degrees (default: 70.0f). |
| pProjectionMode | Projection mode (default: Perspective). |
| pNearPlane | Near clipping plane (default: 0.1f). |
| pFarPlane | Far clipping plane (default: 10000.0f). |
|
static |
Gets the currently active camera.
|
inline |
Gets the projection matrix.
|
inline |
Gets the view matrix.
|
inline |
Gets the combined view-projection matrix.
| void CameraComponent::SetActive | ( | CameraComponent * | cam | ) |
Sets the specified camera as active.
| cam | Pointer to the camera to activate. |
| void CameraComponent::SetFOV | ( | float | pFOV | ) |
Sets the field of view.
| pFOV | Field of view in degrees. |
| void CameraComponent::SetProjectionMode | ( | ProjectionMode | pProjectionMode | ) |
Sets the projection mode.
| pProjectionMode | The new projection mode. |
|
overridevirtual |
Updates the camera component.
Reimplemented from clt::Component.