4#include <math/seadMatrix.h>
5#include <prim/seadRuntimeTypeInfo.h>
54static_assert(
sizeof(
Camera) == 0x34,
"sead::Camera size mismatch");
64 ,
mPos(0.0f, 0.0f, 10.0f)
65 ,
mAt(0.0f, 0.0f, 0.0f)
66 ,
mUp(0.0f, 1.0f, 0.0f)
90static_assert(
sizeof(
LookAtCamera) == 0x58,
"sead::LookAtCamera size mismatch");
134static_assert(
sizeof(
DirectCamera) == 0x64,
"sead::DirectCamera size mismatch");
Definition seadCamera.h:16
virtual void doUpdateMatrix(Matrix34f *dst) const =0
void updateViewMatrix()
Definition seadCamera.h:34
void getWorldPosByMatrix(Vector3f *dst) const
Definition seadCamera.cpp:6
void getLookVectorByMatrix(Vector3f *dst) const
Camera()
Definition seadCamera.h:20
virtual ~Camera()
Definition seadCamera.h:25
void getUpVectorByMatrix(Vector3f *dst) const
const Matrix34f & getViewMatrix() const
Definition seadCamera.h:32
Matrix34f mMatrix
Definition seadCamera.h:51
Matrix34f & getViewMatrix()
Definition seadCamera.h:31
void cameraPosToWorldPosByMatrix(Vector3f *dst, const Vector3f &camera_pos) const
void worldPosToCameraPosByMatrix(Vector3f *dst, const Vector3f &world_pos) const
void getRightVectorByMatrix(Vector3f *dst) const
void projectByMatrix(Vector2f *dst, const Vector3f &world_pos, const Projection &projection, const Viewport &viewport) const
void unprojectRayByMatrix(Ray< Vector3f > *dst, const Vector3f &camera_pos) const
Definition seadCamera.h:109
void doUpdateMatrix(Matrix34f *dst) const override
Definition seadCamera.h:125
Matrix34f mDirectMatrix
Definition seadCamera.h:131
void setMatrix(const Matrix34f &mtx)
Definition seadCamera.h:119
DirectCamera()
Definition seadCamera.h:113
Definition seadCamera.h:58
const Vector3f & getPos() const
Definition seadCamera.h:76
Vector3f & getPos()
Definition seadCamera.h:75
Vector3f & getAt()
Definition seadCamera.h:78
LookAtCamera()
Definition seadCamera.h:62
Vector3f mAt
Definition seadCamera.h:86
const Vector3f & getUp() const
Definition seadCamera.h:82
Vector3f mUp
Definition seadCamera.h:87
const Vector3f & getAt() const
Definition seadCamera.h:79
~LookAtCamera() override
Definition seadCamera.cpp:26
Vector3f & getUp()
Definition seadCamera.h:81
Vector3f mPos
Definition seadCamera.h:85
LookAtCamera(const Vector3f &pos, const Vector3f &at, const Vector3f &up)
Definition seadCamera.cpp:17
void doUpdateMatrix(Matrix34f *dst) const override
Definition seadCamera.cpp:30
Definition seadCamera.h:96
OrthoCamera(const Vector2f ¢er, f32 distance)
OrthoCamera(const OrthoProjection &proj)
void setRotation(f32 rad)
void setByOrthoProjection(const OrthoProjection &proj)
Definition seadProjection.h:173
Definition seadProjection.h:19
Definition seadCamera.h:13
Definition seadViewport.h:10
Definition seadAssert.h:44
Vector2< f32 > Vector2f
Definition seadVector.h:238
Vector3< f32 > Vector3f
Definition seadVector.h:239
Matrix34< f32 > Matrix34f
Definition seadMatrix.h:342
#define SEAD_RTTI_OVERRIDE(CLASS, BASE)
Definition seadRuntimeTypeInfo.h:96
#define SEAD_RTTI_BASE(CLASS)
Definition seadRuntimeTypeInfo.h:75