跳到主要内容
版本:v10.0

M3D / M3D / Render / GPUObjects

Class: GPUObjects

M3D.Render.GPUObjects

Memberof

M3D.Render

Description

Buffer管理类

Author

ss

Table of contents

Constructors

Methods

Constructors

constructor

new GPUObjects(scene?): GPUObjects

Parameters

NameType
scene?Scene

Returns

GPUObjects

Description

构造函数

Methods

addProtoInstanceVBO

addProtoInstanceVBO(proto, vertexBuffer): void

Parameters

NameType
protoany
vertexBufferVertexBuffer

Returns

void

Description

添加原型对应实例VBO


addVertexBuffer

addVertexBuffer(node, vertexBuffer): void

Parameters

NameType
nodeRenderTreeNode
vertexBufferVertexBuffer

Returns

void

Description

添加VBO


clear

clear(): void

Returns

void

Description

数据清空


clearSectionLineVBOMap

clearSectionLineVBOMap(plane): void

Parameters

NameType
planeSectionPlane

Returns

void

Description

清空剖切面对应轮廓线VBO数据


createOrUpdateGpuObject

createOrUpdateGpuObject(viewport, renderTree): any

Parameters

NameType
viewportViewport
renderTreeRenderTree

Returns

any

Description

生成或更新GPU数据

createOrUpdateGpuObject(node): any

Parameters

NameType
nodeRenderTreeNode

Returns

any

Description

生成或更新GPU数据


getBufferInfo

getBufferInfo(shape): number[]

Parameters

NameType
shapeShape

Returns

number[]

Description

获取buffer信息

getBufferInfo(node): number[]

Parameters

NameType
nodeRenderTreeNode

Returns

number[]

Description

获取buffer信息


getFBO

getFBO(name): GPUObject

Parameters

NameType
namestring | number

Returns

GPUObject

Description

获取FBO


getGridBufferInfo

getGridBufferInfo(shape): number[]

Parameters

NameType
shapeShape

Returns

number[]

Description

获取三角网格Buffer信息

getGridBufferInfo(node): number[]

Parameters

NameType
nodeRenderTreeNode

Returns

number[]

Description

获取三角网格Buffer信息


getIBOWithNode

getIBOWithNode(node): GPUObject

Parameters

NameType
nodeRenderTreeNode

Returns

GPUObject

Description

通过节点获取IBO

getIBOWithNode(face): GPUObject

Parameters

NameType
faceFace

Returns

GPUObject

Description

通过面对象获取IBO

getIBOWithNode(face): GPUObject

Parameters

NameType
faceShape

Returns

GPUObject

Description

通过shape对象获取IBO


getIndexBuffer

getIndexBuffer(node): any

Parameters

NameType
nodeRenderTreeNode

Returns

any

Description

获取IBO

getIndexBuffer(node, context): any

Parameters

NameType
nodeRenderTreeNode
contextRenderContext

Returns

any

Description

获取IBO


getProtoInstanceVBOS

getProtoInstanceVBOS(proto, renderContext): VertexBuffer[]

Parameters

NameType
protoany
renderContextRenderContext

Returns

VertexBuffer[]

Description

获取原型对应实例对象VBO


getProtoVBO

getProtoVBO(proto, renderContext, lodLevel): VertexBuffer

Parameters

NameType
protoany
renderContextRenderContext
lodLevelnumber

Returns

VertexBuffer

Description

获取VBO


getRenderContext

getRenderContext(): RenderContext

Returns

RenderContext

Description

获取渲染上下文


getRenderContexts

getRenderContexts(): RenderContext[]

Returns

RenderContext[]

Description

获取渲染上下文列表


getScene

getScene(): Scene

Returns

Scene

Description

获取场景


getSectionLineVBO

getSectionLineVBO(line, map): VertexBuffer

Parameters

NameType
lineSectionLine
mapMap<number, VertexBuffer>

Returns

VertexBuffer

Description

获取轮廓线vbo


getSectionLineVBOMap

getSectionLineVBOMap(plane): Map<number, VertexBuffer>

Parameters

NameType
planeSectionPlane

Returns

Map<number, VertexBuffer>

Description

获取剖切面对应轮廓线vboMap


getVBOWithNode

getVBOWithNode(node): GPUObject

Parameters

NameType
nodeRenderTreeNode

Returns

GPUObject

Description

通过节点获取VBO

getVBOWithNode(face): GPUObject

Parameters

NameType
faceFace

Returns

GPUObject

Description

通过面对象获取VBO

getVBOWithNode(face): GPUObject

Parameters

NameType
faceShape

Returns

GPUObject

Description

通过shape对象获取VBO


getVertexBuffer

getVertexBuffer(node): any

Parameters

NameType
nodeRenderTreeNode

Returns

any

Description

获取VBO

getVertexBuffer(node, context): VertexBuffer[]

Parameters

NameType
nodeRenderTreeNode
contextRenderContext

Returns

VertexBuffer[]

Description

获取VBO


getVertexSets

getVertexSets(): VertexSets

Returns

VertexSets

Description

获取顶点集管理类


processGPUObject

processGPUObject(...paras): void

Parameters

NameType
...parasany[]

Returns

void

Description

处理GPU数据


removeGpuObject

removeGpuObject(id): void

Parameters

NameType
idnumber

Returns

void

Description

vbo、ibo资源释放


removeInstanceGpuObject

removeInstanceGpuObject(protoId): void

Parameters

NameType
protoIdnumber

Returns

void

Description

通过原型id进行多实例合批后的GPU资源的释放


setBufferInfo

setBufferInfo(shape, offset, length): boolean

Parameters

NameType
shapeShape
offsetany
lengthany

Returns

boolean

Description

设置buffer信息

setBufferInfo(node, offset, length): boolean

Parameters

NameType
nodeRenderTreeNode
offsetany
lengthany

Returns

boolean

Description

设置buffer信息


setGridBufferInfo

setGridBufferInfo(shape, offset, length): boolean

Parameters

NameType
shapeShape
offsetany
lengthany

Returns

boolean

Description

设置三角网格Buffer信息

setGridBufferInfo(node, offset, length): boolean

Parameters

NameType
nodeRenderTreeNode
offsetany
lengthany

Returns

boolean

Description

设置三角网格Buffer信息


setIndexBuffer

setIndexBuffer(node, indexBuffer): void

Parameters

NameType
nodeRenderTreeNode
indexBufferIndexBuffer

Returns

void

Description

设置IBO


setProtoVBO

setProtoVBO(proto, renderContext, lodLevel, vertexBuffer): void

Parameters

NameType
protoany
renderContextRenderContext
lodLevelnumber
vertexBufferVertexBuffer

Returns

void

Description

创建原型VBO


setRenderContext

setRenderContext(context): void

Parameters

NameType
contextRenderContext

Returns

void

Description

设置渲染上下文


setVertexBuffer

setVertexBuffer(node, vertexMap): void

Parameters

NameType
nodeRenderTreeNode
vertexMapMap<RenderContext, VertexBuffer[]>

Returns

void

Description

设置VBO


setVertexSets

setVertexSets(vertexSets): void

Parameters

NameType
vertexSetsVertexSets

Returns

void

Description

设置顶点集管理类


sortWithMaterial

sortWithMaterial(face1, face2): number

Parameters

NameType
face1Face
face2Face

Returns

number

Description

根据材质排序