C# 클래스 Axiom.Core.BillboardSet

A collection of billboards (faces which are always facing the camera) with the same (default) dimensions, material and which are fairly close proximity to each other.
Billboards are rectangles made up of 2 tris which are always facing the camera. They are typically used for special effects like particles. This class collects together a set of billboards with the same (default) dimensions, material and relative locality in order to process them more efficiently. The entire set of billboards will be culled as a whole (by default, although this can be changed if you want a large set of billboards which are spread out and you want them culled individually), individual Billboards have locations which are relative to the set (which itself derives it's position from the SceneNode it is attached to since it is a SceneObject), they will be rendered as a single rendering operation, and some calculations will be sped up by the fact that they use the same dimensions so some workings can be reused.

A BillboardSet can be created using the SceneManager.CreateBillboardSet method. They can also be used internally by other classes to create effects.

상속: Axiom.Core.MovableObject, IRenderable
파일 보기 프로젝트 열기: WolfgangSt/axiom 1 사용 예제들

보호된 프로퍼티들

프로퍼티 타입 설명
aab Axiom.Math.AxisAlignedBox
accurateFacing bool
activeBillboards List
allDefaultRotation bool
allDefaultSize bool
autoExtendPool bool
billboardPool List
billboardType BillboardType
boundingRadius float
camPos Vector3
camQ Axiom.Math.Quaternion
camX Vector3
colorIndex int
commonDirection Vector3
commonUpVector Vector3
cullIndividual bool
currentCamera Camera
customParams List
defaultParticleHeight float
defaultParticleWidth float
fixedTextureCoords bool
freeBillboards List
indexData Axiom.Graphics.IndexData
leftOff float
lockPtr System.IntPtr
mainBuffer Axiom.Graphics.HardwareVertexBuffer
material Axiom.Graphics.Material
materialName string
numVisibleBillboards int
originType BillboardOrigin
pointRendering bool
posIndex int
ptrOffset int
rotationType BillboardRotationType
sphere Axiom.Math.Sphere
texIndex int
vOffset Vector3[]
vertexData Axiom.Graphics.VertexData
world Axiom.Math.Matrix4[]
worldSpace bool

공개 메소드들

메소드 설명
Clear ( ) : void

Empties all of the active billboards from this set.

CreateBillboard ( Vector3 position ) : Billboard

Overloaded method.

CreateBillboard ( Vector3 position, ColorEx color ) : Billboard

Creates a new billboard and adds it to this set.

UpdateBounds ( ) : void

Update the bounds of the BillboardSet.

보호된 메소드들

메소드 설명
GenerateBillboardAxes ( Vector3 &x, Vector3 &y ) : void

Overloaded method.

GenerateBillboardAxes ( Vector3 &x, Vector3 &y, Billboard bb ) : void

Generates billboard corners.

Billboard param only required for type OrientedSelf

GenerateVertexOffsets ( float left, float right, float top, float bottom, float width, float height, Vector3 &x, Vector3 &y, Vector3 destVec ) : void

Generates vertex offsets.

Takes in parametric offsets as generated from GetParametericOffsets, width and height values and billboard x and y axes as generated from GenerateBillboardAxes. Fills output array of 4 vectors with vector offsets from origin for left-top, right-top, left-bottom, right-bottom corners.

GenerateVertices ( Vector3 offsets, Billboard bb ) : void
GetBillboard ( int index ) : Billboard
GetParametricOffsets ( float &left, float &right, float &top, float &bottom ) : void

Generate parametric offsets based on the origin.

IncreasePool ( int size ) : void

Internal method for increasing pool size.

IsBillboardVisible ( Camera camera, Billboard billboard ) : bool

Determines whether the supplied billboard is visible in the camera or not.

NotifyBillboardResized ( ) : void

Callback used by Billboards to notify their parent that they have been resized.

NotifyBillboardRotated ( ) : void

Callback used by Billboards to notify their parent that they have been resized.

NotifyBillboardTextureCoordsModified ( ) : void

Notifies the billboardset that texture coordinates will be modified for this set.

RemoveBillboard ( Billboard bill ) : void
RemoveBillboard ( int index ) : void
SetBounds ( AxisAlignedBox box, float radius ) : void
SetTextureStacksAndSlices ( int stacks, int slices ) : void
dispose ( bool disposeManagedResources ) : void

비공개 메소드들

메소드 설명
BeginBillboards ( ) : void

Generate the vertices for all the billboards relative to the camera Also take the opportunity to update the vertex colours May as well do it here to save on loops elsewhere

BillboardSet ( string name, int poolSize ) : System

Public constructor. Should not be created manually, must be created using a SceneManager.

BillboardSet ( string name, int poolSize, bool externalData ) : System

Public constructor. Should not be created manually, must be created using a SceneManager.

CreateBuffers ( ) : void

Allocate / reallocate vertex data Note that we allocate enough space for ALL the billboards in the pool, but only issue rendering operations for the sections relating to the active billboards

DestroyBuffers ( ) : void
EndBillboards ( ) : void
IndexData ( ) : System
InjectBillboard ( Billboard bb ) : void
VertexData ( ) : System

메소드 상세

Clear() 공개 메소드

Empties all of the active billboards from this set.
public Clear ( ) : void
리턴 void

CreateBillboard() 공개 메소드

Overloaded method.
public CreateBillboard ( Vector3 position ) : Billboard
position Vector3
리턴 Billboard

CreateBillboard() 공개 메소드

Creates a new billboard and adds it to this set.
public CreateBillboard ( Vector3 position, ColorEx color ) : Billboard
position Vector3
color ColorEx
리턴 Billboard

GenerateBillboardAxes() 보호된 메소드

Overloaded method.
protected GenerateBillboardAxes ( Vector3 &x, Vector3 &y ) : void
x Vector3
y Vector3
리턴 void

GenerateBillboardAxes() 보호된 메소드

Generates billboard corners.
Billboard param only required for type OrientedSelf
protected GenerateBillboardAxes ( Vector3 &x, Vector3 &y, Billboard bb ) : void
x Vector3
y Vector3
bb Billboard
리턴 void

GenerateVertexOffsets() 보호된 메소드

Generates vertex offsets.
Takes in parametric offsets as generated from GetParametericOffsets, width and height values and billboard x and y axes as generated from GenerateBillboardAxes. Fills output array of 4 vectors with vector offsets from origin for left-top, right-top, left-bottom, right-bottom corners.
protected GenerateVertexOffsets ( float left, float right, float top, float bottom, float width, float height, Vector3 &x, Vector3 &y, Vector3 destVec ) : void
left float
right float
top float
bottom float
width float
height float
x Vector3
y Vector3
destVec Vector3
리턴 void

GenerateVertices() 보호된 메소드

protected GenerateVertices ( Vector3 offsets, Billboard bb ) : void
offsets Vector3
bb Billboard
리턴 void

GetBillboard() 보호된 메소드

protected GetBillboard ( int index ) : Billboard
index int
리턴 Billboard

GetParametricOffsets() 보호된 메소드

Generate parametric offsets based on the origin.
protected GetParametricOffsets ( float &left, float &right, float &top, float &bottom ) : void
left float
right float
top float
bottom float
리턴 void

IncreasePool() 보호된 메소드

Internal method for increasing pool size.
protected IncreasePool ( int size ) : void
size int
리턴 void

IsBillboardVisible() 보호된 메소드

Determines whether the supplied billboard is visible in the camera or not.
protected IsBillboardVisible ( Camera camera, Billboard billboard ) : bool
camera Camera
billboard Billboard
리턴 bool

NotifyBillboardResized() 보호된 메소드

Callback used by Billboards to notify their parent that they have been resized.
protected NotifyBillboardResized ( ) : void
리턴 void

NotifyBillboardRotated() 보호된 메소드

Callback used by Billboards to notify their parent that they have been resized.
protected NotifyBillboardRotated ( ) : void
리턴 void

NotifyBillboardTextureCoordsModified() 보호된 메소드

Notifies the billboardset that texture coordinates will be modified for this set.
protected NotifyBillboardTextureCoordsModified ( ) : void
리턴 void

RemoveBillboard() 보호된 메소드

protected RemoveBillboard ( Billboard bill ) : void
bill Billboard
리턴 void

RemoveBillboard() 보호된 메소드

protected RemoveBillboard ( int index ) : void
index int
리턴 void

SetBounds() 보호된 메소드

protected SetBounds ( AxisAlignedBox box, float radius ) : void
box Axiom.Math.AxisAlignedBox
radius float
리턴 void

SetTextureStacksAndSlices() 보호된 메소드

protected SetTextureStacksAndSlices ( int stacks, int slices ) : void
stacks int
slices int
리턴 void

UpdateBounds() 공개 메소드

Update the bounds of the BillboardSet.
public UpdateBounds ( ) : void
리턴 void

dispose() 보호된 메소드

protected dispose ( bool disposeManagedResources ) : void
disposeManagedResources bool
리턴 void

프로퍼티 상세

aab 보호되어 있는 프로퍼티

Bounds of all billboards in this set
protected AxisAlignedBox,Axiom.Math aab
리턴 Axiom.Math.AxisAlignedBox

accurateFacing 보호되어 있는 프로퍼티

protected bool accurateFacing
리턴 bool

activeBillboards 보호되어 있는 프로퍼티

protected List activeBillboards
리턴 List

allDefaultRotation 보호되어 있는 프로퍼티

protected bool allDefaultRotation
리턴 bool

allDefaultSize 보호되어 있는 프로퍼티

protected bool allDefaultSize
리턴 bool

autoExtendPool 보호되어 있는 프로퍼티

protected bool autoExtendPool
리턴 bool

billboardPool 보호되어 있는 프로퍼티

protected List billboardPool
리턴 List

billboardType 보호되어 있는 프로퍼티

Type of billboard to render.
protected BillboardType billboardType
리턴 BillboardType

boundingRadius 보호되어 있는 프로퍼티

The local bounding radius of this object.
protected float boundingRadius
리턴 float

camPos 보호되어 있는 프로퍼티

protected Vector3 camPos
리턴 Vector3

camQ 보호되어 있는 프로퍼티

protected Quaternion,Axiom.Math camQ
리턴 Axiom.Math.Quaternion

camX 보호되어 있는 프로퍼티

protected Vector3 camX
리턴 Vector3

colorIndex 보호되어 있는 프로퍼티

protected int colorIndex
리턴 int

commonDirection 보호되어 있는 프로퍼티

Common direction for billboard oriented with type Common.
protected Vector3 commonDirection
리턴 Vector3

commonUpVector 보호되어 있는 프로퍼티

Common up vector for billboard oriented with type Perpendicular.
protected Vector3 commonUpVector
리턴 Vector3

cullIndividual 보호되어 있는 프로퍼티

Indicates whether or not each billboard should be culled individually.
protected bool cullIndividual
리턴 bool

currentCamera 보호되어 있는 프로퍼티

protected Camera,Axiom.Core currentCamera
리턴 Camera

customParams 보호되어 있는 프로퍼티

protected List customParams
리턴 List

defaultParticleHeight 보호되어 있는 프로퍼티

protected float defaultParticleHeight
리턴 float

defaultParticleWidth 보호되어 있는 프로퍼티

Default width/height of each billboard.
protected float defaultParticleWidth
리턴 float

fixedTextureCoords 보호되어 있는 프로퍼티

Are tex coords fixed? If not they have been modified.
protected bool fixedTextureCoords
리턴 bool

freeBillboards 보호되어 있는 프로퍼티

protected List freeBillboards
리턴 List

indexData 보호되어 있는 프로퍼티

protected IndexData,Axiom.Graphics indexData
리턴 Axiom.Graphics.IndexData

leftOff 보호되어 있는 프로퍼티

protected float leftOff
리턴 float

lockPtr 보호되어 있는 프로퍼티

protected IntPtr,System lockPtr
리턴 System.IntPtr

mainBuffer 보호되어 있는 프로퍼티

protected HardwareVertexBuffer,Axiom.Graphics mainBuffer
리턴 Axiom.Graphics.HardwareVertexBuffer

material 보호되어 있는 프로퍼티

Reference to the material to use
protected Material,Axiom.Graphics material
리턴 Axiom.Graphics.Material

materialName 보호되어 있는 프로퍼티

Name of the material to use
protected string materialName
리턴 string

numVisibleBillboards 보호되어 있는 프로퍼티

protected int numVisibleBillboards
리턴 int

originType 보호되어 있는 프로퍼티

Origin of each billboard
protected BillboardOrigin originType
리턴 BillboardOrigin

pointRendering 보호되어 있는 프로퍼티

protected bool pointRendering
리턴 bool

posIndex 보호되어 있는 프로퍼티

protected int posIndex
리턴 int

ptrOffset 보호되어 있는 프로퍼티

protected int ptrOffset
리턴 int

rotationType 보호되어 있는 프로퍼티

protected BillboardRotationType rotationType
리턴 BillboardRotationType

sphere 보호되어 있는 프로퍼티

protected Sphere,Axiom.Math sphere
리턴 Axiom.Math.Sphere

texIndex 보호되어 있는 프로퍼티

protected int texIndex
리턴 int

vOffset 보호되어 있는 프로퍼티

protected Vector3[] vOffset
리턴 Vector3[]

vertexData 보호되어 있는 프로퍼티

protected VertexData,Axiom.Graphics vertexData
리턴 Axiom.Graphics.VertexData

world 보호되어 있는 프로퍼티

protected Matrix4[],Axiom.Math world
리턴 Axiom.Math.Matrix4[]

worldSpace 보호되어 있는 프로퍼티

True if particles follow the object the ParticleSystem is attached to.
protected bool worldSpace
리턴 bool