WebGL & Three.js - 两个渲染器,第二个在 FF 中没有阴影

WebGL & Three.js - two renderers, no shadows in FF in second one

我们有两个 WebGLRenderer 的设置(使用同一场景的克隆,以避免出现问题)。同样的场景,同样的灯光,同样的镜头。第二个渲染器用于按需快照(以避免 RT 渲染的锯齿等问题)。

所有这一切在 Chrome 中就像一个魅力,但在 Firefox (35.0.1) 中我们完全缺少阴影(场景中只有一个阴影投射器,Spotlight)...这是一个已知的 issue/limitation 的 FF (windows7/8/8.1)?

非常感谢任何见解。

    var renderer = new THREE.WebGLRenderer({
        alpha : false,
        antialias : true,
        preserveDrawingBuffer : true // required to support .toDataURL()
    });

//shadows
    renderer.shadowMapSoft = true;
    renderer.physicallyBasedShading = true;
    renderer.shadowMapEnabled = true;

renderer.render(snapshot.scene, snapshot.camera);

var data = renderer.domElement.toDataURL("image/jpeg");

我忘了在 post 中直接提到 阴影仅在第二个 webGLRenderer 实例(快照一)中丢失。

我应该在 FF 中调试什么(一些 webgl 实现结构?)。当比较 Chrome 和 threejs scene/renderer/camera/lights 的 FF 状态时,一切似乎都正常并且在浏览器之间相同。

这是借用浮点纹理的问题。参见 http://3dwayfinder.com/webgl-broken-in-firefox-35-0-1-for-windows/