即时渲染对象(ImmediateRenderObject)
This experimental class provides a fast code path for rendering meshes with frequently updated geometry data. When the renderer encounters an instance of ImmediateRenderObject, it only takes care about the most primitive rendering operations (e.g. binding vertex attributes, determining correct shader program or perfoming the actual draw call). Features like view frustum culling, wireframe rendering or using multiple materials are not supported. Besides ImmediateRenderObject can only be used to render triangles.
ImmediateRenderObject does not work with instances of BufferGeometry. The raw geometry data have to be maintained as properties of the ImmediateRenderObject.
Using ImmediateRenderObject makes only sense if you are updating your geometry data per frame. You can then benefit of a faster code path compared to the default mesh redering logic.
例子
构造函数(Constructor)
ImmediateRenderObject( material : Material )
material — The material of the ImmediateRenderObject.
Properties
See the base Object3D class for common properties.
.material : Boolean
The material of the ImmediateRenderObject. Assigning multiple materials is not supported.
.hasPositions : Boolean
Whether position data are defined or not. Default is false.
.hasNormals : Boolean
Whether normal data are defined or not. Default is false.
.hasColors : Boolean
Whether color data are defined or not. Default is false.
.hasUvs : Boolean
Whether texture coordinates are defined or not. Default is false.
.positionArray : Float32Array
The buffer holding position data. Default is null.
.normalArray : Float32Array
The buffer holding normal data. Default is null.
.colorArray : Float32Array
The buffer holding color data. Default is null.
.uvArray : Float32Array
The buffer holding texture coordinates. Default is 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().
方法(Methods)
See the base Object3D class for common methods.
.render (renderCallback : Function) : null
renderCallback -- A function to render the generated geometry data.
This method needs to be implemented by the deriving class of ImmediateRenderObject. You normally want to implement the vertex buffer update logic and execute renderCallback at the end of your implementation.