OmegaEngine API  1.0.3
Public Member Functions | Protected Member Functions | Protected Attributes | 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
 

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...
 
internal Matrix View [get]
 A left-handed view matrix for the current camera setting More...
 
internal Matrix SimpleView [get]
 A left-handed view matrix with absolutely no translation information More...
 
internal Matrix ViewInverse [get]
 An inverted view matrix for the current camera setting More...
 
internal Matrix ViewTranspose [get]
 A transposed view matrix for the current camera setting More...
 
internal Matrix ViewInverseTranspose [get]
 An inverted and transposed view matrix for the current camera setting More...
 
internal Matrix SphericalBillboard [get]
 A rotation matrix for a faked spherical billboard effect More...
 
internal Matrix CylindricalBillboard [get]
 A rotation matrix for a faked cylindrical billboard effect 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...
 
bool FrustumCulling = true [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

◆ CacheSpecialMatrices()

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

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

◆ PerspectiveChange()

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.

◆ UpdateProjection()

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

Update Projection if necessary

Reimplemented in OmegaEngine.Graphics.Cameras.CloneCamera.

◆ UpdateView()

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

Member Data Documentation

◆ ProjectionDirty

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

Does _projection need to be recalculated?

◆ ViewDirty

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

Does ViewCached need to be recalculated?

◆ ViewFrustumDirty

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

Does the view frustum need to be recalculated?

Property Documentation

◆ ClipPlane

DoublePlane OmegaEngine.Graphics.Cameras.Camera.ClipPlane
getset

A custom clip plane behind which all objects are culled

◆ CylindricalBillboard

internal Matrix OmegaEngine.Graphics.Cameras.Camera.CylindricalBillboard
getprotected

A rotation matrix for a faked cylindrical billboard effect

◆ FarClip

float OmegaEngine.Graphics.Cameras.Camera.FarClip
getset

Maximum distance of objects to the camera

◆ FieldOfView

float OmegaEngine.Graphics.Cameras.Camera.FieldOfView
getset

The view angle in degrees

◆ FrustumCulling

bool OmegaEngine.Graphics.Cameras.Camera.FrustumCulling = true
getset

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

◆ Name

string OmegaEngine.Graphics.Cameras.Camera.Name
getset

Text value to make it easier to identify a particular camera

◆ NearClip

float OmegaEngine.Graphics.Cameras.Camera.NearClip
getset

Minimum distance of objects to the camera

◆ Position

DoubleVector3 OmegaEngine.Graphics.Cameras.Camera.Position
getset

The camera's position in 3D-space

◆ PositionBase

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

◆ SimpleView

internal Matrix OmegaEngine.Graphics.Cameras.Camera.SimpleView
getprotected

A left-handed view matrix with absolutely no translation information

◆ SphericalBillboard

internal Matrix OmegaEngine.Graphics.Cameras.Camera.SphericalBillboard
getprotected

A rotation matrix for a faked spherical billboard effect

◆ View

internal Matrix OmegaEngine.Graphics.Cameras.Camera.View
getprotected

A left-handed view matrix for the current camera setting

◆ ViewInverse

internal Matrix OmegaEngine.Graphics.Cameras.Camera.ViewInverse
getprotected

An inverted view matrix for the current camera setting

◆ ViewInverseTranspose

internal Matrix OmegaEngine.Graphics.Cameras.Camera.ViewInverseTranspose
getprotected

An inverted and transposed view matrix for the current camera setting

◆ ViewTranspose

internal Matrix OmegaEngine.Graphics.Cameras.Camera.ViewTranspose
getprotected

A transposed view matrix for the current camera setting


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