Table of Contents

Class Camera

Namespace
OmegaEngine.Graphics.Cameras
Assembly
OmegaEngine.dll

Determines the perspective from which a Scene is displayed.

public abstract class Camera : IPositionable
Inheritance
Camera
Implements
Derived
Inherited Members
Extension Methods

Fields

PositionBaseCached

protected DoubleVector3 PositionBaseCached

Field Value

DoubleVector3

PositionCached

protected DoubleVector3 PositionCached

Field Value

DoubleVector3

ProjectionDirty

Does OmegaEngine.Graphics.Cameras.Camera._projection need to be recalculated?

protected bool ProjectionDirty

Field Value

bool

SimpleViewCached

protected Matrix SimpleViewCached

Field Value

Matrix

ViewCached

protected Matrix ViewCached

Field Value

Matrix

ViewDirty

Does ViewCached need to be recalculated?

protected bool ViewDirty

Field Value

bool

ViewFrustumDirty

Does the view frustum need to be recalculated?

protected bool ViewFrustumDirty

Field Value

bool

Properties

ClipPlane

A custom clip plane behind which all objects are culled

public DoublePlane ClipPlane { get; set; }

Property Value

DoublePlane

CylindricalBillboard

A rotation matrix for a faked cylindrical billboard effect

protected Matrix CylindricalBillboard { get; }

Property Value

Matrix

FarClip

Maximum distance of objects to the camera

public float FarClip { get; set; }

Property Value

float

FieldOfView

The view angle in degrees

public float FieldOfView { get; set; }

Property Value

float

FrustumCulling

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

public bool FrustumCulling { get; set; }

Property Value

bool

Name

Text value to make it easier to identify a particular camera

public string? Name { get; set; }

Property Value

string

NearClip

Minimum distance of objects to the camera

public float NearClip { get; set; }

Property Value

float

Position

The camera's position in 3D-space

public DoubleVector3 Position { get; set; }

Property Value

DoubleVector3

PositionBase

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

public DoubleVector3 PositionBase { get; set; }

Property Value

DoubleVector3

Remarks

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

See Also
IPositionableOffset

SimpleView

A left-handed view matrix with absolutely no translation information

protected Matrix SimpleView { get; }

Property Value

Matrix

SphericalBillboard

A rotation matrix for a faked spherical billboard effect

protected Matrix SphericalBillboard { get; }

Property Value

Matrix

View

A left-handed view matrix for the current camera setting

protected Matrix View { get; }

Property Value

Matrix

ViewInverse

An inverted view matrix for the current camera setting

protected Matrix ViewInverse { get; }

Property Value

Matrix

ViewInverseTranspose

An inverted and transposed view matrix for the current camera setting

protected Matrix ViewInverseTranspose { get; }

Property Value

Matrix

ViewTranspose

A transposed view matrix for the current camera setting

protected Matrix ViewTranspose { get; }

Property Value

Matrix

Methods

CacheSpecialMatrices()

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

protected void CacheSpecialMatrices()

PerspectiveChange(float, float, float, float)

Called when the user changes the view perspective.

public abstract void PerspectiveChange(float panX, float panY, float rotation, float zoom)

Parameters

panX float

The number of pixels panned along the X-axis divided by the number of pixels of the longest side of the viewport.

panY float

The number of pixels panned along the Y-axis divided by the number of pixels of the longest side of the viewport.

rotation float

Horizontal rotation in degrees.

zoom float

Scaling factor; 1 for no change, must not be 0.

ToString()

Returns a string that represents the current object.

public override string ToString()

Returns

string

A string that represents the current object.

UpdateProjection()

Update OmegaEngine.Graphics.Cameras.Camera.Projection if necessary

protected virtual void UpdateProjection()

UpdateView()

Update cached versions of View and related matrices if necessary

protected abstract void UpdateView()

See Also