Свойство | Тип | Описание | |
---|---|---|---|
Initialize | void |
Метод | Описание | |
---|---|---|
CalcViewMatrixRelative ( Vector3 texProjRelativeOrigin, |
||
DisableCustomNearClipPlane ( ) : void |
Disables any custom near clip plane.
|
|
DisableReflection ( ) : void |
Disables reflection modification previously turned on with EnableReflection(Plane).
|
|
EnableCustomNearClipPlane ( IDerivedPlaneProvider plane ) : void |
Links the frustum to a custom near clip plane, which can be used to clip geometry in a custom manner without using user clip planes. There are several applications for clipping a scene arbitrarily by a single plane; the most common is when rendering a reflection to a texture, and you only want to render geometry that is above the water plane (to do otherwise results in artefacts). Whilst it is possible to use user clip planes, they are not supported on all cards, and sometimes are not hardware accelerated when they are available. Instead, where a single clip plane is involved, this technique uses a 'fudging' of the near clip plane, which is available and fast on all hardware, to perform as the arbitrary clip plane. This does change the shape of the frustum, leading to some depth buffer loss of precision, but for many of the uses of this technique that is not an issue. This version of the method links to a plane, rather than requiring a by-value plane definition, and therefore you can make changes to the plane (e.g. by moving / rotating the node it is attached to) and they will automatically affect this object. This technique only works for perspective projection. |
|
EnableCustomNearClipPlane ( |
Links the frustum to a custom near clip plane, which can be used to clip geometry in a custom manner without using user clip planes. There are several applications for clipping a scene arbitrarily by a single plane; the most common is when rendering a reflection to a texture, and you only want to render geometry that is above the water plane (to do otherwise results in artefacts). Whilst it is possible to use user clip planes, they are not supported on all cards, and sometimes are not hardware accelerated when they are available. Instead, where a single clip plane is involved, this technique uses a 'fudging' of the near clip plane, which is available and fast on all hardware, to perform as the arbitrary clip plane. This does change the shape of the frustum, leading to some depth buffer loss of precision, but for many of the uses of this technique that is not an issue. This version of the method links to a plane, rather than requiring a by-value plane definition, and therefore you can make changes to the plane (e.g. by moving / rotating the node it is attached to) and they will automatically affect this object. This technique only works for perspective projection. |
|
EnableReflection ( IDerivedPlaneProvider plane ) : void |
Modifies this frustum so it always renders from the reflection of itself through the plane specified. Note that this version of the method links to a plane so that changes to it are picked up automatically. This is obviously useful for performing planar reflections. |
|
EnableReflection ( |
Modifies this camera so it always renders from the reflection of itself through the plane specified. This is obviously useful for rendering planar reflections. |
|
Frustum ( ) : System |
Default constructor.
|
|
Frustum ( string name ) : System | ||
GetCustomParameter ( int index ) : Vector4 | ||
GetFrustumExtents ( float &left, float &right, float &top, float &bottom ) : void | ||
GetSquaredViewDepth ( |
||
GetWorldTransforms ( |
||
IsObjectVisible ( |
Overloaded method.
|
|
IsObjectVisible ( |
Tests whether the given box is visible in the Frustum.
|
|
IsObjectVisible ( |
Overloaded method.
|
|
IsObjectVisible ( |
Tests whether the given sphere is in the viewing frustum.
|
|
IsObjectVisible ( Vector3 vertex ) : bool |
Overloaded method.
|
|
IsObjectVisible ( Vector3 vertex, FrustumPlane &culledBy ) : bool |
Tests whether the given 3D point is in the viewing frustum.
|
|
NotifyCurrentCamera ( |
|
|
ProjectSphere ( |
||
ResetFrustumExtents ( ) : void | ||
SetCustomParameter ( int index, Vector4 val ) : void | ||
SetCustomProjectionMatrix ( bool enable ) : void | ||
SetCustomProjectionMatrix ( bool enable, |
||
SetCustomViewMatrix ( bool enable ) : void | ||
SetCustomViewMatrix ( bool enable, |
||
SetFrustumExtents ( float left, float right, float top, float bottom ) : void | ||
SetOrthoWindow ( float w, float h ) : void |
Set view area size for orthographic mode. Note that this method adjusts the frustum's aspect ratio. |
|
UpdateCustomGpuParameter ( |
||
UpdateRenderQueue ( |
Implemented to add outself to the rendering queue.
|
|
this ( FrustumPlane plane ) : |
An indexer that accepts a FrustumPlane enum value and return the appropriate plane side of the Frustum.
|
Метод | Описание | |
---|---|---|
CalculateProjectionParameters ( Real &vpLeft, Real &vpRight, Real &vpBottom, Real &vpTop ) : void | ||
GetOrientationForViewUpdate ( ) : |
Get the derived orientation of this frustum.
|
|
GetPositionForViewUpdate ( ) : Vector3 |
Get the derived position of this frustum.
|
|
InvalidateFrustum ( ) : void |
Signal to update frustum information.
|
|
InvalidateView ( ) : void |
Signal to update view information.
|
|
UpdateFrustum ( ) : void |
Updates the frustum data.
|
|
UpdateFrustumPlanes ( ) : void | ||
UpdateVertexData ( ) : void | ||
UpdateView ( ) : void |
Updates the view matrix.
|
|
UpdateWorldSpaceCorners ( ) : void | ||
_updateFrustum ( ) : void | ||
_updateFrustumPlanes ( ) : void | ||
_updateView ( ) : void | ||
_updateWorldSpaceCorners ( ) : void | ||
dispose ( bool disposeManagedResources ) : void |
Class level dispose method When implementing this method in an inherited class the following template should be used; protected override void dispose( bool disposeManagedResources ) { if ( !isDisposed ) { if ( disposeManagedResources ) { // Dispose managed resources. } // There are no unmanaged resources to release, but // if we add them, they need to be released here. } // If it is available, make the call to the // base class's Dispose(Boolean) method base.dispose( disposeManagedResources ); } |
Метод | Описание | |
---|---|---|
Initialize ( ) : void |
public CalcViewMatrixRelative ( Vector3 texProjRelativeOrigin, |
||
texProjRelativeOrigin | Vector3 | |
tmp | ||
Результат | void |
protected CalculateProjectionParameters ( Real &vpLeft, Real &vpRight, Real &vpBottom, Real &vpTop ) : void | ||
vpLeft | Real | |
vpRight | Real | |
vpBottom | Real | |
vpTop | Real | |
Результат | void |
public DisableCustomNearClipPlane ( ) : void | ||
Результат | void |
public EnableCustomNearClipPlane ( IDerivedPlaneProvider plane ) : void | ||
plane | IDerivedPlaneProvider | The plane to link to to perform the clipping. |
Результат | void |
public EnableCustomNearClipPlane ( |
||
plane | The plane to link to to perform the clipping. | |
Результат | void |
public EnableReflection ( IDerivedPlaneProvider plane ) : void | ||
plane | IDerivedPlaneProvider | |
Результат | void |
public EnableReflection ( |
||
plane | ||
Результат | void |
public GetCustomParameter ( int index ) : Vector4 | ||
index | int | |
Результат | Vector4 |
public GetFrustumExtents ( float &left, float &right, float &top, float &bottom ) : void | ||
left | float | |
right | float | |
top | float | |
bottom | float | |
Результат | void |
protected GetOrientationForViewUpdate ( ) : |
||
Результат |
protected GetPositionForViewUpdate ( ) : Vector3 | ||
Результат | Vector3 |
public GetSquaredViewDepth ( |
||
camera | ||
Результат | float |
public GetWorldTransforms ( |
||
matrices | ||
Результат | void |
public IsObjectVisible ( |
||
box | ||
Результат | bool |
public IsObjectVisible ( |
||
box | Bounding box to be checked. | |
culledBy | FrustumPlane | /// Optional FrustrumPlane params which will be filled by the plane which culled /// the box if the result was false. /// |
Результат | bool |
public IsObjectVisible ( |
||
sphere | ||
Результат | bool |
public IsObjectVisible ( |
||
sphere | Bounding sphere to be checked. | |
culledBy | FrustumPlane | /// Optional FrustrumPlane params which will be filled by the plane which culled /// the box if the result was false. /// |
Результат | bool |
public IsObjectVisible ( Vector3 vertex ) : bool | ||
vertex | Vector3 | |
Результат | bool |
public IsObjectVisible ( Vector3 vertex, FrustumPlane &culledBy ) : bool | ||
vertex | Vector3 | 3D point to check for frustum visibility. |
culledBy | FrustumPlane | /// Optional FrustrumPlane params which will be filled by the plane which culled /// the box if the result was false. /// |
Результат | bool |
public NotifyCurrentCamera ( |
||
camera | ||
Результат | void |
public ProjectSphere ( |
||
sphere | ||
left | float | |
top | float | |
right | float | |
bottom | float | |
Результат | bool |
public SetCustomParameter ( int index, Vector4 val ) : void | ||
index | int | |
val | Vector4 | |
Результат | void |
public SetCustomProjectionMatrix ( bool enable ) : void | ||
enable | bool | |
Результат | void |
public SetCustomProjectionMatrix ( bool enable, |
||
enable | bool | |
projMatrix | ||
Результат | void |
public SetCustomViewMatrix ( bool enable ) : void | ||
enable | bool | |
Результат | void |
public SetCustomViewMatrix ( bool enable, |
||
enable | bool | |
viewMatrix | ||
Результат | void |
public SetFrustumExtents ( float left, float right, float top, float bottom ) : void | ||
left | float | |
right | float | |
top | float | |
bottom | float | |
Результат | void |
public SetOrthoWindow ( float w, float h ) : void | ||
w | float | Width of the area to be visible |
h | float | Height of the area to be visible |
Результат | void |
public UpdateCustomGpuParameter ( |
||
entry | ||
gpuParams | ||
Результат | void |
public UpdateRenderQueue ( |
||
queue | ||
Результат | void |
protected UpdateWorldSpaceCorners ( ) : void | ||
Результат | void |
protected _updateWorldSpaceCorners ( ) : void | ||
Результат | void |
protected dispose ( bool disposeManagedResources ) : void | ||
disposeManagedResources | bool | True if Unmanaged resources should be released. |
Результат | void |
public this ( FrustumPlane plane ) : |
||
plane | FrustumPlane | |
Результат |
protected AxisAlignedBox,Axiom.Math _boundingBox | ||
Результат |
protected bool _frustumExtentsManuallySet | ||
Результат | bool |
protected Quaternion,Axiom.Math _lastParentOrientation | ||
Результат |
protected Material,Axiom.Graphics _material | ||
Результат |
protected Matrix4,Axiom.Math _projectionMatrix | ||
Результат |
protected Matrix4,Axiom.Math _projectionMatrixRS | ||
Результат |
protected Matrix4,Axiom.Math _projectionMatrixRSDepth | ||
Результат |
protected bool _recalculateFrustumPlanes | ||
Результат | bool |
protected bool _recalculateWorldSpaceCorners | ||
Результат | bool |
protected VertexData,Axiom.Graphics _vertexData | ||
Результат |
protected Matrix4,Axiom.Math _viewMatrix | ||
Результат |
protected Plane,Axiom.Math lastLinkedObliqueProjPlane | ||
Результат |
protected Plane,Axiom.Math lastLinkedReflectionPlane | ||
Результат |
protected IDerivedPlaneProvider linkedObliqueProjPlane | ||
Результат | IDerivedPlaneProvider |
protected IDerivedPlaneProvider linkedReflectionPlane | ||
Результат | IDerivedPlaneProvider |
protected Plane,Axiom.Math obliqueProjPlane | ||
Результат |
protected RenderOperation,Axiom.Graphics renderOperation | ||
Результат |