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

M3D / M3D / Render / GL10BatchTreeDrawer

Class: GL10BatchTreeDrawer

M3D.Render.GL10BatchTreeDrawer

Description

渲染树绘制类

Hierarchy

Table of contents

Constructors

Properties

Methods

Constructors

constructor

new GL10BatchTreeDrawer(): GL10BatchTreeDrawer

Returns

GL10BatchTreeDrawer

Overrides

GL10TreeDrawer.constructor

new GL10BatchTreeDrawer(buffers): GL10BatchTreeDrawer

Parameters

NameType
buffersGPUObjects

Returns

GL10BatchTreeDrawer

Overrides

GL10TreeDrawer.constructor

Properties

id

id: number

Inherited from

GL10TreeDrawer.id


count

Static count: number

Inherited from

GL10TreeDrawer.count

Methods

clearCurrent

clearCurrent(): void

Returns

void

Description

数据清空

Inherited from

GL10TreeDrawer.clearCurrent


draw

draw(v): void

Parameters

NameTypeDescription
vViewport视口

Returns

void

Description

绘制

Inherited from

GL10TreeDrawer.draw


drawBackground

drawBackground(node): void

Parameters

NameType
nodeRenderTreeNode

Returns

void

Description

背景绘制

Inherited from

GL10TreeDrawer.drawBackground


drawCompareModelDepth

drawCompareModelDepth(program, node): void

Parameters

NameType
programGLShaderProgram
nodeRenderTreeNode

Returns

void

Description

绘制比对模型深度贴图

Overrides

GL10TreeDrawer.drawCompareModelDepth


drawCompareModelNormal

drawCompareModelNormal(program, node): void

Parameters

NameType
programGLShaderProgram
nodeRenderTreeNode

Returns

void

Description

绘制比对模型法向贴图

Overrides

GL10TreeDrawer.drawCompareModelNormal


drawEdgeInstances

drawEdgeInstances(shaderProgram, node): void

Parameters

NameType
shaderProgramGLShaderProgram
nodeRenderTreeNode

Returns

void

Description

插图效果 边线效果绘制

Overrides

GL10TreeDrawer.drawEdgeInstances


drawEdgeInstancesEnableClips

drawEdgeInstancesEnableClips(shaderProgram, node): void

Parameters

NameType
shaderProgramGLShaderProgram
nodeRenderTreeNode

Returns

void

Overrides

GL10TreeDrawer.drawEdgeInstancesEnableClips


drawModelEnableClipTreeNode

drawModelEnableClipTreeNode(shaderProgram, node, enableClips): void

Parameters

NameType
shaderProgramGLShaderProgram
nodeRenderTreeNode
enableClipsInt32Array

Returns

void

Description

阴影效果 模型绘制

Overrides

GL10TreeDrawer.drawModelEnableClipTreeNode


drawModelInstances

drawModelInstances(shaderProgram, instanceNode): void

Parameters

NameType
shaderProgramGLShaderProgram
instanceNodeRenderTreeNode

Returns

void

Description

绘制实例模型盖面

Overrides

GL10TreeDrawer.drawModelInstances


drawModelInstancesColor

drawModelInstancesColor(shaderProgram, node): void

Parameters

NameType
shaderProgramGLShaderProgram
nodeRenderTreeNode

Returns

void

Description

插图效果 模型单色效果绘制

Overrides

GL10TreeDrawer.drawModelInstancesColor


drawModelInstancesModelMat

drawModelInstancesModelMat(program, node): void

Parameters

NameType
programGLShaderProgram
nodeRenderTreeNode

Returns

void

Description

绘制Xray实体模型

Overrides

GL10TreeDrawer.drawModelInstancesModelMat


drawModelInstancesNormalMat

drawModelInstancesNormalMat(shaderProgram, node): void

Parameters

NameType
shaderProgramGLShaderProgram
nodeRenderTreeNode

Returns

void

Description

插图效果 模型深度和法向效果绘制

Overrides

GL10TreeDrawer.drawModelInstancesNormalMat


drawModelInstancesNormalMatEnableClips

drawModelInstancesNormalMatEnableClips(shaderProgram, node): void

Parameters

NameType
shaderProgramGLShaderProgram
nodeRenderTreeNode

Returns

void

Overrides

GL10TreeDrawer.drawModelInstancesNormalMatEnableClips


drawModelInstancesOpacity

drawModelInstancesOpacity(shaderProgram, node, material, isTransparent?): boolean

Parameters

NameTypeDefault value
shaderProgramGLShaderProgramundefined
nodeRenderTreeNodeundefined
materialBaseMaterialundefined
isTransparent?booleanfalse

Returns

boolean

Description

地面阴影绘制

Overrides

GL10TreeDrawer.drawModelInstancesOpacity


drawModelJewel

drawModelJewel(shaderProgram, node): void

Parameters

NameType
shaderProgramGLShaderProgram
nodeRenderTreeNode

Returns

void

Description

模型珠宝效果绘制

Overrides

GL10TreeDrawer.drawModelJewel


drawModelModelMat

drawModelModelMat(shaderProgram, node): void

Parameters

NameType
shaderProgramGLShaderProgram
nodeRenderTreeNode

Returns

void

Overrides

GL10TreeDrawer.drawModelModelMat


drawModelNormalMat

drawModelNormalMat(shaderProgram, node): void

Parameters

NameType
shaderProgramGLShaderProgram
nodeRenderTreeNode

Returns

void

Overrides

GL10TreeDrawer.drawModelNormalMat


drawModelTransparentModelMat

drawModelTransparentModelMat(program, node): void

Parameters

NameType
programGLShaderProgram
nodeRenderTreeNode

Returns

void

Description

绘制Xray半透明模型

Inherited from

GL10TreeDrawer.drawModelTransparentModelMat


drawOutlineNode

drawOutlineNode(modelShader, node): void

Parameters

NameType
modelShaderGLShaderProgram
nodeRenderTreeNode

Returns

void

Description

绘制轮廓高亮模型

Overrides

GL10TreeDrawer.drawOutlineNode


drawPrimitive

drawPrimitive(primitive): void

Parameters

NameType
primitivePrimitive

Returns

void

Inherited from

GL10TreeDrawer.drawPrimitive


drawProminentHighLight

drawProminentHighLight(shaderProgram, node): void

Parameters

NameType
shaderProgramGLShaderProgram
nodeRenderTreeNode

Returns

void

Description

绘制突出显示(高亮部分)

Overrides

GL10TreeDrawer.drawProminentHighLight


drawProminentOutLine

drawProminentOutLine(node): void

Parameters

NameType
nodeRenderTreeNode

Returns

void

Description

绘制突出显示(轮廓高亮部分)

Overrides

GL10TreeDrawer.drawProminentOutLine


drawSSAO

drawSSAO(renderInfo, camera, node): void

Parameters

NameType
renderInfoRenderInfo
cameraCamera
nodeRenderTreeNode

Returns

void

Description

环境光遮蔽效果绘制

Inherited from

GL10TreeDrawer.drawSSAO


drawTriWithIndex

drawTriWithIndex(renderContext, primitiveType, dataLength, dataOffset): void

Parameters

NameType
renderContextRenderContext
primitiveTypenumber
dataLengthnumber
dataOffsetnumber

Returns

void

Description

绘制带索引三角面

Inherited from

GL10TreeDrawer.drawTriWithIndex


drawTriWithoutIndex

drawTriWithoutIndex(renderContext, primitiveType, dataLength): void

Parameters

NameType
renderContextRenderContext
primitiveTypenumber
dataLengthnumber

Returns

void

Description

绘制不带索引三角面

Inherited from

GL10TreeDrawer.drawTriWithoutIndex


drawTriangle

drawTriangle(dataLength, dataOffset): void

Parameters

NameType
dataLengthnumber
dataOffsetnumber

Returns

void

Inherited from

GL10TreeDrawer.drawTriangle


drawTriangleWithIndex

drawTriangleWithIndex(indexBuffer, dataLength, dataOffset): void

Parameters

NameType
indexBufferIndexBuffer
dataLengthnumber
dataOffsetnumber

Returns

void

Inherited from

GL10TreeDrawer.drawTriangleWithIndex


endCommonTreeTreeNode

endCommonTreeTreeNode(): void

Returns

void


endInstanceTreeNode

endInstanceTreeNode(): void

Returns

void

Description

结束执行多实例节点绘制


endIntopTreeNode

endIntopTreeNode(): void

Returns

void

Description

结束执行前端显示节点


endSolidTreeNode

endSolidTreeNode(): void

Returns

void


execute

execute(tree): void

Parameters

NameType
treeRenderTree

Returns

void

Description

执行绘制逻辑

Overrides

GL10TreeDrawer.execute


executeAxisTreeNode

executeAxisTreeNode(node): boolean

Parameters

NameType
nodeRenderTreeNode

Returns

boolean

Description

执行坐标轴节点绘制逻辑

Overrides

GL10TreeDrawer.executeAxisTreeNode


executeBackgroundTreeNode

executeBackgroundTreeNode(node): boolean

Parameters

NameType
nodeRenderTreeNode

Returns

boolean

Description

执行背景节点绘制逻辑


executeCameraTreeNode

executeCameraTreeNode(node): boolean

Parameters

NameType
nodeRenderTreeNode

Returns

boolean

Description

执行相机节点绘制逻辑

Overrides

GL10TreeDrawer.executeCameraTreeNode


executeCommonTreeNode

executeCommonTreeNode(node): boolean

Parameters

NameType
nodeRenderTreeNode

Returns

boolean

Description

执行基础节点


executeFPSTreeNode

executeFPSTreeNode(node): boolean

Parameters

NameType
nodeRenderTreeNode

Returns

boolean

Description

执行FPS节点绘制逻辑

Overrides

GL10TreeDrawer.executeFPSTreeNode


executeInstanceTreeNode

executeInstanceTreeNode(node): boolean

Parameters

NameType
nodeRenderTreeNode

Returns

boolean

Description

执行多实例节点绘制逻辑

Overrides

GL10TreeDrawer.executeInstanceTreeNode


executeIntopTreeNode

executeIntopTreeNode(node): boolean

Parameters

NameType
nodeRenderTreeNode

Returns

boolean

Description

执行前端显示节点


executeLightNode

executeLightNode(node): boolean

Parameters

NameType
nodeRenderTreeNode

Returns

boolean

Description

执行灯光节点绘制逻辑

Overrides

GL10TreeDrawer.executeLightNode


executeMaterialTreeNode

executeMaterialTreeNode(material): boolean

Parameters

NameType
materialBaseMaterial

Returns

boolean

Description

执行材质节点绘制逻辑

Overrides

GL10TreeDrawer.executeMaterialTreeNode

executeMaterialTreeNode(node): boolean

Parameters

NameType
nodeRenderTreeNode

Returns

boolean

Overrides

GL10TreeDrawer.executeMaterialTreeNode


executeModelTreeNode

executeModelTreeNode(node): boolean

Parameters

NameType
nodeRenderTreeNode

Returns

boolean

Description

执行实例节点绘制逻辑

Overrides

GL10TreeDrawer.executeModelTreeNode


executeNoInstanceTreeNode

executeNoInstanceTreeNode(node): boolean

Parameters

NameType
nodeRenderTreeNode

Returns

boolean

Description

执行单实例节点绘制逻辑

Overrides

GL10TreeDrawer.executeNoInstanceTreeNode


executePrimitiveTreeNode

executePrimitiveTreeNode(node, effectPara?): boolean

Parameters

NameType
nodeRenderTreeNode
effectPara?number | Color

Returns

boolean

Description

执行图元节点绘制逻辑

Overrides

GL10TreeDrawer.executePrimitiveTreeNode


executePrimitivesTreeNode

executePrimitivesTreeNode(node): boolean

Parameters

NameType
nodeRenderTreeNode

Returns

boolean

Description

执行多个渲染对象节点

Overrides

GL10TreeDrawer.executePrimitivesTreeNode


executeProtoTreeNode

executeProtoTreeNode(node): boolean

Parameters

NameType
nodeRenderTreeNode

Returns

boolean

Description

执行原型节点绘制逻辑

Overrides

GL10TreeDrawer.executeProtoTreeNode


executeRootTreeNode

executeRootTreeNode(node): boolean

Parameters

NameType
nodeRenderTreeNode

Returns

boolean

Description

执行顶级节点绘制逻辑

Overrides

GL10TreeDrawer.executeRootTreeNode


executeSolidTreeNode

executeSolidTreeNode(node): boolean

Parameters

NameType
nodeRenderTreeNode

Returns

boolean

Description

执行实体节点绘制逻辑

Overrides

GL10TreeDrawer.executeSolidTreeNode


executeTransparentTreeNode

executeTransparentTreeNode(node): boolean

Parameters

NameType
nodeRenderTreeNode

Returns

boolean

Description

执行透明节点绘制逻辑

Overrides

GL10TreeDrawer.executeTransparentTreeNode


executeTreeNode

executeTreeNode(node): void

Parameters

NameType
nodeRenderTreeNode

Returns

void

Description

执行树节点

Overrides

GL10TreeDrawer.executeTreeNode


getBindTextures

getBindTextures(): Map<number, number>

Returns

Map<number, number>

Description

获取当前绑定纹理

Inherited from

GL10TreeDrawer.getBindTextures


getClipNumMax

getClipNumMax(): number

Returns

number

Description

获取最大剖切面个数

Inherited from

GL10TreeDrawer.getClipNumMax


getClipPlanes

getClipPlanes(): Float32Array

Returns

Float32Array

Description

获取剖切面位置数组

Inherited from

GL10TreeDrawer.getClipPlanes


getClipShapes

getClipShapes(): Shape[]

Returns

Shape[]

Description

获取指定剖模型

Inherited from

GL10TreeDrawer.getClipShapes


getCurrentCamera

getCurrentCamera(): Camera

Returns

Camera

Description

获取当前相机

Overrides

GL10TreeDrawer.getCurrentCamera


getDisableClips

getDisableClips(): Int32Array

Returns

Int32Array

Description

获取关闭剖切Int32Array

Inherited from

GL10TreeDrawer.getDisableClips


getDrawCall

getDrawCall(): number

Returns

number

Description

获取drawCall次数

Inherited from

GL10TreeDrawer.getDrawCall


getEnableClips

getEnableClips(): Int32Array

Returns

Int32Array

Description

获取开启剖切数组

Inherited from

GL10TreeDrawer.getEnableClips


getEvents

getEvents(): M3DEvent[]

Returns

M3DEvent[]

Description

获得事件列表

Inherited from

GL10TreeDrawer.getEvents


getId

getId(): number

Returns

number

Description

获取id

Inherited from

GL10TreeDrawer.getId


getIsMirror

getIsMirror(): boolean

Returns

boolean

Description

获取是否镜像

Inherited from

GL10TreeDrawer.getIsMirror


getSectionPlanes

getSectionPlanes(): SectionPlane[]

Returns

SectionPlane[]

Description

获取剖切面对象

Inherited from

GL10TreeDrawer.getSectionPlanes


getTextureUnit

getTextureUnit(): number

Returns

number

Description

获取TextureUnit

Inherited from

GL10TreeDrawer.getTextureUnit


popCamera

popCamera(): void

Returns

void

Overrides

GL10TreeDrawer.popCamera


pushCamera

pushCamera(camera): void

Parameters

NameType
cameraCamera

Returns

void

Overrides

GL10TreeDrawer.pushCamera


registerEvent

registerEvent(event): void

Parameters

NameTypeDescription
eventM3DEventM3D事件

Returns

void

Description

注册事件

Inherited from

GL10TreeDrawer.registerEvent


removeEvent

removeEvent(): void

Returns

void

Description

删除事件

Inherited from

GL10TreeDrawer.removeEvent


resetDrawCall

resetDrawCall(): void

Returns

void

Description

drawCall重置

Inherited from

GL10TreeDrawer.resetDrawCall


setAttributeParameter

setAttributeParameter(renderContext, program, attributeMap): number[]

Parameters

NameType
renderContextRenderContext
programGLShaderProgram
attributeMapMap<ShaderParameter, any>

Returns

number[]

Description

设置Attribute参数

Inherited from

GL10TreeDrawer.setAttributeParameter


setIBOWithNode

setIBOWithNode(program, node): void

Parameters

NameType
programany
nodeany

Returns

void

Overrides

GL10TreeDrawer.setIBOWithNode


setId

setId(v): void

Parameters

NameTypeDescription
vnumberShapeId

Returns

void

Description

设置id

Inherited from

GL10TreeDrawer.setId


setIsMirror

setIsMirror(value): void

Parameters

NameType
valueboolean

Returns

void

Description

设置是否镜像

Inherited from

GL10TreeDrawer.setIsMirror


setShaderProgram

setShaderProgram(name): boolean

Parameters

NameTypeDescription
namestring着色器程序名称

Returns

boolean

Description

设置着色器程序

Overrides

GL10TreeDrawer.setShaderProgram

setShaderProgram(renderableShape): boolean

Parameters

NameType
renderableShapeRenderableShape

Returns

boolean

Overrides

GL10TreeDrawer.setShaderProgram

setShaderProgram(program): boolean

Parameters

NameType
programShaderProgram

Returns

boolean

Overrides

GL10TreeDrawer.setShaderProgram


setTextureUnit

setTextureUnit(unit): void

Parameters

NameType
unitnumber

Returns

void

Description

设置TextureUnit

Inherited from

GL10TreeDrawer.setTextureUnit


setUniformLight

setUniformLight(renderInfo): void

Parameters

NameType
renderInfoRenderInfo

Returns

void

Inherited from

GL10TreeDrawer.setUniformLight


setUniformParameter

setUniformParameter(renderContext, program, uniformMap): any

Parameters

NameType
renderContextRenderContext
programGLShaderProgram
uniformMapMap<ShaderParameter, GLUniform>

Returns

any

Description

设置Uniform参数

Inherited from

GL10TreeDrawer.setUniformParameter

setUniformParameter(renderContext, program, uniformMap, viewMatrix): any

Parameters

NameType
renderContextRenderContext
programGLShaderProgram
uniformMapMap<ShaderParameter, GLUniform>
viewMatrixMatrix4

Returns

any

Description

设置Uniform参数(uniformMap中有normalMatrix)

Inherited from

GL10TreeDrawer.setUniformParameter


setUniformSection

setUniformSection(program, shape): void

Parameters

NameType
programShaderProgram
shapeShape

Returns

void

Description

uniform参数Section设置

Overrides

GL10TreeDrawer.setUniformSection


setUniformTexture

setUniformTexture(uniformTextureMap): boolean

Parameters

NameType
uniformTextureMapMap<ShaderParameter, Texture>

Returns

boolean

Overrides

GL10TreeDrawer.setUniformTexture

setUniformTexture(uniformTextureMap): boolean

Parameters

NameType
uniformTextureMapMap<ShaderParameter, TextureObject>

Returns

boolean

Overrides

GL10TreeDrawer.setUniformTexture

setUniformTexture(uniformTextureMap): boolean

Parameters

NameType
uniformTextureMapMap<ShaderParameter, GLUniform>

Returns

boolean

Overrides

GL10TreeDrawer.setUniformTexture

setUniformTexture(shapeParameters): boolean

Parameters

NameType
shapeParametersShapeParameter[]

Returns

boolean

Overrides

GL10TreeDrawer.setUniformTexture

setUniformTexture(program, name, texture): boolean

Parameters

NameType
programShaderProgram
namestring
textureTexture

Returns

boolean

Overrides

GL10TreeDrawer.setUniformTexture

setUniformTexture(program, name, texture): boolean

Parameters

NameType
programShaderProgram
namestring
textureTextureObject

Returns

boolean

Overrides

GL10TreeDrawer.setUniformTexture

setUniformTexture(name, texture): boolean

Parameters

NameType
nameShaderParameterName
textureTexture

Returns

boolean

Overrides

GL10TreeDrawer.setUniformTexture


setVBOWithStruct

setVBOWithStruct(program, bufferStruct, isInstanceRender?): void

Parameters

NameTypeDefault value
programGLShaderProgramundefined
bufferStructBufferStuctundefined
isInstanceRenderbooleanfalse

Returns

void

Overrides

GL10TreeDrawer.setVBOWithStruct


sortTransparentNode

sortTransparentNode(node, mirrorMatT?): void

Parameters

NameTypeDefault value
nodeRenderTreeNodeundefined
mirrorMatTMatrix4null

Returns

void

Description

半透明节点排序逻辑

Inherited from

GL10TreeDrawer.sortTransparentNode


unbindTextures

unbindTextures(): void

Returns

void

Description

当前纹理解绑

Overrides

GL10TreeDrawer.unbindTextures


greaterSort

greaterSort(a, b): number

Parameters

NameType
aRenderTreeNode
bRenderTreeNode

Returns

number

Description

深度排序

Inherited from

GL10TreeDrawer.greaterSort