Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在更改分辨率时动态更新THREE.js中阴影贴图的分辨率?_Three.js_Shadow_Shadow Mapping - Fatal编程技术网

如何在更改分辨率时动态更新THREE.js中阴影贴图的分辨率?

如何在更改分辨率时动态更新THREE.js中阴影贴图的分辨率?,three.js,shadow,shadow-mapping,Three.js,Shadow,Shadow Mapping,我想在THREE.js中动态更改聚光灯阴影的分辨率。第一个问题似乎很相关,但不是关于我的问题。我动态更改阴影贴图的参数,但这不会影响场景。即使在此之后添加更多网格对象,也不会影响场景/灯光中的阴影。当我使用初始值(256256)时,会应用它,但不会在显示场景后应用 light.shadowMapWidth = 2048; light.shadowMapHeight = 2048; 我尝试了以下操作,但无效: light.shadowMap.setSize(100,100) 当我更改ligh

我想在THREE.js中动态更改聚光灯阴影的分辨率。第一个问题似乎很相关,但不是关于我的问题。我动态更改阴影贴图的参数,但这不会影响场景。即使在此之后添加更多网格对象,也不会影响场景/灯光中的阴影。当我使用初始值(256256)时,会应用它,但不会在显示场景后应用

light.shadowMapWidth = 2048; 
light.shadowMapHeight = 2048;
我尝试了以下操作,但无效:

light.shadowMap.setSize(100,100)

当我更改light.position时,阴影会更新,但结果不会更新。它似乎仅在初始化过程中才在开头使用.shadowMapWidth属性。

如果要动态更新阴影贴图的分辨率,可以使用以下模式:

light.shadow.mapSize.width = 1024;
light.shadow.mapSize.height = 1024;
light.shadow.map.dispose(); // important
light.shadow.map = null;
3.js r.74