# Class: Geometry
几何资源,用于定义渲染中的图元数据。
# Table of contents
# Constructors
# Accessors
# Methods
- addSubMesh
- getIndiceLength
- getIndiceStart
- getMaterialIndex
- getSubMeshCount
- getVertexLayout
- modifySubMesh
- setBoundBall
- setBoundBox
- uploadIndexBuffer
- uploadVertexBuffer
# Constructors
# constructor
• new Geometry(_scene
, vertexLayout
, vBuffer
, iBuffer
, indexType?
)
构造一个Geometry
。
# Parameters
Name | Type |
---|---|
_scene | Scene |
vertexLayout | default |
vBuffer | ArrayBufferView |
iBuffer | ArrayBufferView |
indexType | EIndexType |
# Accessors
# boundBall
• get
boundBall(): BoundBall
包围球,只读。
# Returns
# boundBox
• get
boundBox(): BoundBox
包围盒,只读。
# Returns
# indexBuffer
• get
indexBuffer(): default
获取IndexBuffer。
# Returns
default
# indexData
• get
indexData(): default
获取IndexData。
这种类型的索引数据用于合批,只对于开启了dynamicBatch
的Renderer有效。
注意如果已经获取过indexBuffer
,将无效。
# Returns
default
# vertexBuffer
• get
vertexBuffer(): default
获取VertexBuffer。
# Returns
default
# vertexData
• get
vertexData(): default
获取VertexData。
这种类型的顶点数据用于合批,只对于开启了dynamicBatch
的Renderer有效。
注意如果已经获取过vertexBuffer
,将无效。
# Returns
default
# vertexLayout
• get
vertexLayout(): default
获取VertexLayout。
# Returns
default
# Methods
# addSubMesh
▸ addSubMesh(length
, offset
, materialIndex?
): void
增加subMesh。
# Parameters
Name | Type | Description |
---|---|---|
length | number | 索引长度 |
offset | number | 索引起始偏移 |
materialIndex? | number | - |
# Returns
void
# getIndiceLength
▸ getIndiceLength(subMeshIndex
): number
获取指定序号的subMesh的索引长度
# Parameters
Name | Type |
---|---|
subMeshIndex | number |
# Returns
number
索引长度,返回-1代表SubMesh不存在
# getIndiceStart
▸ getIndiceStart(subMeshIndex
): number
获取指定序号的subMesh的索引起始点
# Parameters
Name | Type |
---|---|
subMeshIndex | number |
# Returns
number
索引起始点,返回-1代表SubMesh不存在
# getMaterialIndex
▸ getMaterialIndex(subMeshIndex
): number
获取指定序号的subMesh的材质序号
# Parameters
Name | Type |
---|---|
subMeshIndex | number |
# Returns
number
材质序号,返回-1代表subMesh不存在
# getSubMeshCount
▸ getSubMeshCount(): number
获取当前mesh有多少subMesh
# Returns
number
# getVertexLayout
▸ getVertexLayout(): default
获取VertexLayout。
# Returns
default
# modifySubMesh
▸ modifySubMesh(subMeshIndex
, length
, offset
): boolean
修改subMesh。
# Parameters
Name | Type | Description |
---|---|---|
subMeshIndex | number | - |
length | number | 索引长度 |
offset | number | 索引起始偏移 |
# Returns
boolean
# setBoundBall
▸ setBoundBall(center
, radius
): void
动态更新包围球。
# Parameters
Name | Type |
---|---|
center | Vector3 |
radius | number |
# Returns
void
# setBoundBox
▸ setBoundBox(center
, size
, autoUpdateBall?
): void
动态更新包围盒,默认会自动计算包围球。
# Parameters
# Returns
void
# uploadIndexBuffer
▸ uploadIndexBuffer(offset
, buffer
): void
更新IndexBuffer。
仅在获取了indexBuffer
后有效。
# Parameters
Name | Type |
---|---|
offset | number |
buffer | Uint16Array | Uint32Array |
# Returns
void
# uploadVertexBuffer
▸ uploadVertexBuffer(offset
, buffer
): void
更新VertexBuffer。
仅在获取了vertexBuffer
后有效。
# Parameters
Name | Type |
---|---|
offset | number |
buffer | ArrayBufferView |
# Returns
void