THREE.NoToneMapping (default)
THREE.LinearToneMapping
THREE.ReinhardToneMapping
THREE.CineonToneMapping
THREE.ACESFilmicToneMapping
여러 종류의 Tone mapping이 있다.
// Tone mapping
renderer.toneMapping = THREE.ReinhardToneMapping
renderer.toneMappingExposure = 3
supersampling (SSAA)
fullscreensampling (FSAA)
가 해상도를 4배 높이는 방식이다.
multisampling(MSAA)
는 geometry들의 edge에만 해상도를 4배 이상 높이는 방식이다.
겹치는 경우, 주변 color와 섞입니다.
/**
* Directional light
*/
const directionalLight = new THREE.DirectionalLight('#ffffff', 6)
directionalLight.position.set(3, 7, 6)
scene.add(directionalLight)
// Shadows
renderer.shadowMap.enabled = true
renderer.shadowMap.type = THREE.PCFSoftShadowMap
// Helper
const directionalLightCameraHelper = new THREE.CameraHelper(directionalLight.shadow.camera)
scene.add(directionalLightCameraHelper)
// Target
directionalLight.target.position.set(0, 4, 0)
directionalLight.target.updateWorldMatrix()
directionalLight.shadow.camera.far = 15
directionalLight.shadow.mapSize.set(1024, 1024)
const updateAllMaterials = () =>
{
scene.traverse((child) =>
{
if(child.isMesh && child.material.isMeshStandardMaterial)
{
// ...
child.castShadow = true
child.receiveShadow = true
}
})
}
해결방안