MeshLambertMaterial
- 조명이 있는 환경에서 사용할 수 있는 기본적인 재질이다.
- 확산 반사(diffuse reflection)를 사용해서 빛을 계산한다.
- 광택이나 반사가 없다.
- 비교적 가벼운 계산을 요구하기 때문에 성능이 중요한 경우에 적합하다.
MeshPhongMaterial
- Phong 쉐이딩을 사용하는 재질로, 광택과 반사를 처리할 수 있다.
- 스펙큘러 반사(specular reflection, 하이라이트)를 표현할 수 있어서 금속, 유리 등과 같은 광택이 있는 표면을 표현하는 데 적합하다.
- MeshLambertMaterial보다 더 복잡한 계산을 요구하지만, 더 사실적인 결과를 제공한다.
두 재질 모두 빛과의 상호작용을 기반으로 하지만, MeshLambertMaterial은 단순한 확산 반사를 제공하고, MeshPhongMaterial은 광택 있는 표면을 표현할 수 있다는 차이가 있다.
MeshLambertMaterial과 MeshPhongMaterial의 차이점
MeshLambertMaterial |
MeshPhongMaterial |
|
쉐이딩 방식 | Lambert 쉐이딩 (확산 반사) | Phong 쉐이딩 (스펙큘러 반사 포함) |
빛 반사 | 확산 반사 (Diffuse Reflection) | 확산 반사 + 스펙큘러 반사 (Diffuse + Specular) |
광택 표현 | 없음 | 있음 (스펙큘러 하이라이트 표현 가능) |
계산 복잡도 | 낮음 (가벼운 재질, 성능 효율적) | 높음 (복잡한 계산, 더 사실적인 표현) |
적합한 경우 | 성능이 중요한 경우, 단순한 표면 표현에 적합 | 금속, 유리 등 광택이 있는 표면 표현에 적합 |
두 재질은 3D 객체의 표면에 어떻게 빛이 반사되고 표현될지를 결정해 준다.
'Frontend > Three.js' 카테고리의 다른 글
재질, flatShading - 각지게 표현 (0) | 2024.10.16 |
---|---|
재질, MeshStandardMaterial (MeshPhongMaterial과 비교) (0) | 2024.09.30 |
재질, MeshBasicMaterial (0) | 2024.09.30 |
카메라 컨트롤, Minecraft Controls (0) | 2024.09.05 |
카메라 컨트롤, DragControls (0) | 2024.09.05 |