dan*_*ani 12 antialiasing webgl three.js
我正在尝试一个简单的Three.js场景(这方面的新手).我正在使用Three.js WebGLRenderer并设置了一个平面,一个投射阴影和定向光源的立方体.结果显示在图像中.
我如何能:
1.提高阴影渲染的质量?
2.摆脱锯齿状的边缘?
我已将antialiasing设置为true,但它似乎对任何浏览器都没有帮助......
renderer = new THREE.WebGLRenderer({antialias:true});

gai*_*tat 24
你可以做两件事.首先设置渲染器属性
renderer.shadowMapType = THREE.PCFSoftShadowMap; // options are THREE.BasicShadowMap | THREE.PCFShadowMap | THREE.PCFSoftShadowMap
Run Code Online (Sandbox Code Playgroud)
然后你还可以使用以下方法增加灯光的阴影贴图大小:
light.shadowMapWidth = 1024; // default is 512
light.shadowMapHeight = 1024; // default is 512
Run Code Online (Sandbox Code Playgroud)
您可以做的另一件事是增加接收阴影的对象段的宽度/高度。
例如,更改此:
var plane = new THREE.PlaneGeometry( 1000, 1000, 10, 10);
Run Code Online (Sandbox Code Playgroud)
这样:
var plane = new THREE.PlaneGeometry( 1000, 1000, 100, 100);
Run Code Online (Sandbox Code Playgroud)
结果: