我尝试使用three.js呈现OBJ文件
如果我使用WebGLRenderer,一切正常,但如果我尝试使用SVGRenderer或CanvasRenderer,我什么也得不到。
我怀疑它与使用网格构建对象的事实有关(参见this answer和this one)
是这样的吗?有解决方法吗?
以下代码片段供参考:
var j = 0;
if (j === 0) {
renderer = new THREE.WebGLRenderer();
renderer.setSize( r_width, r_height );
console.log(renderer.domElement );
} else if (j === 1) {
console.log('here');
renderer = new THREE.SVGRenderer();
renderer.setSize( r_width, r_height );
console.log(renderer.domElement );
renderer.setClearColor( 0xf0f0f0 );
renderer.setQuality( 'low' );
console.log(renderer.domElement );
} else if (j === 2){
renderer = new THREE.CanvasRenderer();
renderer.setClearColor( 0xf0f0f0 );
renderer.setPixelRatio( window.devicePixelRatio );
renderer.setSize( r_width, r_height );
}
container.appendChild( renderer.domElement );
我显然使用j来切换渲染器。如果j为1或2,则不会呈现任何内容。