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

M3D / M3D / Render / GL10TreeDrawer

Class: GL10TreeDrawer

M3D.Render.GL10TreeDrawer

Description

渲染树绘制类

Hierarchy

Table of contents

Constructors

Properties

Methods

Constructors

constructor

new GL10TreeDrawer(): GL10TreeDrawer

Returns

GL10TreeDrawer

Overrides

GLDrawer.constructor

Properties

id

id: number

Inherited from

GLDrawer.id


count

Static count: number

Inherited from

GLDrawer.count

Methods

clearCurrent

clearCurrent(): void

Returns

void

Description

数据清空


draw

draw(v): void

Parameters

NameTypeDescription
vViewport视口

Returns

void

Description

绘制

Inherited from

GLDrawer.draw


drawBackground

drawBackground(node): void

Parameters

NameType
nodeRenderTreeNode

Returns

void

Description

背景绘制


drawCompareModelDepth

drawCompareModelDepth(program, node): void

Parameters

NameType
programGLShaderProgram
nodeRenderTreeNode

Returns

void

Description

绘制比对模型深度贴图


drawCompareModelNormal

drawCompareModelNormal(program, node): void

Parameters

NameType
programGLShaderProgram
nodeRenderTreeNode

Returns

void

Description

绘制比对模型法向贴图


drawEdgeInstances

drawEdgeInstances(shaderProgram, node): void

Parameters

NameType
shaderProgramGLShaderProgram
nodeRenderTreeNode

Returns

void

Description

插图效果 边线效果绘制


drawEdgeInstancesEnableClips

drawEdgeInstancesEnableClips(shaderProgram, node): void

Parameters

NameType
shaderProgramGLShaderProgram
nodeRenderTreeNode

Returns

void


drawModelEnableClipTreeNode

drawModelEnableClipTreeNode(shaderProgram, node, enableClips): void

Parameters

NameType
shaderProgramGLShaderProgram
nodeRenderTreeNode
enableClipsInt32Array

Returns

void

Description

阴影效果 模型绘制


drawModelInstances

drawModelInstances(shaderProgram, instanceNode): void

Parameters

NameType
shaderProgramGLShaderProgram
instanceNodeRenderTreeNode

Returns

void

Description

绘制实例模型盖面


drawModelInstancesColor

drawModelInstancesColor(shaderProgram, node): void

Parameters

NameType
shaderProgramGLShaderProgram
nodeRenderTreeNode

Returns

void

Description

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


drawModelInstancesModelMat

drawModelInstancesModelMat(program, node): void

Parameters

NameType
programGLShaderProgram
nodeRenderTreeNode

Returns

void

Description

绘制Xray实体模型


drawModelInstancesNormalMat

drawModelInstancesNormalMat(shaderProgram, node): void

Parameters

NameType
shaderProgramGLShaderProgram
nodeRenderTreeNode

Returns

void

Description

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


drawModelInstancesNormalMatEnableClips

drawModelInstancesNormalMatEnableClips(shaderProgram, node): void

Parameters

NameType
shaderProgramGLShaderProgram
nodeRenderTreeNode

Returns

void


drawModelInstancesOpacity

drawModelInstancesOpacity(shaderProgram, instances, material, isTransparent?): void

Parameters

NameTypeDefault value
shaderProgramGLShaderProgramundefined
instancesRenderTreeNodeundefined
materialBaseMaterialundefined
isTransparentbooleanfalse

Returns

void

Description

地面阴影绘制(实体)


drawModelJewel

drawModelJewel(shaderProgram, node): void

Parameters

NameType
shaderProgramGLShaderProgram
nodeRenderTreeNode

Returns

void

Description

模型珠宝效果绘制


drawModelModelMat

drawModelModelMat(shaderProgram, node): void

Parameters

NameType
shaderProgramGLShaderProgram
nodeRenderTreeNode

Returns

void


drawModelNormalMat

drawModelNormalMat(shaderProgram, node): void

Parameters

NameType
shaderProgramGLShaderProgram
nodeRenderTreeNode

Returns

void


drawModelTransparentModelMat

drawModelTransparentModelMat(program, node): void

Parameters

NameType
programGLShaderProgram
nodeRenderTreeNode

Returns

void

Description

绘制Xray半透明模型


drawOutlineNode

drawOutlineNode(modelShader, node): void

Parameters

NameType
modelShaderGLShaderProgram
nodeRenderTreeNode

Returns

void

Description

绘制轮廓高亮模型


drawPrimitive

drawPrimitive(primitive): void

Parameters

NameType
primitivePrimitive

Returns

void

Inherited from

GLDrawer.drawPrimitive


drawProminentHighLight

drawProminentHighLight(shaderProgram, node): void

Parameters

NameType
shaderProgramGLShaderProgram
nodeRenderTreeNode

Returns

void

Description

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


drawProminentOutLine

drawProminentOutLine(node): void

Parameters

NameType
nodeRenderTreeNode

Returns

void

Description

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


drawSSAO

drawSSAO(renderInfo, camera, node): void

Parameters

NameType
renderInfoRenderInfo
cameraCamera
nodeRenderTreeNode

Returns

void

Description

环境光遮蔽效果绘制


drawTriWithIndex

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

Parameters

NameType
renderContextRenderContext
primitiveTypenumber
dataLengthnumber
dataOffsetnumber

Returns

void

Description

绘制带索引三角面

Inherited from

GLDrawer.drawTriWithIndex


drawTriWithoutIndex

drawTriWithoutIndex(renderContext, primitiveType, dataLength): void

Parameters

NameType
renderContextRenderContext
primitiveTypenumber
dataLengthnumber

Returns

void

Description

绘制不带索引三角面

Inherited from

GLDrawer.drawTriWithoutIndex


drawTriangle

drawTriangle(dataLength, dataOffset): void

Parameters

NameType
dataLengthnumber
dataOffsetnumber

Returns

void

Inherited from

GLDrawer.drawTriangle


drawTriangleWithIndex

drawTriangleWithIndex(indexBuffer, dataLength, dataOffset): void

Parameters

NameType
indexBufferIndexBuffer
dataLengthnumber
dataOffsetnumber

Returns

void

Inherited from

GLDrawer.drawTriangleWithIndex


execute

execute(tree): void

Parameters

NameType
treeRenderTree

Returns

void

Description

执行绘制逻辑

Overrides

GLDrawer.execute


executeAxisTreeNode

executeAxisTreeNode(node): boolean

Parameters

NameType
nodeRenderTreeNode

Returns

boolean

Description

执行坐标轴节点绘制逻辑


executeCameraTreeNode

executeCameraTreeNode(node): boolean

Parameters

NameType
nodeRenderTreeNode

Returns

boolean

Description

执行相机节点绘制逻辑


executeFPSTreeNode

executeFPSTreeNode(node): boolean

Parameters

NameType
nodeRenderTreeNode

Returns

boolean

Description

执行FPS节点绘制逻辑


executeInstanceTreeNode

executeInstanceTreeNode(node): boolean

Parameters

NameType
nodeRenderTreeNode

Returns

boolean

Description

执行多实例节点绘制逻辑


executeLightNode

executeLightNode(node): boolean

Parameters

NameType
nodeRenderTreeNode

Returns

boolean

Description

执行灯光节点绘制逻辑


executeMaterialTreeNode

executeMaterialTreeNode(node): boolean

Parameters

NameType
nodeRenderTreeNode

Returns

boolean

Description

执行材质节点绘制逻辑


executeModelTreeNode

executeModelTreeNode(node): boolean

Parameters

NameType
nodeRenderTreeNode

Returns

boolean

Description

执行实例节点绘制逻辑


executeNoInstanceTreeNode

executeNoInstanceTreeNode(node): boolean

Parameters

NameType
nodeRenderTreeNode

Returns

boolean

Description

执行单实例节点绘制逻辑


executePrimitiveTreeNode

executePrimitiveTreeNode(node): boolean

Parameters

NameType
nodeRenderTreeNode

Returns

boolean

Description

执行图元节点绘制逻辑


executePrimitivesTreeNode

executePrimitivesTreeNode(node): boolean

Parameters

NameType
nodeRenderTreeNode

Returns

boolean

Description

执行多个渲染对象节点


executeProtoTreeNode

executeProtoTreeNode(node): boolean

Parameters

NameType
nodeRenderTreeNode

Returns

boolean

Description

执行原型节点绘制逻辑


executeRootTreeNode

executeRootTreeNode(node): boolean

Parameters

NameType
nodeRenderTreeNode

Returns

boolean

Description

执行顶级节点绘制逻辑


executeSolidTreeNode

executeSolidTreeNode(node): boolean

Parameters

NameType
nodeRenderTreeNode

Returns

boolean

Description

执行实体节点绘制逻辑


executeTransparentTreeNode

executeTransparentTreeNode(node): boolean

Parameters

NameType
nodeRenderTreeNode

Returns

boolean

Description

执行透明节点绘制逻辑


executeTreeNode

executeTreeNode(node): void

Parameters

NameType
nodeRenderTreeNode

Returns

void

Description

执行树节点


getBindTextures

getBindTextures(): Map<number, number>

Returns

Map<number, number>

Description

获取当前绑定纹理

Inherited from

GLDrawer.getBindTextures


getClipNumMax

getClipNumMax(): number

Returns

number

Description

获取最大剖切面个数


getClipPlanes

getClipPlanes(): Float32Array

Returns

Float32Array

Description

获取剖切面位置数组


getClipShapes

getClipShapes(): Shape[]

Returns

Shape[]

Description

获取指定剖模型


getCurrentCamera

getCurrentCamera(): Camera

Returns

Camera

Description

获取当前相机


getDisableClips

getDisableClips(): Int32Array

Returns

Int32Array

Description

获取关闭剖切Int32Array


getDrawCall

getDrawCall(): number

Returns

number

Description

获取drawCall次数

Inherited from

GLDrawer.getDrawCall


getEnableClips

getEnableClips(): Int32Array

Returns

Int32Array

Description

获取开启剖切数组


getEvents

getEvents(): M3DEvent[]

Returns

M3DEvent[]

Description

获得事件列表

Inherited from

GLDrawer.getEvents


getId

getId(): number

Returns

number

Description

获取id

Inherited from

GLDrawer.getId


getIsMirror

getIsMirror(): boolean

Returns

boolean

Description

获取是否镜像


getSectionPlanes

getSectionPlanes(): SectionPlane[]

Returns

SectionPlane[]

Description

获取剖切面对象


getTextureUnit

getTextureUnit(): number

Returns

number

Description

获取TextureUnit

Inherited from

GLDrawer.getTextureUnit


popCamera

popCamera(): void

Returns

void


pushCamera

pushCamera(camera): void

Parameters

NameType
cameraCamera

Returns

void


registerEvent

registerEvent(event): void

Parameters

NameTypeDescription
eventM3DEventM3D事件

Returns

void

Description

注册事件

Inherited from

GLDrawer.registerEvent


removeEvent

removeEvent(): void

Returns

void

Description

删除事件

Inherited from

GLDrawer.removeEvent


resetDrawCall

resetDrawCall(): void

Returns

void

Description

drawCall重置

Inherited from

GLDrawer.resetDrawCall


setAttributeParameter

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

Parameters

NameType
renderContextRenderContext
programGLShaderProgram
attributeMapMap<ShaderParameter, any>

Returns

number[]

Description

设置Attribute参数

Inherited from

GLDrawer.setAttributeParameter


setIBOWithNode

setIBOWithNode(program, node): void

Parameters

NameType
programany
nodeany

Returns

void


setId

setId(v): void

Parameters

NameTypeDescription
vnumberShapeId

Returns

void

Description

设置id

Inherited from

GLDrawer.setId


setIsMirror

setIsMirror(value): void

Parameters

NameType
valueboolean

Returns

void

Description

设置是否镜像


setShaderProgram

setShaderProgram(name): boolean

Parameters

NameTypeDescription
namestring着色器程序名称

Returns

boolean

Description

设置着色器程序

setShaderProgram(renderableShape): boolean

Parameters

NameType
renderableShapeRenderableShape

Returns

boolean

setShaderProgram(program): boolean

Parameters

NameType
programShaderProgram

Returns

boolean


setTextureUnit

setTextureUnit(unit): void

Parameters

NameType
unitnumber

Returns

void

Description

设置TextureUnit

Inherited from

GLDrawer.setTextureUnit


setUniformLight

setUniformLight(renderInfo): void

Parameters

NameType
renderInfoRenderInfo

Returns

void

Inherited from

GLDrawer.setUniformLight


setUniformParameter

setUniformParameter(renderContext, program, uniformMap): any

Parameters

NameType
renderContextRenderContext
programGLShaderProgram
uniformMapMap<ShaderParameter, GLUniform>

Returns

any

Description

设置Uniform参数

Inherited from

GLDrawer.setUniformParameter

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

Parameters

NameType
renderContextRenderContext
programGLShaderProgram
uniformMapMap<ShaderParameter, GLUniform>
viewMatrixMatrix4

Returns

any

Description

设置Uniform参数(uniformMap中有normalMatrix)

Inherited from

GLDrawer.setUniformParameter


setUniformTexture

setUniformTexture(uniformTextureMap): any

Parameters

NameType
uniformTextureMapMap<ShaderParameter, Texture>

Returns

any

Overrides

GLDrawer.setUniformTexture

setUniformTexture(uniformTextureMap): any

Parameters

NameType
uniformTextureMapMap<ShaderParameter, TextureObject>

Returns

any

Overrides

GLDrawer.setUniformTexture

setUniformTexture(shapeParameters): any

Parameters

NameType
shapeParametersShapeParameter[]

Returns

any

Overrides

GLDrawer.setUniformTexture

setUniformTexture(program, name, texture): any

Parameters

NameType
programShaderProgram
nameShaderParameterName
textureTexture

Returns

any

Overrides

GLDrawer.setUniformTexture

setUniformTexture(program, name, texture): any

Parameters

NameType
programShaderProgram
namestring
textureTextureObject

Returns

any

Overrides

GLDrawer.setUniformTexture

setUniformTexture(name, texture): any

Parameters

NameType
nameShaderParameterName
textureTexture

Returns

any

Overrides

GLDrawer.setUniformTexture


setVBOWithStruct

setVBOWithStruct(program, bufferStruct, isInstanceRender?): void

Parameters

NameTypeDefault value
programGLShaderProgramundefined
bufferStructBufferStuctundefined
isInstanceRenderbooleanfalse

Returns

void


sortTransparentNode

sortTransparentNode(node, mirrorMatT?): void

Parameters

NameTypeDefault value
nodeRenderTreeNodeundefined
mirrorMatTMatrix4null

Returns

void

Description

半透明节点排序逻辑


unbindTextures

unbindTextures(): void

Returns

void

Description

当前纹理解绑


greaterSort

greaterSort(a, b): number

Parameters

NameType
aRenderTreeNode
bRenderTreeNode

Returns

number

Description

深度排序