# 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