在用平坦的阴影材质渲染极其陡峭的面孔并以陡峭的角度观看时,我遇到了三个问题。这是我的机器上的样子:
此处的示例场景(https://codepen.io/anon/pen/dQEzmG?editors=1010)演示了此问题。它由经过修改的平面组成,因此具有从z = 0
到z = -100000
的坡度,该坡度是用平面阴影的phong材质渲染的。
var geometry = new THREE.PlaneBufferGeometry(10, 10, 10, 10);
var material = new THREE.MeshPhongMaterial({ side: THREE.DoubleSide, color: "#ffffff", flatShading: true });
var plane = new THREE.Mesh( geometry, material );
plane.rotation.set(Math.PI/2, 0, 0);
var posArr = geometry.attributes.position.array;
for (var i = 0; i < posArr.length / 2 - 3 * 6; i += 3) {
posArr[i + 2] = 100000;
}
geometry.computeVertexNormals();
我只能在Macbook Pro笔记本电脑上看到它:
我知道THREE中的三个底纹使用OES_standard_derivatives
扩展名,因此我不确定它是否与扩展名中的限制有关。这是一个已知的问题?三个有问题吗?还是平台有问题?
谢谢!