0

我正在为大学的计算机图形讲座编写教程程序。对于其中之一,我想展示不同类型的阴影映射。如果我更改 WebGLRenderer.shadowMapType 的值,屏幕上不会发生任何事情。是否可以在运行时更改映射以及如何更改?

初始化:

    renderer = new THREE.WebGLRenderer({canvas: canvas, antialias:true});
    renderer.setSize(window.innerWidth, window.innerHeight);
    renderer.shadowMapEnabled = true;
    renderer.shadowMapType = THREE.BasicShadowMap;

更新:

    renderer.shadowMapType = THREE.PCFSoftShadowMap;
4

1 回答 1

3

shadowMapType在第一次渲染后更改,您需要设置

material.needsUpdate = true;

对于接收阴影的材料。

参见维基:https ://github.com/mrdoob/three.js/wiki/Updates

三.js r.54

于 2013-01-14T15:56:15.833 回答