在WebGLRenderer中动态打开/关闭抗锯齿和阴影

时间:2014-12-18 20:18:55

标签: three.js antialiasing shadow-mapping

如何在WebGLRenderer中动态打开和关闭抗锯齿和阴影?

简单地更改消除锯齿和shadowMapEnable的属性不起作用。我查看了源代码并找到了一个方法updateShadowMap(),但它在第69版中被删除了。

更新:好的,我在这里找到问题后半部分的答案 https://github.com/mrdoob/three.js/issues/2466

因此,以下代码可以正常工作:

renderer.shadowMapEnabled = false;

for(var i in tiles.children)
tiles.children[i].material.needsUpdate=true;

renderer.clearTarget( sun.shadowMap );

1 个答案:

答案 0 :(得分:5)

创建后,您无法从WebGL上下文启用/ diable抗锯齿。唯一的方法是创建一个新的上下文并再次提交所有的缓冲区和纹理。

因此,理想情况下,您只需要使用antialias boolean创建一个新的WebGLRenderer。这还没有想到,但我正努力让它尽快工作。