Three.js是通过WebGLRenderer渲染场景的,因此只要把WebGLRenderer的每一个概念和属性搞清楚,做出Demo查看其影响范围,就能把如何调试渲染效果给掌握了。
建议先了解下WebGL的基础知识,不然里面有些名词概念会造成理解障碍。
这里我们就对其中影响渲染效果的关键属性进行分析。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
renderer.outputEncoding = renderConfig.value.renderer.outputEncoding;
renderer.physicallyCorrectLights = true;
renderer.toneMapping = renderConfig.value.renderer.toneMapping;
renderer.toneMappingExposure = renderConfig.value.renderer.toneMappingExposure;
renderer.setPixelRatio(window.devicePixelRatio); const container = document.querySelector('.gallery-model') as HTMLDivElement; renderer.setSize(container.offsetWidth, container.offsetHeight);
renderer.shadowMap.enabled = true; renderer.shadowMap.type = THREE.PCFSoftShadowMap;
|
HDR
光照