PBR Physically Based Rendering 물리 기반 렌더링 한 문장으로빛과 물질이 상호작용하는 물리 원리를 바탕으로, 재질의 모습을 계산하는 렌더링 접근법입니다. PBR 자세히 보기 밝은 부분과 그림자를 색에 그려 넣기보다, 재질의 기본 색상·거칠기·금속성 같은 성질과 조명을 나누어 설정합니다. 그러면 조명이나 시점이 달라질 때 같은 재질이 그 조건에 맞춰 반응합니다. 중요한 원칙은 에너지 보존입니다. 스스로 빛을 내지 않는 표면이 반사하거나 투과시키는 빛의 에너지는 들어온 빛보다 많을 수 없고, 나머지는 흡수됩니다. PBR은 하나의 셰이더나 정해진 텍스처 세트의 이름이 아닙니다. 여러 반사 모델과 렌더링 기법을 사용할 수 있고, 사진 같은 표현뿐 아니라 양식화된 게임 아트에도 적용할 수 있습니다. 이 랩에서 해보기같은 재질을 둔 채 ‘배경 · 조명 환경’을 Studio에서 Sunset으로 바꿔 보세요. 재질 값은 그대로인데 빛과 반사색이 달라집니다.
BRDF Bidirectional Reflectance Distribution Function 양방향 반사 분포 함수 한 문장으로빛이 들어오는 방향과 나가는 방향에 따라, 표면이 빛을 어떻게 반사하는지 나타내는 함수입니다. BRDF 자세히 보기 ‘양방향’은 표면의 한 점에서 빛이 들어오는 입사 방향과 반사되어 나가는 방향을 뜻합니다. 화면을 그릴 때는 카메라 쪽으로 나가는 빛을 계산합니다. BRDF는 들어오는 빛에 대해 특정 방향의 반사광이 얼마나 생기는지 정합니다. 최종 픽셀 색은 BRDF 하나로 정해지지 않으며, 조명의 세기·색, 입사각과 가려짐 등도 함께 계산합니다. 거칠기가 낮으면 반사가 좁고 선명하게 모이고, 높으면 더 넓은 방향으로 퍼집니다. 단순히 빛을 없애거나 화면 전체를 어둡게 만드는 값은 아닙니다. BRDF가 다루는 것은 반사입니다. 유리처럼 빛이 표면을 통과하는 현상은 투과 모델을 함께 사용해야 하며, 이 랩의 Transmission이 그쪽 설정입니다. 이 랩에서 해보기조명 환경을 고정하고 거칠기를 0.1에서 0.8로 바꿔 보세요. 밝은 반사 영역의 폭과 선명도를 비교해 보세요.
01 / SURFACE거칠기는 반사의 모양을 바꿉니다거칠기가 낮으면 주변 환경이 선명하게 비치고, 높이면 반사가 넓고 흐려집니다. 환경광을 고정한 뒤 거칠기만 바꾸면 차이를 읽기 쉽습니다.
03 / FRESNEL비스듬한 각도의 반사표면을 비스듬히 볼수록 반사가 강해집니다. ‘비금속 프레넬 반사’를 끄면 비금속 표면의 반사 항을 제거해 비교합니다. 금속 반사는 이 스위치와 별개입니다.
04 / LAYERS코팅, 직물, 얇은 막Clearcoat는 얇은 투명 코팅, Sheen은 직물의 가장자리 광택, Iridescence는 얇은 막에서 생기는 색 간섭을 표현합니다. 각 항목은 재질 탭의 추가 설정에서 조절할 수 있습니다.
05 / OCCLUSION음영과 노출은 서로 다릅니다SSAO는 화면의 깊이와 법선을 사용해 가까운 표면 사이의 가림을 근사합니다. 전역 밝기를 바꾸지 않으며, 정확한 간접광 계산은 아닙니다.
06 / IMPLEMENTATION이 스터디의 재질 모델Three.js MeshPhysicalMaterial의 미세면 기반 모델을 사용합니다. Disney Principled BRDF와 공통된 개념을 사용하지만, 모든 Disney 파라미터를 그대로 구현하는 것은 아닙니다.Three.js 재질 문서 ↗