Frontend/Three.js

재질, MeshLambertMaterial, MeshPhongMaterial

wam 2024. 9. 30. 02:29

 

MeshLambertMaterial

  • 조명이 있는 환경에서 사용할 수 있는 기본적인 재질이다.
  • 확산 반사(diffuse reflection)를 사용해서 빛을 계산한다.
  • 광택이나 반사가 없다.
  • 비교적 가벼운 계산을 요구하기 때문에 성능이 중요한 경우에 적합하다.

 

 

MeshPhongMaterial

  • Phong 쉐이딩을 사용하는 재질로, 광택과 반사를 처리할 수 있다.
  • 스펙큘러 반사(specular reflection, 하이라이트)를 표현할 수 있어서 금속, 유리 등과 같은 광택이 있는 표면을 표현하는 데 적합하다.
  • MeshLambertMaterial보다 더 복잡한 계산을 요구하지만, 더 사실적인 결과를 제공한다.

두 재질 모두 빛과의 상호작용을 기반으로 하지만, MeshLambertMaterial은 단순한 확산 반사를 제공하고, MeshPhongMaterial은 광택 있는 표면을 표현할 수 있다는 차이가 있다.

 

 

MeshLambertMaterialMeshPhongMaterial의 차이점

 

 

MeshLambertMaterial

MeshPhongMaterial

쉐이딩 방식 Lambert 쉐이딩 (확산 반사) Phong 쉐이딩 (스펙큘러 반사 포함)
빛 반사 확산 반사 (Diffuse Reflection) 확산 반사 + 스펙큘러 반사 (Diffuse + Specular)
광택 표현 없음 있음 (스펙큘러 하이라이트 표현 가능)
계산 복잡도 낮음 (가벼운 재질, 성능 효율적) 높음 (복잡한 계산, 더 사실적인 표현)
적합한 경우 성능이 중요한 경우, 단순한 표면 표현에 적합 금속, 유리 등 광택이 있는 표면 표현에 적합

 

 

두 재질은 3D 객체의 표면에 어떻게 빛이 반사되고 표현될지를 결정해 준다.