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
PositionCached
protected DoubleVector3 PositionCached
Field Value
ProjectionDirty
Does OmegaEngine.Graphics.Cameras.Camera._projection need to be recalculated?
protected bool ProjectionDirty
Field Value
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
ViewFrustumDirty
Does the view frustum need to be recalculated?
protected bool ViewFrustumDirty
Field Value
Properties
ClipPlane
A custom clip plane behind which all objects are culled
public DoublePlane ClipPlane { get; set; }
Property Value
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
FieldOfView
The view angle in degrees
public float FieldOfView { get; set; }
Property Value
FrustumCulling
Shall the engine use view frustum culling to optimize the rendering performance?
public bool FrustumCulling { get; set; }
Property Value
Name
Text value to make it easier to identify a particular camera
public string? Name { get; set; }
Property Value
NearClip
Minimum distance of objects to the camera
public float NearClip { get; set; }
Property Value
Position
The camera's position in 3D-space
public DoubleVector3 Position { get; set; }
Property Value
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
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
floatThe number of pixels panned along the X-axis divided by the number of pixels of the longest side of the viewport.
panY
floatThe number of pixels panned along the Y-axis divided by the number of pixels of the longest side of the viewport.
rotation
floatHorizontal rotation in degrees.
zoom
floatScaling 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()