我试过找到这个问题的答案,但我不能。我在WebGL上仍然非常糟糕,我只使用Three.js来完成我的工作。 Three.js Mesh构造函数是否支持使用ANGLE_instanced_arrays进行几何实例化?
如果有ANGLE_instanced_array的浏览器支持,有一种方法可以使用 Geometry Instancing 创建THREE.Mesh(),而不是依赖于" Pseudo Instancing& #34; ?
提前致谢。
答案 0 :(得分:3)
是的(至少在r72中)。有几个使用ANGLE_instanced_arrays
扩展名的示例,例如:http://threejs.org/examples/#webgl_buffergeometry_instancing,http://threejs.org/examples/#webgl_buffergeometry_instancing_billboards,http://threejs.org/examples/#webgl_buffergeometry_instancing_dynamic,http://threejs.org/examples/#webgl_buffergeometry_instancing_interleaved_dynamic
答案 1 :(得分:0)
它不会那样出现。我一直在寻找这个问题的权威答案,并且无法找到确认信息,但考虑到搜索常量" ANGLE_instanced_arrays"在github yields no matches我的猜测是它没有实现。
答案 2 :(得分:0)
三个WebGLRenderer.supportsInstancedArrays()现在是WebGLRenderer.extensions.get(' ANGLE_instanced_arrays')。 DeprecatedList
var geo = new THREE.InstancedBufferGeometry();
// src/core/InstancedBufferGeometry.js
isInstancedBufferGeometry: true,...
// src/renderers/WebGLRenderer.js
if ( geometry && geometry.isInstancedBufferGeometry ) {
if ( geometry.maxInstancedCount > 0 ) { renderer.renderInstances( geometry, drawStart, drawCount );
......
//src/renderers/webgl/WebGLIndexedBufferRenderer.js
function renderInstances( geometry, start, count ) {
var extension = extensions.get( 'ANGLE_instanced_arrays' );