OmegaEngine API  1.0.3
 All Classes Namespaces Functions Variables Enumerations Enumerator Properties Events
Public Member Functions | Protected Member Functions | Protected Attributes | Package Functions | Properties | List of all members
OmegaEngine.Graphics.Cameras.Camera Class Referenceabstract

Determines the perspective from which a Scene is displayed. More...

Inheritance diagram for OmegaEngine.Graphics.Cameras.Camera:
OmegaEngine.IPositionable OmegaEngine.Graphics.Cameras.CloneCamera OmegaEngine.Graphics.Cameras.MatrixCamera OmegaEngine.Graphics.Cameras.QuaternionCamera OmegaEngine.Graphics.Cameras.ReflectCamera OmegaEngine.Graphics.Cameras.EgoCamera OmegaEngine.Graphics.Cameras.StrategyCamera OmegaEngine.Graphics.Cameras.TrackCamera OmegaEngine.Graphics.Cameras.CinematicCamera OmegaEngine.Graphics.Cameras.SpaceCamera

Public Member Functions

override string ToString ()
 
abstract void PerspectiveChange (float panX, float panY, float rotation, float zoom)
 Called when the user changes the view perspective. More...
 

Protected Member Functions

abstract void UpdateView ()
 Update cached versions of View and related matrices if necessary More...
 
void CacheSpecialMatrices ()
 Calculate cached versions of special matrices (e.g. ViewInverse calculated from View) More...
 
virtual void UpdateProjection ()
 Update Projection if necessary More...
 

Protected Attributes

bool ViewDirty = true
 Does ViewCached need to be recalculated? More...
 
bool ProjectionDirty = true
 Does _projection need to be recalculated? More...
 
bool ViewFrustumDirty = true
 Does the view frustum need to be recalculated? More...
 
DoubleVector3 PositionCached
 
DoubleVector3 PositionBaseCached
 
Matrix ViewCached
 
Matrix SimpleViewCached
 

Package Functions

bool InFrustum (BoundingSphere boundingSphere)
 Checks whether a BoundingSphere is inside the camera's view frustum More...
 
bool InFrustum (BoundingBox boundingBox)
 Checks whether a BoundingBox is inside the camera's view frustum More...
 

Properties

string Name [get, set]
 Text value to make it easier to identify a particular camera More...
 
DoubleVector3 Position [get, set]
 The camera's position in 3D-space More...
 
DoubleVector3 PositionBase [get, set]
 A value that is subtracted from all positions (including the Camera's) before handing them to the graphics hardware More...
 
Matrix View [get]
 A left-handed view matrix for the current camera setting More...
 
Matrix SimpleView [get]
 A left-handed view matrix with absolutely no translation information More...
 
Matrix ViewInverse [get]
 An inverted view matrix for the current camera setting More...
 
Matrix ViewTranspose [get]
 A transposed view matrix for the current camera setting More...
 
Matrix ViewInverseTranspose [get]
 An inverted and transposed view matrix for the current camera setting More...
 
Matrix SphericalBillboard [get]
 A rotation matrix for a faked spherical billboard effect More...
 
Matrix CylindricalBillboard [get]
 A rotation matrix for a faked cylindrical billboard effect More...
 
Size Size [get, set]
 The size of the output (i.e. screen size) More...
 
float FieldOfView [get, set]
 The view angle in degrees More...
 
float NearClip [get, set]
 Minimum distance of objects to the camera More...
 
float FarClip [get, set]
 Maximum distance of objects to the camera More...
 
DoublePlane ClipPlane [get, set]
 A custom clip plane behind which all objects are culled More...
 
Plane EffectiveClipPlane [get]
 The effective clip plane to use for rendering More...
 
Matrix Projection [get]
 A projection matrix for the current camera setting More...
 
Matrix SimpleProjection [get]
 A projection matrix overriding the clip planes (defaulting to near=1 and far=10) More...
 
Matrix ProjectionInverse [get]
 An inverted projection matrix for the current camera setting More...
 
Matrix ProjectionTranspose [get]
 A transposed projection matrix for the current camera setting More...
 
Matrix ProjectionInverseTranspose [get]
 An inverted and transposed projection matrix for the current camera setting More...
 
Matrix ViewProjection [get]
 A view-projection matrix for the current camera setting More...
 
Matrix ViewProjectionInverse [get]
 An inverted view-projection matrix for the current camera setting More...
 
Matrix ViewProjectionTranspose [get]
 A transposed view-projection matrix for the current camera setting More...
 
Matrix ViewProjectionInverseTranspose [get]
 An inverted and transposed view-projection matrix for the current camera setting More...
 
bool FrustumCulling [get, set]
 Shall the engine use view frustum culling to optimize the rendering performance? More...
 
- Properties inherited from OmegaEngine.IPositionable
DoubleVector3 Position [get, set]
 The object's position More...
 

Detailed Description

Determines the perspective from which a Scene is displayed.

See Also
OmegaEngine.Graphics.View.Camera

Member Function Documentation

void OmegaEngine.Graphics.Cameras.Camera.CacheSpecialMatrices ( )
inlineprotected

Calculate cached versions of special matrices (e.g. ViewInverse calculated from View)

bool OmegaEngine.Graphics.Cameras.Camera.InFrustum ( BoundingSphere  boundingSphere)
inlinepackage

Checks whether a BoundingSphere is inside the camera's view frustum

Parameters
boundingSphereA sphere that completely encompasses the body in world space
Returns
true if the sphere is in the frustum
bool OmegaEngine.Graphics.Cameras.Camera.InFrustum ( BoundingBox  boundingBox)
inlinepackage

Checks whether a BoundingBox is inside the camera's view frustum

Parameters
boundingBoxAn axis-aligned box that completely encompasses the body in world space
Returns
true if the box is in the frustum
abstract void OmegaEngine.Graphics.Cameras.Camera.PerspectiveChange ( float  panX,
float  panY,
float  rotation,
float  zoom 
)
pure virtual

Called when the user changes the view perspective.

Parameters
panXThe number of pixels panned along the X-axis divided by the number of pixels of the longest side of the viewport.
panYThe number of pixels panned along the Y-axis divided by the number of pixels of the longest side of the viewport.
rotationHorizontal rotation in degrees.
zoomScaling factor; 1 for no change, must not be 0.

Implemented in OmegaEngine.Graphics.Cameras.StrategyCamera, OmegaEngine.Graphics.Cameras.TrackCamera, OmegaEngine.Graphics.Cameras.CinematicCamera, OmegaEngine.Graphics.Cameras.CloneCamera, OmegaEngine.Graphics.Cameras.EgoCamera, and OmegaEngine.Graphics.Cameras.SpaceCamera.

virtual void OmegaEngine.Graphics.Cameras.Camera.UpdateProjection ( )
inlineprotectedvirtual

Update Projection if necessary

Reimplemented in OmegaEngine.Graphics.Cameras.CloneCamera.

abstract void OmegaEngine.Graphics.Cameras.Camera.UpdateView ( )
protectedpure virtual

Member Data Documentation

bool OmegaEngine.Graphics.Cameras.Camera.ProjectionDirty = true
protected

Does _projection need to be recalculated?

bool OmegaEngine.Graphics.Cameras.Camera.ViewDirty = true
protected

Does ViewCached need to be recalculated?

bool OmegaEngine.Graphics.Cameras.Camera.ViewFrustumDirty = true
protected

Does the view frustum need to be recalculated?

Property Documentation

DoublePlane OmegaEngine.Graphics.Cameras.Camera.ClipPlane
getset

A custom clip plane behind which all objects are culled

Matrix OmegaEngine.Graphics.Cameras.Camera.CylindricalBillboard
getpackage

A rotation matrix for a faked cylindrical billboard effect

Plane OmegaEngine.Graphics.Cameras.Camera.EffectiveClipPlane
getpackage

The effective clip plane to use for rendering

float OmegaEngine.Graphics.Cameras.Camera.FarClip
getset

Maximum distance of objects to the camera

float OmegaEngine.Graphics.Cameras.Camera.FieldOfView
getset

The view angle in degrees

bool OmegaEngine.Graphics.Cameras.Camera.FrustumCulling
getset

Shall the engine use view frustum culling to optimize the rendering performance?

string OmegaEngine.Graphics.Cameras.Camera.Name
getset

Text value to make it easier to identify a particular camera

float OmegaEngine.Graphics.Cameras.Camera.NearClip
getset

Minimum distance of objects to the camera

DoubleVector3 OmegaEngine.Graphics.Cameras.Camera.Position
getset

The camera's position in 3D-space

DoubleVector3 OmegaEngine.Graphics.Cameras.Camera.PositionBase
getset

A value that is subtracted from all positions (including the Camera's) before handing them to the graphics hardware

Used to improve floating-point precision by keeping effective values small

See Also
IPositionableOffset
Matrix OmegaEngine.Graphics.Cameras.Camera.Projection
getpackage

A projection matrix for the current camera setting

Matrix OmegaEngine.Graphics.Cameras.Camera.ProjectionInverse
getpackage

An inverted projection matrix for the current camera setting

Matrix OmegaEngine.Graphics.Cameras.Camera.ProjectionInverseTranspose
getpackage

An inverted and transposed projection matrix for the current camera setting

Matrix OmegaEngine.Graphics.Cameras.Camera.ProjectionTranspose
getpackage

A transposed projection matrix for the current camera setting

Matrix OmegaEngine.Graphics.Cameras.Camera.SimpleProjection
getpackage

A projection matrix overriding the clip planes (defaulting to near=1 and far=10)

Matrix OmegaEngine.Graphics.Cameras.Camera.SimpleView
getpackage

A left-handed view matrix with absolutely no translation information

Size OmegaEngine.Graphics.Cameras.Camera.Size
getsetpackage

The size of the output (i.e. screen size)

Matrix OmegaEngine.Graphics.Cameras.Camera.SphericalBillboard
getpackage

A rotation matrix for a faked spherical billboard effect

Matrix OmegaEngine.Graphics.Cameras.Camera.View
getpackage

A left-handed view matrix for the current camera setting

Matrix OmegaEngine.Graphics.Cameras.Camera.ViewInverse
getpackage

An inverted view matrix for the current camera setting

Matrix OmegaEngine.Graphics.Cameras.Camera.ViewInverseTranspose
getpackage

An inverted and transposed view matrix for the current camera setting

Matrix OmegaEngine.Graphics.Cameras.Camera.ViewProjection
getpackage

A view-projection matrix for the current camera setting

Matrix OmegaEngine.Graphics.Cameras.Camera.ViewProjectionInverse
getpackage

An inverted view-projection matrix for the current camera setting

Matrix OmegaEngine.Graphics.Cameras.Camera.ViewProjectionInverseTranspose
getpackage

An inverted and transposed view-projection matrix for the current camera setting

Matrix OmegaEngine.Graphics.Cameras.Camera.ViewProjectionTranspose
getpackage

A transposed view-projection matrix for the current camera setting

Matrix OmegaEngine.Graphics.Cameras.Camera.ViewTranspose
getpackage

A transposed view matrix for the current camera setting


The documentation for this class was generated from the following file: