C# Class OctreeZone.TerrainZoneRenderable

Inheritance: Axiom.Graphics.SimpleRenderable
ファイルを表示 Open project: WolfgangSt/axiom Class Usage Examples

Public Properties

Property Type Description
DELTA_BINDING short
MAIN_BINDING short
MORPH_CUSTOM_PARAM_ID int
STITCH_EAST int
STITCH_EAST_SHIFT int
STITCH_NORTH int
STITCH_NORTH_SHIFT int
STITCH_SOUTH int
STITCH_SOUTH_SHIFT int
STITCH_WEST int
STITCH_WEST_SHIFT int

Public Methods

Method Description
AdjustRenderLevel ( int i ) : void
CalculateCFactor ( ) : Real
CalculateMinLevelDist2 ( Real C ) : void
CalculateNormals ( ) : void
CheckSize ( int n ) : bool
CreateDeltaBuffer ( ) : HardwareVertexBuffer
DeleteGeometry ( ) : void
GenerateTriListIndexes ( uint stitchFlags ) : IndexData
GenerateTriStripIndexes ( uint stitchFlags ) : IndexData
GenerateVertexLighting ( Vector3 sunlight, ColorEx ambient ) : void
GetHeightAt ( float x, float z ) : float
GetIndexData ( ) : IndexData
GetNeighbor ( Neighbor neighbor ) : TerrainZoneRenderable
GetNormalAt ( float x, float z, Vector3 &result ) : void
GetSquaredViewDepth ( Camera camera ) : float

Returns the camera-relative squared depth of this renderable.

Used to sort transparent objects. Squared depth is used rather than actual depth to avoid having to perform a square root on the result.

GetWorldOrientation ( ) : Quaternion
GetWorldPosition ( ) : Vector3
GetWorldTransforms ( Matrix4 matrices ) : void

Gets the world transform matrix / matrices for this renderable object.

If the object has any derived transforms, these are expected to be up to date as long as all the SceneNode structures have been updated before this is called.

This method will populate xform with 1 matrix if it does not use vertex blending. If it does use vertex blending it will fill the passed in pointer with an array of matrices, the length being the value returned from getNumWorldTransforms.

HasNeighborRenderLevel ( int i ) : bool
Index ( int x, int z ) : ushort
Initialize ( int startx, int startz, Real pageHeightData ) : void
IntersectSegment ( Vector3 start, Vector3 end, Vector3 &result ) : bool
NotifyCurrentCamera ( Camera cam ) : void
NumNeighbors ( ) : int
SetNeighbor ( Neighbor n, TerrainZoneRenderable t ) : void
StitchEdge ( Neighbor neighbor, int hiLOD, int loLOD, bool omitFirstTri, bool omitLastTri, ushort ppIdx ) : int
TerrainZoneRenderable ( string name, TerrainZone tsm ) : System
UpdateCustomGpuParameter ( GpuProgramParameters constantEntry, GpuProgramParameters param ) : void

Update a custom GpuProgramParameters constant which is derived from information only this Renderable knows.

This method allows a Renderable to map in a custom GPU program parameter based on it's own data. This is represented by a GPU auto parameter of AutoConstantType.Custom, and to allow there to be more than one of these per Renderable, the 'data' field on the auto parameter will identify which parameter is being updated. The implementation of this method must identify the parameter being updated, and call a 'SetConstant' method on the passed in GpuProgramParameters object, using the details provided in the incoming auto constant setting to identify the index at which to set the parameter.

UpdateRenderQueue ( RenderQueue queue ) : void
Vertex ( int x, int z, int n ) : float

Method Details

AdjustRenderLevel() public method

public AdjustRenderLevel ( int i ) : void
i int
return void

CalculateCFactor() public method

public CalculateCFactor ( ) : Real
return Real

CalculateMinLevelDist2() public method

public CalculateMinLevelDist2 ( Real C ) : void
C Real
return void

CalculateNormals() public method

public CalculateNormals ( ) : void
return void

CheckSize() public method

public CheckSize ( int n ) : bool
n int
return bool

CreateDeltaBuffer() public method

public CreateDeltaBuffer ( ) : HardwareVertexBuffer
return Axiom.Graphics.HardwareVertexBuffer

DeleteGeometry() public method

public DeleteGeometry ( ) : void
return void

GenerateTriListIndexes() public method

public GenerateTriListIndexes ( uint stitchFlags ) : IndexData
stitchFlags uint
return Axiom.Graphics.IndexData

GenerateTriStripIndexes() public method

public GenerateTriStripIndexes ( uint stitchFlags ) : IndexData
stitchFlags uint
return Axiom.Graphics.IndexData

GenerateVertexLighting() public method

public GenerateVertexLighting ( Vector3 sunlight, ColorEx ambient ) : void
sunlight Vector3
ambient Axiom.Core.ColorEx
return void

GetHeightAt() public method

public GetHeightAt ( float x, float z ) : float
x float
z float
return float

GetIndexData() public method

public GetIndexData ( ) : IndexData
return Axiom.Graphics.IndexData

GetNeighbor() public method

public GetNeighbor ( Neighbor neighbor ) : TerrainZoneRenderable
neighbor Neighbor
return TerrainZoneRenderable

GetNormalAt() public method

public GetNormalAt ( float x, float z, Vector3 &result ) : void
x float
z float
result Vector3
return void

GetSquaredViewDepth() public method

Returns the camera-relative squared depth of this renderable.
Used to sort transparent objects. Squared depth is used rather than actual depth to avoid having to perform a square root on the result.
public GetSquaredViewDepth ( Camera camera ) : float
camera Axiom.Core.Camera
return float

GetWorldOrientation() public method

public GetWorldOrientation ( ) : Quaternion
return Axiom.Math.Quaternion

GetWorldPosition() public method

public GetWorldPosition ( ) : Vector3
return Vector3

GetWorldTransforms() public method

Gets the world transform matrix / matrices for this renderable object.
If the object has any derived transforms, these are expected to be up to date as long as all the SceneNode structures have been updated before this is called.

This method will populate xform with 1 matrix if it does not use vertex blending. If it does use vertex blending it will fill the passed in pointer with an array of matrices, the length being the value returned from getNumWorldTransforms.

public GetWorldTransforms ( Matrix4 matrices ) : void
matrices Axiom.Math.Matrix4
return void

HasNeighborRenderLevel() public method

public HasNeighborRenderLevel ( int i ) : bool
i int
return bool

Index() public method

public Index ( int x, int z ) : ushort
x int
z int
return ushort

Initialize() public method

public Initialize ( int startx, int startz, Real pageHeightData ) : void
startx int
startz int
pageHeightData Real
return void

IntersectSegment() public method

public IntersectSegment ( Vector3 start, Vector3 end, Vector3 &result ) : bool
start Vector3
end Vector3
result Vector3
return bool

NotifyCurrentCamera() public method

public NotifyCurrentCamera ( Camera cam ) : void
cam Axiom.Core.Camera
return void

NumNeighbors() public method

public NumNeighbors ( ) : int
return int

SetNeighbor() public method

public SetNeighbor ( Neighbor n, TerrainZoneRenderable t ) : void
n Neighbor
t TerrainZoneRenderable
return void

StitchEdge() public method

public StitchEdge ( Neighbor neighbor, int hiLOD, int loLOD, bool omitFirstTri, bool omitLastTri, ushort ppIdx ) : int
neighbor Neighbor
hiLOD int
loLOD int
omitFirstTri bool
omitLastTri bool
ppIdx ushort
return int

TerrainZoneRenderable() public method

public TerrainZoneRenderable ( string name, TerrainZone tsm ) : System
name string
tsm TerrainZone
return System

UpdateCustomGpuParameter() public method

Update a custom GpuProgramParameters constant which is derived from information only this Renderable knows.
This method allows a Renderable to map in a custom GPU program parameter based on it's own data. This is represented by a GPU auto parameter of AutoConstantType.Custom, and to allow there to be more than one of these per Renderable, the 'data' field on the auto parameter will identify which parameter is being updated. The implementation of this method must identify the parameter being updated, and call a 'SetConstant' method on the passed in GpuProgramParameters object, using the details provided in the incoming auto constant setting to identify the index at which to set the parameter.
public UpdateCustomGpuParameter ( GpuProgramParameters constantEntry, GpuProgramParameters param ) : void
constantEntry Axiom.Graphics.GpuProgramParameters The auto constant entry referring to the parameter being updated.
param Axiom.Graphics.GpuProgramParameters The parameters object which this method should call to set the updated parameters.
return void

UpdateRenderQueue() public method

public UpdateRenderQueue ( RenderQueue queue ) : void
queue Axiom.Graphics.RenderQueue
return void

Vertex() public method

public Vertex ( int x, int z, int n ) : float
x int
z int
n int
return float

Property Details

DELTA_BINDING public_oe static_oe property

public static short DELTA_BINDING
return short

MAIN_BINDING public_oe static_oe property

public static short MAIN_BINDING
return short

MORPH_CUSTOM_PARAM_ID public_oe static_oe property

public static int MORPH_CUSTOM_PARAM_ID
return int

STITCH_EAST public_oe static_oe property

public static int STITCH_EAST
return int

STITCH_EAST_SHIFT public_oe static_oe property

public static int STITCH_EAST_SHIFT
return int

STITCH_NORTH public_oe static_oe property

public static int STITCH_NORTH
return int

STITCH_NORTH_SHIFT public_oe static_oe property

public static int STITCH_NORTH_SHIFT
return int

STITCH_SOUTH public_oe static_oe property

public static int STITCH_SOUTH
return int

STITCH_SOUTH_SHIFT public_oe static_oe property

public static int STITCH_SOUTH_SHIFT
return int

STITCH_WEST public_oe static_oe property

public static int STITCH_WEST
return int

STITCH_WEST_SHIFT public_oe static_oe property

public static int STITCH_WEST_SHIFT
return int