CanvasRenderer中的overrideMaterial

时间:2013-01-12 03:08:58

标签: three.js

如果用户的浏览器不支持WebGL,我会回到CanvasRenderer。出于性能原因,我想在使用CanvasRenderer时只渲染线框。但是我无法使用overrideMaterial来处理它。它正好与WebGLRendererer合作:

scene.overrideMaterial =  new THREE.MeshBasicMaterial({ color: 0xffffff, wireframe: true });  

在CanvasRenderer中,这似乎没有任何效果,使得FireFox没有响应,因为除了最简单的模型之外,所有代码都太重了。

之前我通过遍历场景几何图形直接用线框材质替换了所有对象材质,只是覆盖了“真实”材质。这种作品,但使材料和对象管理混乱,因为我希望模型中存在材料信息,即使它们没有被渲染。

可以在CanvasRenderer中使用scene.overrideMaterial吗?或者强制线框渲染的其他方式?我正在使用r54。

1 个答案:

答案 0 :(得分:0)

不,CanvasRenderer不支持scene.overrideMaterial。我觉得你已经筋疲力尽了。

我会谨慎使用MeshBasicMaterial作为覆盖。仅在场景仅包含网格时才这样做 - 例如,没有线条。

three.js r.54