Property | Type | Description | |
---|---|---|---|
DELTA_BUFFER | short | ||
POSITION_BUFFER | short |
Property | Type | Description | |
---|---|---|---|
mAABB | |||
mBaseLod | ushort | ||
mBoundaryX | ushort | ||
mBoundaryY | ushort | ||
mBoundingRadius | float | ||
mChildWithMaxHeightDelta | TerrainQuadTreeNode | ||
mChildren | TerrainQuadTreeNode[] | ||
mCurrentLod | int | ||
mDepth | ushort | ||
mLocalCentre | Vector3 | ||
mLodLevels | List |
||
mLodTransition | float | ||
mMaterialLodIndex | ushort | ||
mNodeWithVertexData | TerrainQuadTreeNode | ||
mOffsetX | ushort | ||
mOffsetY | ushort | ||
mParent | TerrainQuadTreeNode | ||
mQuadrant | ushort | ||
mRend | TerrainRendable | ||
mSelfOrChildRendered | bool | ||
mSize | ushort | ||
mTerrain | Terrain | ||
mVertexDataRecord | VertexDataRecord |
Method | Description | |
---|---|---|
AssignVertexData ( ushort treeDepthStart, ushort treeDepthEnd, ushort resolution, ushort sz ) : void |
Assign vertex data to the tree, from a depth and at a given resolution.
|
|
CalculateCurrentLod ( |
Calculate appropriate LOD for this node and children
|
|
Dispose ( ) : void |
|
|
FinaliseDeltaValues ( |
Promote the delta values calculated to the runtime ones (this must be called in the main thread).
|
|
GetChild ( ushort child ) : |
Get child node
|
|
GetLodLevel ( ushort lod ) : |
Get the LodLevel information for a given lod.
|
|
GetSquaredViewDepth ( |
|
|
GetWorldTransforms ( |
|
|
Load ( ) : void |
Load node and children (perform GPU tasks, will be render thread)
|
|
MergeIntoBounds ( long x, long y, Vector3 pos ) : void |
Merge a point (relative to terrain node) into the local bounds, and that of children if applicable.
|
|
NotifyDelta ( ushort x, ushort y, ushort lod, float delta ) : void |
Notify the node (and children) of a height delta value.
|
|
PointIntersectsNode ( long x, long y ) : bool |
Returns true if the given point is in the terrain area that this node references.
|
|
PostDeltaCalculation ( |
Notify the node (and children) that deltas are going to be calculated for a given range.
|
|
PreDeltaCalculation ( |
Notify the node (and children) that deltas are going to be calculated for a given range.
|
|
Prepare ( ) : void |
Prepare node and children (perform CPU tasks, may be background thread)
|
|
RectContainsNode ( |
Returns true if the given rectangle completely contains the terrain area that this node references.
|
|
RectIntersectsNode ( |
Returns true if the given rectangle overlaps the terrain area that this node references.
|
|
ResetBounds ( |
Reset the bounds of this node and all its children for the region given.
|
|
TerrainQuadTreeNode ( Axiom.Components.Terrain.Terrain terrain, |
Default constructor.
|
|
Unload ( ) : void |
Unload node and children (perform GPU tasks, will be render thread)
|
|
Unprepare ( ) : void |
Unprepare node and children (perform CPU tasks, may be background thread)
|
|
UpdateRenderQueue ( |
|
|
UpdateVertexData ( bool positions, bool deltas, |
Tell the node to update its vertex data for a given region.
|
|
UseAncestorVertexData ( |
Tell a node that it should use an anscestor's vertex data.
|
|
VisitRenderables ( bool debugRenderables ) : void |
|
Method | Description | |
---|---|---|
CalcSkirtVertexIndex ( ushort mainIndex, bool isCol ) : ushort |
|
|
CreateCpuIndexData ( ) : void |
|
|
CreateCpuVertexData ( ) : void |
|
|
CreateGpuIndexData ( ) : void |
|
|
CreateGpuVertexData ( ) : void |
|
|
CreateTriangleStripBuffer ( ushort batchSize, |
|
|
DestroyCpuIndexData ( ) : void |
|
|
DestroyCpuVertexData ( ) : void |
|
|
DestroyGpuIndexData ( ) : void |
|
|
DestroyGpuVertexData ( ) : void |
|
|
UpdateGpuVertexData ( ) : void |
|
|
UpdateVertexBuffer ( |
|
Method | Description | |
---|---|---|
UpdateVertexBufferr ( |
public AssignVertexData ( ushort treeDepthStart, ushort treeDepthEnd, ushort resolution, ushort sz ) : void | ||
treeDepthStart | ushort | |
treeDepthEnd | ushort | The end of the depth that should use this data (exclusive) |
resolution | ushort | The resolution of the data to use (compared to full terrain) |
sz | ushort | The size of the data along one edge |
return | void |
protected CalcSkirtVertexIndex ( ushort mainIndex, bool isCol ) : ushort | ||
mainIndex | ushort | |
isCol | bool | |
return | ushort |
public CalculateCurrentLod ( |
||
cam | The camera to be used (this should already be the LOD camera) | |
cFactor | float | The cFactor which incorporates the viewport size, max pixel error and lod bias |
return | bool |
protected CreateTriangleStripBuffer ( ushort batchSize, |
||
batchSize | ushort | |
destData | ||
return | void |
public FinaliseDeltaValues ( |
||
rect | ||
return | void |
public GetChild ( ushort child ) : |
||
child | ushort | |
return |
public GetLodLevel ( ushort lod ) : |
||
lod | ushort | /// The lod level index relative to this classes own list; if you /// want to use a global lod level, subtract getBaseLod() first. Higher /// LOD levels are lower detail. /// |
return |
public GetSquaredViewDepth ( |
||
cam | ||
return | float |
public GetWorldTransforms ( |
||
xform | ||
return | void |
public MergeIntoBounds ( long x, long y, Vector3 pos ) : void | ||
x | long | The point on the terrain to which this position corresponds /// (affects which nodes update their bounds) |
y | long | The point on the terrain to which this position corresponds /// (affects which nodes update their bounds) |
pos | Vector3 | The position relative to the terrain centre |
return | void |
public NotifyDelta ( ushort x, ushort y, ushort lod, float delta ) : void | ||
x | ushort | |
y | ushort | |
lod | ushort | |
delta | float | |
return | void |
public PointIntersectsNode ( long x, long y ) : bool | ||
x | long | The point in top-level terrain coords |
y | long | The point in top-level terrain coords |
return | bool |
public PostDeltaCalculation ( |
||
rect | ||
return | void |
public PreDeltaCalculation ( |
||
rect | ||
return | void |
public RectContainsNode ( |
||
rect | The region in top-level terrain coords | |
return | bool |
public RectIntersectsNode ( |
||
rect | The region in top-level terrain coords | |
return | bool |
public ResetBounds ( |
||
rect | The region for which bounds should be reset, in top-level terrain coords | |
return | void |
public TerrainQuadTreeNode ( Axiom.Components.Terrain.Terrain terrain, |
||
terrain | Axiom.Components.Terrain.Terrain | The ultimate parent terrain |
parent | ptional parent node (in which case xoff, yoff are 0 and size must be entire terrain) | |
xOff | ushort | Offsets from the start of the terrain data in 2D |
yOff | ushort | Offsets from the start of the terrain data in 2D |
size | ushort | The size of the node in vertices at the highest LOD |
lod | ushort | The base LOD level |
depth | ushort | The depth that this node is at in the tree (or convenience) |
quadrant | ushort | The index of the quadrant (0, 1, 2, 3) |
return | System |
public UpdateRenderQueue ( |
||
queue | ||
return | void |
protected UpdateVertexBuffer ( |
||
posBuff | ||
deltaBuf | ||
rect | ||
return | void |
public UpdateVertexData ( bool positions, bool deltas, |
||
positions | bool | |
deltas | bool | |
rect | ||
cpuData | bool | |
return | void |
public UseAncestorVertexData ( |
||
owner | ||
treeDepthEnd | int | The end of the depth that should use this data (exclusive) |
resolution | int | The resolution of the data to use |
return | void |
public VisitRenderables ( bool debugRenderables ) : void | ||
debugRenderables | bool | |
return | void |
protected AxisAlignedBox,Axiom.Math mAABB | ||
return |
protected TerrainQuadTreeNode mChildWithMaxHeightDelta | ||
return | TerrainQuadTreeNode |
protected TerrainQuadTreeNode[] mChildren | ||
return | TerrainQuadTreeNode[] |
protected TerrainQuadTreeNode mNodeWithVertexData | ||
return | TerrainQuadTreeNode |