如果用户的浏览器不支持WebGL,我会回到CanvasRenderer。出于性能原因,我想在使用CanvasRenderer时只渲染线框。但是我无法使用overrideMaterial来处理它。它正好与WebGLRendererer合作:
scene.overrideMaterial = new THREE.MeshBasicMaterial({ color: 0xffffff, wireframe: true });
在CanvasRenderer中,这似乎没有任何效果,使得FireFox没有响应,因为除了最简单的模型之外,所有代码都太重了。
之前我通过遍历场景几何图形直接用线框材质替换了所有对象材质,只是覆盖了“真实”材质。这种作品,但使材料和对象管理混乱,因为我希望模型中存在材料信息,即使它们没有被渲染。
可以在CanvasRenderer中使用scene.overrideMaterial吗?或者强制线框渲染的其他方式?我正在使用r54。
答案 0 :(得分:0)
不,CanvasRenderer
不支持scene.overrideMaterial
。我觉得你已经筋疲力尽了。
我会谨慎使用MeshBasicMaterial
作为覆盖。仅在场景仅包含网格时才这样做 - 例如,没有线条。
three.js r.54