Aether3D
Game Engine
Include
Camera.hpp
1
#ifndef CAMERA_H
2
#define CAMERA_H
3
4
#ifndef SCENEGRAPHNODE_H
5
# include "SceneGraphNode.hpp"
6
#endif
7
8
struct
Vec3
;
9
class
Texture
;
10
12
class
Camera
:
public
SceneGraphNode
13
{
14
public
:
15
virtual
~
Camera
() {}
16
24
virtual
void
LookAt
(
const
Vec3
& eye,
const
Vec3
& center,
const
Vec3
& up ) = 0;
25
27
virtual
void
MoveForward
(
float
amount ) = 0;
28
30
virtual
void
MoveRight
(
float
amount ) = 0;
31
33
virtual
void
MoveUp
(
float
amount ) = 0;
34
39
virtual
void
OffsetRotation
(
const
Vec3
& axis,
float
angleDegrees ) = 0;
40
47
virtual
Vec3
ScreenPoint
(
const
Vec3
& worldPoint )
const
= 0;
48
57
virtual
void
SetProjection
(
float
fieldOfViewDegrees,
float
aspect,
float
nearDepth,
float
farDepth ) = 0;
58
67
virtual
void
SetViewport
(
int
left,
int
right,
int
top,
int
bottom ) = 0;
68
79
virtual
void
SetProjection
(
float
left,
float
right,
float
bottom,
float
top,
float
nearDepth,
float
farDepth ) = 0;
80
86
virtual
void
SetRenderTarget
(
Texture
* target ) = 0;
87
89
virtual
Vec3
ViewDirection
()
const
= 0;
90
92
virtual
float
FarClipPlane
()
const
= 0;
93
95
virtual
float
NearClipPlane
()
const
= 0;
96
};
97
98
#endif
Camera::ViewDirection
virtual Vec3 ViewDirection() const =0
Camera::SetViewport
virtual void SetViewport(int left, int right, int top, int bottom)=0
Camera::LookAt
virtual void LookAt(const Vec3 &eye, const Vec3 ¢er, const Vec3 &up)=0
Camera
Perspective or orthographic camera.
Definition:
Camera.hpp:12
Camera::ScreenPoint
virtual Vec3 ScreenPoint(const Vec3 &worldPoint) const =0
Camera::MoveUp
virtual void MoveUp(float amount)=0
Texture
2D or Cube Map texture.
Definition:
Texture.hpp:7
Camera::NearClipPlane
virtual float NearClipPlane() const =0
Vec3
3-component vector.
Definition:
Vec3.hpp:22
Camera::SetRenderTarget
virtual void SetRenderTarget(Texture *target)=0
Camera::MoveRight
virtual void MoveRight(float amount)=0
Camera::OffsetRotation
virtual void OffsetRotation(const Vec3 &axis, float angleDegrees)=0
Camera::FarClipPlane
virtual float FarClipPlane() const =0
Camera::SetProjection
virtual void SetProjection(float fieldOfViewDegrees, float aspect, float nearDepth, float farDepth)=0
Camera::MoveForward
virtual void MoveForward(float amount)=0
SceneGraphNode
Scene Graph Node. Models, Lights and Cameras are derived from this class.
Definition:
SceneGraphNode.hpp:28
Generated on Sun Dec 13 2020 10:31:15 for Aether3D by
1.8.17