这个实验类提供了一个快速的编程方式,用于渲染频繁更新的几何体数据。当渲染器遇到 ImmediateRenderObject 的实例时,它只关心最原始的渲染操作(例如绑定顶点属性、确定正确的着色器程序或执行实际的绘制调用)。不支持视锥体剔除、线框渲染或使用多种材质等功能。此外 ImmediateRenderObject 只能用于渲染三角形。
ImmediateRenderObject 不适用于 BufferGeometry 或 Geometry 的实例。原始几何数据必须作为 ImmediateRenderObject 的属性进行维护。
只有在每帧更新几何数据时,使用 ImmediateRenderObject 才有意义。与默认的网格渲染逻辑相比,您可以受益于这个更快的编程方式。
material — ImmediateRenderObject物体的材质。
通用属性查看 Object3D 基类。
ImmediateRenderObject 物体的材质。不支持指定多个材质。
是否定义位置数据。默认为 false。
是否定义法线数据。默认为 false。
是否定义颜色数据。默认为 false。
是否定义纹理坐标。默认为 false。
缓冲区保留位置数据。默认为 null。
缓冲区保留法线数据。默认为 null。
缓冲区保留颜色数据。 默认为 null。
缓冲区保留纹理坐标。 默认为 null。
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() 的实现中设置它。
通用方法查看 Object3D 基类。
renderCallback -- 用于渲染生成的几何体数据的函数。
该方法需要由ImmediateRenderObject的派生类来实现。您通常希望实现顶点缓冲区更新逻辑并在实现结束时执行 renderCallback。
src/extras/objects/ImmediateRenderObject.js