PBR과 SSR의 차이점은 무엇입니까?


11

저는 게임 개발을 처음 접했고 화면 공간 반사와 물리적 기반 렌더링의 차이점을 이해하려고 노력했습니다.

나는 PBR에 대해 읽었고, 내가 이해 한 바에 따르면, 실제 생활에서 빛이 반사되는 방식을 모방하려고 시도합니다. 즉, 일반적으로 재료의 유형에 따라 거울과 확산의 두 가지 구성 요소로 나뉩니다.

SSR에 관해서는, 내가 틀렸다면 pls가 나를 수정합니다. 그것은 반사가 표면에서 어떻게 보이는지입니다.

SSR에 대한 나의 이해가 정확하다면, 그것들이 같은 방식이 아닌가? 표면 거칠기 등에 의존하여 표면에 반사가 나타나는 방식이 아닙니다. 이것은 반사되는 빛의 양과 반사되는 빛의 양에 영향을 미칩니다. 다시 말하지만, 내가 틀린 곳이면 어디든지 수정하십시오.

답변:


17

물리 기반 렌더링

"실제로 빛이 반사되는 방식을 모방하려고 시도합니다. 일반적으로 재질의 유형에 따라 반사와 확산의 두 가지 구성 요소로 나뉩니다."

그러나 우리는 오랫동안 게임과 컴퓨터 그래픽에서 반사적이고 확산 된 재질을 모델링 해 왔습니다. 요령은 이러한 것들을 완전히 독립적으로 처리하는 데 사용되었습니다. 반사성을 변경해도 확산은 변경되지 않았습니다.

게임에서 일반적으로 사용되는 Phong 음영의 예

블렌더 위키Phong 쉐이딩 예제입니다 . 스펙 큘러 강도와 스펙 큘러 경도의 두 가지 매개 변수를 제공하며이 매개 변수는 반사의 희끄무레 한 부분 만 변경합니다. 청색 확산 반사는 전혀 변하지 않습니다.

게임이 이것을 사용하는 방식은 아티스트가 "올바르게 보일"때까지 각 재료에 대해 이러한 값을 수동으로 조정하는 작업입니다. "정반 경도"는 정밀하게 측정 할 수있는 물질의 실제 물리적 특성이 아니기 때문에 눈으로 수행해야했습니다.

이 방법은 약간 취합니다. 조명을 변경하면 (예 : 다른 지역을 통과하는 동적 물체 또는 시간과 날씨가있는 환경에서)보기 조건이 같지 않아서 너무 밝거나 너무 어둡게 보일 수 있습니다. 스펙 큘러 파라미터가 조정되었습니다.

실제 표면의보다 객관적이고 측정 가능한 속성으로 재료 설명을 연마하려는 물리 기반 렌더링을 입력하십시오. 가장 명백한 특성 중 하나는 에너지 절약입니다. 표면이 거칠면 빛이 산란되어 산란되고 매끄럽고 금속 표면이 빛을 더 직접 반사하지만 둘 다 같은 빛의 풀입니다. 소재가 더 밝아 질수록 확산 요소는 더 어두워집니다.

일정한 알베도로 반사율을 증가시키는 예

이 예는 Syntac_이 원래 공유 한 PBR을 설명 하는 Marmoset 기사 에서 발췌 한 것입니다.

에너지 절약보다 물리적 기반 렌더링에 더 많은 것이 있지만 이것은 아마도 물리적 기반 시스템으로 작업하고 있다는 가장 확실한 신호일 것입니다.

자료는 실제 생활에서 작동하는 방식과 유사한 반사 모델을 유지함으로써, 우리는하는 목재 또는 콘크리트 또는 가죽 같은 실제 자료를 얻을 퍼지 요인과 작가의 주관성에 대한 필요성 감소 보면 조명 조건의 다양한에서 현실.

또 다른 답변은 장면의 다른 물체에서 반사되는 빛의 간접 조명과 관련하여 이것을 설명했습니다. 물리적 기반 모델을 사용하는 많은 조명 시스템에도이를 모델링하는 도구가 포함되지만 일반적으로 별도의 글로벌 일루미네이션 이라는 이름으로 알려져 있습니다. 이것은이 이미지에서 확산 헤드의 한쪽이 녹색으로 나타나고 녹색 벽에서 반사되는 빛에 의해 조명됩니다.

일반적인 전역 조명 테스트 장면의 예

글로벌 일루미네이션에 대한기사의 이미지

스크린 스페이스 리플렉션

PBR이 재료가 빛을 반사하는 방식을 모델링하려고 시도하는 동안 Screenspace Reflection은 반사되는 대상, 특히 반짝이는 거울 같은 표면을 포착하려고 시도합니다.

다시 말하지만 이것은 이전의 게임 방식과는 대조적으로 이해하기에 비교적 최근의 렌더링 기술입니다.

뒤집힌 렌더링 -수면 또는 평면 거울에 일반적으로 사용되는 모든 반사 형상을 문자 그대로 반사 표면의 평면에 걸쳐 두 번째로 렌더링합니다. 이를 통해 고품질 반사 (자세한 내용, 표면과 접촉하는 물체가 반사와 정렬 됨)를 제공하지만 평평한 표면에서만 올바르게 작동합니다. 표면이 더 울퉁불퉁하거나 울퉁불퉁할수록 실제 반사와 같이 거동하지 않아 복잡한 방식으로 왜곡되거나 흐려집니다.

큐브 맵 -중심점에서 방출되는 모든 뷰 광선에서 볼 수있는 색상을 저장합니다. 장면에서 선택한 점에서 큐브 맵을 동적으로 렌더링하여 임의의 곡선 표면에 어떤 색이 반영되어야하는지 추정 할 수 있습니다. 여기서 문제는 큐브 맵이 중심점에서만 완전히 정확하다는 것입니다. 반사를 시뮬레이션하는 지점이 장면 주위를 이동함에 따라 큐브 맵에는없는 ​​시차가 표시되어야합니다. 이것은 물체가 반사와 정렬되지 않는 것을 의미합니다.

스크린 스페이스 리플렉션은 렌더링 된 장면 자체를 리플렉션 정보의 소스로 사용하여 이러한 제한 사항을 해결하려고합니다. 그것은 광선 행진 이 렌더링 된 장면에서 뭔가를 교차 할 때까지, 장면의 깊이를 사용하여 반사보기 선.

사이드 뷰 다이어그램으로 화면 공간 반사를 설명하는 슬라이드

다음 은 EA DICE 프레젠테이션에서 Frostbite 엔진의 반사에 대한 접근 방식에 대한 슬라이드입니다 .

이것은 (일부 똑똑한 알고리즘 작업을 통해) 게임에서 임의의 표면에서 합리적으로 레이트 레이싱 같은 정확도로 반사를 얻을 수 있으며, 표면 의 반사 된 부분이 보이는 한 접촉, 왜곡 및 흐릿한 표면의 올바른 정렬을 갖 습니다. -스크린 (예 : 오프 스크린 또는 다른 것에 의해 가려지지 않음). 반사는 레이 마칭에 의해 정확하게 결정될 수없는 경우, 일반적으로 근처의 샘플 또는 카메라 뷰 옆 / 뒤의 장면을 나타내는 폴백 큐브 맵을 사용하여 근사됩니다.

스크린 스페이스 리플렉션을 사용한 예제 프로젝트

스크린 스페이스 리플렉션 예제 에서 볼 수 있지만 작은 오류는 눈에 띄지 만 인상은 매우 설득력이 있습니다 (렌더링 된 프레임에는 보이지 않는 큐브의 밑면 리플렉션 참조). 또는 화분 옆과 화면 하단의 오른쪽 녹색 커튼 반사 구멍 (레이 마칭이 올바른 반사 픽셀을 찾지 못함). 가끔 오류를 덜 눈에 띄게 만들기 위해이 기술을 사용하여 보통 광택이 있거나 약간 거친 표면에 사용합니다.


답변 주셔서 감사합니다. 이것이 바로 내가 알고 싶었던 것입니다.
Kumaresan Sandran

그 호기심이 들어, "큐브의 밑바닥의 반사를 볼"해결하기 위해 반 고급하지만, 직관적 인 방법에 2,015 종이있다 문제 : 용지 찾기 : "양자 브레이크에서 멀티 스케일 글로벌 일루미네이션을"
Sirisian

1

그들은 실제로 관련이 없습니다.

Marmoset 의이 문서 는 많은 수학을 호출하지 않고 PBR을 잘 설명합니다.

반면에 화면 공간 반사는 실시간 반사를 렌더링하는 데 사용되는 후 처리 화면 공간 기술입니다. 일반적으로 각 프레임마다 큐브 맵을 렌더링하는 것보다 훨씬 저렴하지만 정확도가 떨어지고 화면 외부 오브젝트를 반영 할 수 없습니다.


1
방금 2018 년에 방문한 모든 사람을 위해 링크를 업데이트하기 위해 여기에 왔습니다 ... marmoset.co/posts/basic-theory-of-physically-based-rendering
sws

@sws는 건배를 업데이트했습니다.
Syntac_
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.