如何在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 );
答案 0 :(得分:5)
创建后,您无法从WebGL上下文启用/ diable抗锯齿。唯一的方法是创建一个新的上下文并再次提交所有的缓冲区和纹理。
因此,理想情况下,您只需要使用antialias boolean创建一个新的WebGLRenderer
。这还没有想到,但我正努力让它尽快工作。