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

NiS*_*SaN 0 antialiasing three.js 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 );
Run Code Online (Sandbox Code Playgroud)

mrd*_*oob 5

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

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

  • 你现在可以创建多个`WebGLRenderer',是的. (2认同)