【问题标题】:Dynamically turn on/off antialiasing and shadows in WebGLRenderer在 WebGLRenderer 中动态打开/关闭抗锯齿和阴影
【发布时间】:2014-12-18 20:18:54
【问题描述】:

如何在 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 );

【问题讨论】:

    标签: three.js antialiasing shadow-mapping


    【解决方案1】:

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

    因此,理想情况下,您只需要使用 antialias 布尔值创建一个新的 WebGLRenderer。这还行不通,但我正在努力让它尽快工作。

    【讨论】:

    • 嘿,我知道你很久以前就发布了这个。这现在有效吗?我很想实现基于 fps 的动态渲染选项。即低 fps = 无 AA 等。
    • 您现在可以创建多个WebGLRenderers,是的。
    猜你喜欢
    • 1970-01-01
    • 2010-12-13
    • 2010-11-19
    • 1970-01-01
    • 1970-01-01
    • 2011-05-30
    • 1970-01-01
    • 1970-01-01
    • 2016-12-25
    相关资源
    最近更新 更多