wam
w__am 개발노트
wam
  • 분류 전체보기 (165)
    • CS 지식 (10)
      • 자료구조 (0)
      • 알고리즘 (0)
      • 컴퓨터 구조 (0)
      • 운영체제 (0)
      • 네트워크 (7)
      • 데이터베이스 (0)
      • 디자인 패턴 (3)
    • Frontend (131)
      • Three.js (64)
      • NPM (1)
      • Nest.js (19)
      • React (10)
      • Apollo (7)
      • TypeScript (2)
      • JavaScript (12)
      • HTML, CSS (1)
      • Jest (3)
      • E2E (5)
      • Cypress (7)
    • Database (12)
      • TypeORM (12)
    • IT 지식 (8)
      • 클라우드 서비스 (3)
      • 네트워크 (1)
      • 데이터 포맷 (2)
      • 기타 (2)
    • IT Book (2)
    • 유용한 사이트 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • 🐱 Github

인기 글

태그

  • math.sin()
  • API
  • 데이터 포맷
  • 함수 선언문
  • 함수의 범위
  • 함수 표현식
  • getelapsedtime()
  • reactive variables
  • Interface
  • react 성능 최적화
  • threejs 개발 할 때 도움을 줄 수 있는 유틸리티
  • Decorators
  • mapped types
  • 스코프
  • 디자인 패턴
  • 오프-프레미스(off-premise) 방식
  • joi 에러
  • 초기 환경설정
  • getdelta()
  • 삼각함수
  • three.js 구성 요소
  • e.preventdefault()
  • gridhelper
  • 렌더링 성능 최적화
  • axeshelper
  • type-graphql
  • isabstract
  • 원형적인 움직임
  • 함수 리터럴
  • math.cos()

최근 글

관리자

글쓰기 / 스킨편집 / 관리자페이지
hELLO · Designed By 정상우.
wam

w__am 개발노트

재질, MeshStandardMaterial (MeshPhongMaterial과 비교)
Frontend/Three.js

재질, MeshStandardMaterial (MeshPhongMaterial과 비교)

2024. 9. 30. 03:13

 

MeshPhongMaterial와 MeshStandardMaterial 차이점

 

속성

MeshPhongMaterial

MeshStandardMaterial 

렌더링 모델 Blinn-Phong 쉐이딩 (전통적인 렌더링 방식) 물리 기반 렌더링 (PBR, Physically Based Rendering)
주요 속성 - specular: 반사광 색상 및 강도 - shininess: 광택 정도 - roughness: 표면 거칠기 - metalness: 금속성
광택 표현 shininess 속성으로 조정 가능 roughness 속성으로 자연스러운 거칠기 표현
금속성 표현 지원하지 않음 metalness 속성으로 금속성 표현 가능
텍스처 맵 지원 - map: 기본 컬러 맵 - bumpMap: 표면 굴곡 표현 - map: 기본 컬러 맵 - roughnessMap, metalnessMap 지원
반사 효과 단순한 반사 계산 envMap을 통해 더 사실적인 환경 반사 효과 지원
렌더링 품질 상대적으로 덜 사실적 고품질의 사실적인 렌더링
퍼포먼스 계산이 간단해 성능이 더 좋음 더 복잡한 계산으로 인해 성능이 다소 떨어질 수 있음
사용 용도 단순한 표면 표현 및 빠른 렌더링에 적합 고품질의 사실적인 재질 표현이 필요할 때 적합

 

 

 

MeshPhongMaterial과 MeshStandardMaterial은 모두 Three.js에서 사용되는 재질(Material) 클래스지만, 렌더링 방식과 특성에서 차이가 있다.

 

 

렌더링 모델

 

MeshPhongMaterial

  • Blinn-Phong 쉐이딩 모델을 기반으로 한 전통적인 렌더링 방식을 사용한다.
  • 물체의 반사율과 빛의 상호작용을 간단하게 표현하며, 표면의 광택과 반사를 계산한다.

 

 

MeshStandardMaterial

  • 물리 기반 렌더링(PBR, Physically Based Rendering)을 지원하는 재질이다.
  • 빛의 실제 물리적인 특성을 시뮬레이션하여 사실적인 조명과 재질 표현을 제공한다.

 

 

렌더링 품질

 

MeshPhongMaterial:

  • 상대적으로 단순하고 계산이 빠르지만, 사실감이 떨어진다.
  • 금속성 물체나 복잡한 표면 특성을 잘 표현하지 못한다.

 

 

MeshStandardMaterial

  • 더 복잡한 계산을 통해 사실적인 빛과 재질 상호작용을 표현한다.
  • 특히 금속성 물체나 거친 표면 같은 물리적 특성들을 자연스럽게 재현할 수 있다.

 

 

 

퍼포먼스

 

MeshPhongMaterial

  • 더 간단한 계산으로 인해 성능이 좋다.
  • 실시간 렌더링에서 빠르게 사용할 수 있다.

 

 

MeshStandardMaterial

  • PBR 모델은 계산이 더 복잡하기 때문에 성능이 다소 떨어질 수 있다.
  • 하지만 사실적인 표현을 필요로 하는 상황에서는 더 적합하다.

 

 

요약

  • MeshPhongMaterial은 단순하고 빠르며, 덜 사실적인 렌더링에 적합하다.
  • MeshStandardMaterial은 사실적인 표현과 PBR 기반의 렌더링을 지원하며, 고품질 시각 효과를 위해 사용된다.

 

 

 

저작자표시 변경금지 (새창열림)

'Frontend > Three.js' 카테고리의 다른 글

재질, side - Mesh의 앞 뒷면  (0) 2024.10.16
재질, flatShading - 각지게 표현  (0) 2024.10.16
재질, MeshLambertMaterial, MeshPhongMaterial  (0) 2024.09.30
재질, MeshBasicMaterial  (0) 2024.09.30
카메라 컨트롤, Minecraft Controls  (0) 2024.09.05
    'Frontend/Three.js' 카테고리의 다른 글
    • 재질, side - Mesh의 앞 뒷면
    • 재질, flatShading - 각지게 표현
    • 재질, MeshLambertMaterial, MeshPhongMaterial
    • 재질, MeshBasicMaterial
    wam
    wam

    티스토리툴바