Cook-Torrance BRDF를 추적하는 경로


27

-긴 글은 유감이지만 " Devil is in the detail. ":)

나는 처음부터 경로 추적 프로그램을 작성하고 있으며 완벽하게 확산 된 (Lambertian) 표면을 위해 훌륭하게 작동합니다 ( , 퍼니스 테스트는 적어도 시각적으로 에너지를 절약하고 렌더링 된 이미지가 동일한 Mitsuba 렌더러로 생성 된 이미지와 일치 함을 나타냅니다) 매개 변수). 이제 일부 금속 표면을 렌더링하기 위해 원래 Cook-Torrance 마이크로 패싯 모델의 반사 기간에 대한 지원을 구현하고 있습니다. 그러나이 BRDF는 수신 된 것보다 더 많은 에너지를 반영하는 것 같습니다. 아래 이미지 예를 참조하십시오.

미쓰 바 참조 이미지.

위 이미지 : 미쓰 바 참조 (정확한 것으로 가정) 이미지 : 직접광 샘플링, 중요 반구 샘플링, 최대 경로 길이 = 5, 32 층화 spp, 박스 필터, 표면 거칠기 = 0.2, RGB를 사용한 경로 추적.

렌더링 된 이미지

위의 이미지 : 실제 렌더링 된 이미지 : 무차별 고유 한 경로 추적, 균일 한 반구 샘플링, 최대 경로 길이 = 5, 4096 계층화 된 spp, 박스 필터, 표면 거칠기 = 0.2, RGB. 렌더링 설정과 관련하여 약간의 차이가 있지만 렌더링 된 이미지는 이전에 표시된 참조로 수렴되지 않습니다.

나는 그것이 구현 문제가 아니라 렌더링 방정식 프레임 워크 내에서 Cook-Torrance 모델의 올바른 사용에 관한 문제라고 생각하는 경향이 있습니다. 아래에서는 specular BRDF를 평가하는 방법을 설명하고 올바르게 수행하고 있는지, 그렇지 않은 경우 이유를 알고 싶습니다.

중요한 세부 사항으로 들어가기 전에 렌더러가 매우 간단하다는 점에 주목하십시오. 1) 직접적인 빛 샘플링, 양방향 경로 추적, MLT 없음; 2) 모든 샘플링은 교차점 위의 반구에서 균일합니다. 전혀 샘플링이 중요하지 않으며 확산 표면도 마찬가지입니다. 3) 광선 경로의 고정 최대 길이는 5-러시아 룰렛이 없습니다. 4) 광도 / 반사율은 스펙트럼 렌더링없이 RGB 튜플을 통해 알립니다.

쿡 토 런스 마이크로 패싯 모델

이제 specular BRDF 평가 표현식을 구현하기 위해 따라온 경로를 구성하려고합니다. 모든 것은 렌더링 방정식으로 시작합니다. 여기서 는 표면의 교점이며 는 관측 벡터이고 는 라이트 벡터입니다. 는 따른 발신 광도 , 는 및 따른 에 대한 광도 사건 입니다.p cos θ = nw i

Lo(p,wo)=Le+ΩLi(p,wi)fr(wo,wi)cosθdω
pw i L o w o L i p w iwowiLowoLipwicosθ=nwi

위의 적분 ( , 렌더링 방정식의 반사 항)은 다음 Monte Carlo Estimator 여기서 는 샘플링 분포를 나타내는 확률 밀도 함수 (PDF)입니다. 벡터 . pwk

1Nk=1NLi(p,wk)fr(wk,wo)cosθp(wk)
pwk

실제 렌더링을 위해서는 BRDF 및 PDF를 지정해야합니다. Cook-Torrance 모델의 정기 항의 경우 다음 BRDF 여기서 위의 방정식에서 D=1

fr(wi,wo)=DFGπ(nwi)(nwo)
F=cspec+(1cspec)(1-wih)5G=최소(1,2(nh)(nwO)
D=1m2(nh)4exp((nh)21m2(nh)2)
F=cspec+(1cspec)(1wih)5
h=wo+wi
G=min(1,2(nh)(nwo)woh,2(nh)(nwi)woh)
cspecFFh=wo+wi|wo+wi| 및 은 반사 색상입니다. 제외한 모든 방정식 은 원본 용지에서 추출되었습니다. Schlick의 근사 라고도하는 는 실제 프레 넬 항에 대한 효율적이고 덜 정확한 근사치입니다.cspecFF

매끄러운 반사 표면을 렌더링하는 경우 중요도 샘플링을 사용해야합니다. 그러나 나는 상당히 거친 표면 ( ) 만 모델링 하므로 렌더링 시간이 길어질 때까지 일정한 샘플링을 일정하게 유지하기로 결정했습니다. 이 경우, PDF는 . 균일 한 PDF 및 Cook-Torrance BRDF를 Monte Carlo 추정기로 대체하여 는 임의 변수 인 대체 하면 p ( w k ) = 1m0.2 wiwk1

p(wk)=12π
wiwk
1Nk=1NLi(p,wk)(DFGπ(nwk)(nwo))cosθ(12π)
이제 교차점에서 단 하나의 임의의 광선 만 쏘기 때문에 취소하고 합계를 제거 할 수 있습니다 . 우리는 이후 , 우리는 그것을 더 단순화 π
2Li(p,wk)(DFG(nwk)(nwo))cosθ
cosθ=nwk
2Li(p,wk)(DFGnwo)

이것이 광선이 반사율이 Cook-Torrance BRDF에 의해 묘사 된 거울 표면에 닿을 때 평가하는 표현입니다. 그것이받은 것보다 더 많은 에너지를 반영하는 것 같습니다. 나는 그것이 (또는 파생 과정에서) 문제가 있다고 거의 확신하지만, 그것을 발견 할 수는 없습니다.

흥미롭게도 위의 표현식에 곱하면 결과가 정확 해집니다. 그러나 나는 그것을 수학적으로 정당화 할 수 없기 때문에 그것을 거부했습니다.1π

어떤 도움이라도 대단히 환영합니다! 고맙습니다!

최신 정보

@wolle 아래에서 지적한 것처럼, 이 백서 는 정규 분포 함수 (NDF) 에 요소가 포함되고 BRDF 에 포함 된 경로 추적에 더 적합한 새로운 공식을 제시합니다. 요소. 따라서 및 위의 방정식을 다음 식에 포함 시키십시오 렌더링 방정식, 나는 결국 D1πfr14

Dnew=1πm2(nh)4exp((nh)21m2(nh)2)
frnew(wi,wo)=DFG4(nwi)(nwo)
D
π2Li(p,wk)(DnewFGnwo)
잘 작동했습니다! 추신 : 이제 이슈는 와 대한 새로운 공식 이 에너지 절약을 유지하는 데 어떻게 도움 이되는지 더 잘 이해하는 것입니다 . 그러나 이것은 또 다른 주제입니다.Dfr

업데이트 2

PeteUK가 지적한 바와 같이 , 내 질문의 원본에 제시된 프레 넬 공식의 저자는 Cook and Torrance에 잘못 귀속되었습니다. 위에서 사용 된 프레 넬 공식은 실제로 Schlick의 근사치 로 알려져 있으며 Christophe Schlick의 이름을 따서 명명되었습니다. 질문의 원문이 그에 따라 수정되었습니다.


이 사이트를 계속 방문하고 있는지 확실하지 않지만 프레 넬 방정식에 대한 질문이 있으며 여기에
PeteUK

답변:


12

에 따르면, 이 문서 는 귀하의 되어야 : 당신이 끝날 것 때문에 1πfr14

fr=DFG4(nwi)(nwo),
π2Li(p,wk)(DFGnwo).

Cook-Torrance BRDF의 다른 공식을 보았습니다. 여기서 방정식 에는 대신 가 곱해집니다 . 그러나 결국이 수정의 효과는 우리가 최종 방정식에있는 2를 1.57 ( ) 로 대체하기 때문에 매우 작습니다 . 나는 여기 (테스트를 위해 ...)를 테스트했으며 실제로 문제가 지속되었습니다. 114 =π1π=π2
Christian Pagot

@Capagot 의 계수 는 때때로 광원 강도에 통합되고 (일반적으로) BRDF에서 제외됩니다. 이 질문도 참조하십시오 . 그러나 이는 경로 추적보다 실시간 렌더링에서 더 일반적입니다. 또한 Lambertian 테스트는 Mitsuba와 완벽하게 일치하므로 이것이 문제가 될 가능성이 적다고 생각합니다. 여전히 살펴볼 가치가 있습니다. 1/π
Nathan Reed

@Capagot 분포 함수 가 누락 된 것 같습니다 . 나는에 링크 된 용지가 너무 가지고 사용하는 베크만 분포하는 요소를 포함 에서 및 에서 트릭을 할해야합니다. D11πD FR114fr D1πD
wolle

@NathanReed 를 색상 에 포함시키는 방법에 대한 기사를 읽었습니다 . 그러나 당신이 언급 한 이유로, 나는 그것이 문제가 아니라고 확신했습니다. π
Christian Pagot

@wolle 정확히! 사실, 나는 당신이 언급 한 논문을 이미 살펴 보았지만 그 사실을 알지 못했습니다! 난 그냥에 대한 계정에 내 구현을 변경했을 에 와 에 , 모든 것이 이제 마법처럼 작동합니다! 답변과 함께 질문에 대한 업데이트를 포함시킬 것입니다! 고맙습니다! D11πD FR14fr
Christian Pagot

13

와 용어의 혼동이 궁금한 사람을 위해 이것을 게시 하고 있습니다. 11π14

라는 용어 는 원래 Cook-Torrance 참조의 오류입니다.1π

실제로, 이라는 용어 는 자 코비안 (Jacobian)에서 반사 된 솔리드 각도에서 일반 솔리드 각도로의 변형에서 비롯된 것입니다.14(nωi)

대부분의 논문에 따르면 용어는 [Torrance, 67] 에 처음 나타났습니다 .14

용어에 대한 자세한 설명을 보려면 [Nayar, 91] , 부록 D를 확인해야 합니다. 동일한 용지의 이미지는 다음과 같습니다.

dω=dωr4cosθi

또한 Joe Stam 은 부록 B의 [Stam 01, 거친 표면으로 둘러싸인 스킨 레이어의 조명 모델]에서 Nayar의 용어에 동의합니다 .14

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