역자의 말. 이 전 Diffuse Chan
함수부를 설명할 때 언급 했던 Furnace test 에 대한 사례를 공유해보고자 합니다.
화이트 퍼니스 테스트는 제가 가장 좋아하는 렌더링 디버깅 도구 중 하나입니다. 하지만 그렇게 되기 전에는 다소 신비롭고 추상적이었습니다. 왜 이러한 렌더링 관련 출판물(논문)에서 빈 렌더링처럼 보이는 것을 자랑스럽게 보여주나요? 그것은 무엇을 의미하며 왜 그들이 관심을 가질까요?
빈 회색 사각형은 무엇일까요? 비어 보인다는 사실이 포인트입니다 .
Imageworks의 물리 기반 셰이딩 재조명,SIGGRAPH 2017 강좌에서 발표되었습니다.
100% 반사되는 물체가 균일한 환경에서 조명을 받으면 주변 환경과 구분할 수 없게 됩니다. 물체가 무광택이든 거울 같은 것이든, 아니면 그 중간이든 상관없이 그냥 "사라집니다".
이 아이디어를 받아들이는 데 시간이 좀 걸렸지만 실제 상황에서 이 효과를 경험할 수 있습니다. 깨끗한 눈은 알베도가 90~98%, 즉 거의 완벽한 흰색에 가까울 정도로 높을 수 있습니다.
흐린 날씨나 안개가 끼면 특징이 없어 보이고 하늘과 완전히 구분되지 않아 두 걸음 앞의 슬로프도 구분할 수 없어 촉감으로 스키를 타야 할 정도까지 될 수 있습니다.
모든 것이 사방이 온통 하얗게 보이는화이트아웃 상태입니다 .
100% 반사되는 물체는 균일한 조명을 받았을 때 보이지 않아야 한다는 사실을 알고 있기 때문에 이를 확인하는 것은 물리 기반 렌더러를 위한 좋은 정신 테스트이며, 간혹 출판물(논문)에서 이러한 흥미로운 일러스트를 보는 이유이기도 합니다. 수학이 맞다는 것을 보여주는 것입니다.
이러한 테스트는 일반적으로 BRDF가 에너지를 보존하는지, 즉 에너지를 잃거나 더하지 않는지 확인하기 위한 것입니다. 예를 들어,거칠기가 증가하고 상호 반사가 너무 커져서 무시할 수 없을 정도로어두워지지 않도록하는 것이 일반적인 주제입니다. 하지만 누락된 에너지만이 문제가 되는 것은 아니며, 흰색 환경이 아닌 회색 환경은 과도한 반사 에너지가 더 밝게 보이기 때문에 편리합니다.
- 셰이더토이에서 화이트 퍼니스 테스트로서 빈 이미지를 렌더링하는 비싼 방법의 데모입니다. 재생 버튼을 누르면 장면이 표시됩니다.
그러나 BRDF의 에너지 보존을 검증하는 것은 화이트 퍼니스 테스트 가 유용한 경우 중 하나에 불과합니다. 알베도가 100%인 램버트식 BRDF는 완벽하게 에너지를 보존하며 구현하기가 매우 간단하기 때문에 이러한 흰색 램버트 머티리얼을 사용한 백색로 테스트를 통해 렌더러 구현 자체의 버그를 발견할 수 있습니다.
샘플링 분포, 샘플의 적절한 가중치, PDF의 실수, 파이 또는 어딘가에서 잊어버린 2 인수 등 구현에서 잘못될 수 있는 측면은 매우 많습니다. 이러한 오류는 미묘한 경향이 있으며 여전히 합리적으로 보이는 렌더링이 발생할 수 있습니다.
따라서 Path-Tracer 또는 그 변형 중 하나를 작성하거나 사전 컨볼루션 환경 맵을 생성하거나 다른 샘플링 분포를 시도할 때 가장 먼저 하는 점검은 순백색 램버시안 BRDF로 백색로 테스트를 통과했는지 확인하는 것입니다. 이 작업이 완료되면(위의 데모 셰이더를 작성하면서 다시 한 번 알 수 있듯이 몇 번의 반복이 필요할 수 있습니다) 구현에 대한 확신을 갖고 BRDF를 직접 테스트할 수 있습니다.
화이트 퍼니스 테스트는 렌더링의 통합 부분과 BRDF 부분을 모두 검증하는 데 매우 유용한 디버깅 툴입니다.
업데이트: 해커 뉴스의 한 댓글에서 테스트 실패의 예시를 보는 것이 유용할 것 같다는 의견이 있었습니다 . 그래서위의 셰이더에 매크로 SIMULATE_INCORRECT_INTEGRATION을 추가하여 반구에 대한 적분이 2Pi에 달한다는 사실을 잊거나 샘플링 분포를 고려하지 않는 등의 '버그'를 도입했습니다. '버그'가 활성화되면 구가 정확한 양의 에너지를 반영하지 않기 때문에 구가 보이게 됩니다.
더 관심이 있다면...
- 2019년 말, 물리 기반 셰이딩 레퍼런스지난 10년 동안 그래픽 커뮤니티에서는 특히 물리 기반 셰이딩과관련하여 많은 일이 일어났습니다.
- 영화 산업의 렌더링 툴다음은 영화 산업에서 사용하는 툴에 대한 흥미로운 통찰력을 제공하는 fxguide에서 게시한 기사 목록입니다....
원문
https://lousodrome.net/blog/light/2023/10/21/the-white-furnace-test/
'TECH.ART.FLOW.IO' 카테고리의 다른 글
[공유] Easing functions (1) | 2024.11.10 |
---|---|
[YOUTUBE] Automated Testing of Shader Code (4) | 2024.11.04 |
[번역] 그래픽 스터디: Red Dead Redemption 2 (4) | 2024.10.28 |
[번역] Unity6에서 RenderGraph를 활용해보자!응용 구현편 2 '데이터 전달' (2) | 2024.10.21 |
[번역] Advanced Shading Techniques with Pixel Local Storage (4) | 2024.10.21 |