1 #ifndef CAMERA_COMPONENT_H 2 #define CAMERA_COMPONENT_H 7 #include "RenderTexture.hpp" 22 enum class ClearFlag { DepthAndColor, Depth, DontClear };
28 const Matrix44&
GetView()
const {
return viewMatrix; }
52 void SetProjection(
float left,
float right,
float bottom,
float top,
float near,
float far );
62 void SetProjection(
float fovDegrees,
float aspect,
float near,
float far );
86 void SetLayerMask(
unsigned aLayerMask ) { layerMask = aLayerMask; }
116 float GetLeft()
const {
return orthoParams.left; }
119 float GetRight()
const {
return orthoParams.right; }
125 float GetTop()
const {
return orthoParams.top; }
129 void SetView(
const Matrix44& view ) { viewMatrix = view; }
136 static int Type() {
return 0; }
139 static unsigned New();
144 Matrix44 projectionMatrix;
160 float fovDegrees = 45;
162 unsigned layerMask = 1;
163 unsigned renderOrder = 0;
165 ClearFlag clearFlag = ClearFlag::DepthAndColor;
ClearFlag
Clear flag.
Definition: CameraComponent.hpp:22
Vec3 GetScreenPoint(const Vec3 &worldPoint, float viewWidth, float viewHeight) const
RenderTexture & GetDepthNormalsTexture()
Definition: CameraComponent.hpp:74
Definition: AudioClip.hpp:4
float GetTop() const
Definition: CameraComponent.hpp:125
float GetNear() const
Definition: CameraComponent.hpp:101
const Matrix44 & GetView() const
Definition: CameraComponent.hpp:28
void SetClearColor(const Vec3 &color)
float GetLeft() const
Definition: CameraComponent.hpp:116
3-component vector.
Definition: Vec3.hpp:12
void SetClearFlag(ClearFlag aClearFlag)
Definition: CameraComponent.hpp:83
void SetRenderOrder(unsigned order)
Definition: CameraComponent.hpp:92
Render texture.
Definition: RenderTexture.hpp:12
float GetBottom() const
Definition: CameraComponent.hpp:122
RenderTexture * GetTargetTexture()
Definition: CameraComponent.hpp:71
float GetRight() const
Definition: CameraComponent.hpp:119
ProjectionType
Projection type.
Definition: CameraComponent.hpp:19
const Matrix44 & GetProjection() const
Definition: CameraComponent.hpp:25
unsigned GetRenderOrder() const
Definition: CameraComponent.hpp:89
ClearFlag GetClearFlag() const
Definition: CameraComponent.hpp:98
std::string GetSerialized() const
void SetView(const Matrix44 &view)
Definition: CameraComponent.hpp:129
GameObject is composed of components that define its behavior.
Definition: GameObject.hpp:9
float GetFar() const
Definition: CameraComponent.hpp:104
class GameObject * GetGameObject() const
Definition: CameraComponent.hpp:16
void SetProjectionType(ProjectionType aProjectionType)
Definition: CameraComponent.hpp:40
void SetProjection(float left, float right, float bottom, float top, float near, float far)
Camera views the scene. GameObject containing a camera component must also contain a TransformCompone...
Definition: CameraComponent.hpp:12
void SetLayerMask(unsigned aLayerMask)
Definition: CameraComponent.hpp:86
void SetTargetTexture(RenderTexture *renderTexture)
unsigned GetLayerMask() const
Definition: CameraComponent.hpp:95
ProjectionType GetProjectionType() const
Definition: CameraComponent.hpp:37
Contains game objects in a transform hierarchy.
Definition: Scene.hpp:17
float GetAspect() const
Definition: CameraComponent.hpp:107
float GetFovDegrees() const
Definition: CameraComponent.hpp:110
Vec3 GetClearColor() const
Definition: CameraComponent.hpp:68