Object3D

即时渲染对象(ImmediateRenderObject)

这个实验类提供了一个快速的编程方式,用于渲染频繁更新的几何体数据。当渲染器遇到 ImmediateRenderObject 的实例时,它只关心最原始的渲染操作(例如绑定顶点属性、确定正确的着色器程序或执行实际的绘制调用)。不支持视锥体剔除、线框渲染或使用多种材质等功能。此外 ImmediateRenderObject 只能用于渲染三角形。

ImmediateRenderObject 不适用于 BufferGeometryGeometry 的实例。原始几何数据必须作为 ImmediateRenderObject 的属性进行维护。

只有在每帧更新几何数据时,使用 ImmediateRenderObject 才有意义。与默认的网格渲染逻辑相比,您可以受益于这个更快的编程方式。

例子

Marching Cubes

构造函数(Constructor)

ImmediateRenderObject(material : Material)

material — ImmediateRenderObject物体的材质。

属性

通用属性查看 Object3D 基类。

.material : Boolean

ImmediateRenderObject 物体的材质。不支持指定多个材质。

.hasPositions : Boolean

是否定义位置数据。默认为 false

.hasNormals : Boolean

是否定义法线数据。默认为 false

.hasColors : Boolean

是否定义颜色数据。默认为 false

.hasUvs : Boolean

是否定义纹理坐标。默认为 false

.positionArray : Float32Array

缓冲区保留位置数据。默认为 null

.normalArray : Float32Array

缓冲区保留法线数据。默认为 null

.colorArray : Float32Array

缓冲区保留颜色数据。 默认为 null

.uvArray : Float32Array

缓冲区保留纹理坐标。 默认为 null

.count : Integer

The number of primitives to be rendered. Default is 0. This property will be set to 0 after each rendering so you usually set it in the implementatio of .render(). 要渲染的基本体数量。默认为 0。这个属性会在每次渲染后设置为 0,所以通常在 .render() 的实现中设置它。

方法(Methods)

通用方法查看 Object3D 基类。

.render (renderCallback : Function) : null

renderCallback -- 用于渲染生成的几何体数据的函数。

该方法需要由ImmediateRenderObject的派生类来实现。您通常希望实现顶点缓冲区更新逻辑并在实现结束时执行 renderCallback

源码(Source)

src/extras/objects/ImmediateRenderObject.js