광 전파 볼륨 : 볼륨 데이터의 이방성 필터링


9

여기여기에 자세히 설명 된 실시간 확산 전역 조명을 위해 캐스케이드 라이트 전파 볼륨 알고리즘 (간접 섀도 잉 없음)을 구현 했습니다 . 잘 작동하지만 여전히 하나의 아티팩트를 수정하려고합니다.

짧은 요약

알고리즘의 작동 방식을 이미 알고있는 경우이를 건너 뛸 수 있습니다.

이 알고리즘은 구형 고조파 형태로 조명 정보를 3D 그리드에 저장하여 작동합니다. 그리드의 각 셀에있는 데이터는 처음에 확장 된 그림자 맵 ( 반사 그림자 맵) 을 렌더링하여 생성 됩니다.)에는 깊이 외에 색상 및 일반 정보도 포함됩니다. 기본적으로 광원으로 보이는 모든 픽셀은 간접 조명의 첫 번째 바운스의 원인이므로 섀도 매핑에 사용하는 일반 깊이 버퍼와 함께 필요한 정보를 저장하고 모든 데이터를 샘플링하여 3D 그리드를 초기화합니다. . 그런 다음 3D 그리드의 정보는 한 셀의 정보를 6 개의 직접 이웃 (위, 아래, 왼쪽, 오른쪽, 위쪽, 아래쪽) 모두에 전파함으로써 (각 반복마다) 반복적으로 전파됩니다. 격자의 정보를 사용하여 장면에 조명을 비추려면 장면에 전체 화면 패스를 적용하고 래스터 화 된 각 픽셀에 대해 래스터 화 된 표면의 월드 공간 위치를 사용할 수 있습니다 (예 : 지연된 음영의 G-Buffer에서). 화면의 특정 픽셀이 속한 그리드의 셀을 알 수 있습니다.

이것은 대부분 잘 작동합니다. 여기에는 시뮬레이션 된 GI가없는 두 개의 이미지와 하드 코딩 된 주변 용어가 있고 그 옆에는 LPV 알고리즘이있는 이미지가 있습니다. 표면에 컬러 반사, 더 나은 깊이 디테일 등을 확인하십시오.

여기에 이미지 설명을 입력하십시오

문제

조명 단계에서 셀을 조회 할 때, 삼선 형 보간 (하드웨어 텍스쳐 필터 사용)은 셀 중심과 인접 셀과 실제 조회 된 텍스처 좌표 사이의 데이터를 부드럽게 보간하는 데 사용됩니다. 본질적으로,이 보간은 셀 중심에서의 조명 정보가 정보가 조회되는 중심 주변의 콘크리트 픽셀로 전파되는 것을 모방한다. 그렇지 않으면 조명이 매우 거칠고보기 흉하기 때문에 필요합니다. 그러나 삼선 형 보간은 셀에 인코딩 된 조명 정보의 광 전파 방향을 고려하지 않기 때문에 (구형 고조파에 있음) 광이 조회 된 픽셀로 잘못 전파 될 수 있습니다. 예를 들어, 셀에 인코딩 된 빛이 (1,0,0) ( "

그리드의 셀 크기가 장면의 표면에 비해 클 때 라이트 블리딩이 벽을 잘못 통과시킵니다 (가능한 한 적은 전파 반복으로 장면에 빛을 전파하기 위해 큰 셀이 필요하기 때문에 필요합니다). 이것은 다음과 같습니다

여기에 이미지 설명을 입력하십시오

보시다시피 (오른쪽 상단의 그림자 윤곽선에서) 장면 위의 어딘가에 왼쪽 위의 방향성 광원으로 장면이 켜집니다. 아트리움의 외부와 내부를 분리하는 하나의 셀만 있기 때문에 빛이 번지고 왼쪽의 벽이 잘못 조명됩니다.

실제 질문

저자는이를 해결하기위한 일종의 수동 이방성 필터링을 제안합니다. 그는 다음과 같이 표면 법선 n의 방향을 향한 방사 기울기 (현재 셀에서 샘플링 된 SH 계수를 가정 함)를 제공합니다.

여기에 이미지 설명을 입력하십시오

그리고 상태

따라서, 방사 방향 미분을 실제 방사 방향과 비교함으로써,이 지점에 대한 방사 분포가 삼선 보간보다 더 시작하는지 여부를 계산할 수있다.

내 질문 :

방정식에서 함수 c (x)는 점 (x)에서의 SH 계수 인 것으로 보입니다. 따라서 방사도 기울기는 x-(n / 2) 및 x + (n / 2) 지점에서 SH 계수의 가중 차이로 일반 수치 파생물처럼 계산되는 것 같습니다. 그러나 내 맥락에서 c (x)는 무엇입니까? 현재 c (x)는 표면 위치 (x)에서 3 선형으로 보간 된 계수를 참조한다고 가정하지만, 방향에 대한 자세한 정보를 제공하는 방법을 모르기 때문에 확실하지 않습니다. SH 계수의 분포.

그리고 그 그라디언트는 어떻게 셀에서 샘플링 된 조명이 표면에 정확하게 적용되는지를 어떻게 바꾸는 데 사용됩니까? 저자는 단지 "조도 방향 미분과 실제 광도 방향 비교"를 썼지 만 이것은 매우 모호합니다.

그는 "중심 미분 체계"를 사용하는 것에 대해 언급하고 SH 계수의 중심 미분에 대해이 슬라이드 를 참조 하며, 기울기의 도출을 보여주는 이 백서 를 참조 하지만 지금은 유용한 결론을 도출 할 수 없습니다.

답변:


4

AMD의 논문에 따르면 메모리에서 판넬로 크리스탈이 날아 가면서 데모를 할 때 중심 차이점이 소개되었습니다.

c함수는 예를 들어, 빛의 아이디어와 같이 정확할 필요는 없으므로 현재 법선을 사용하여 SH를 평가하면됩니다.

그런 다음에 당신이하는 일은 경험적 요소를 사용하여이 차분을 사용하여 빛을 내리는 것입니다. 그러나 차등이 빛의 흐름이 현재의 법선에서 멀어짐을 암시하는 경우에만 하향 톤을 나타냅니다.

기본적으로 아이디어는 벽의 법선과 반대 방향으로 가면 빛의 흐름이 느리게 감소한다는 사실을 경험적으로 감지하는 것입니다. 그러나 정상 앞에서 약간 프로브하면 플럭스가 갑자기 떨어지는 것을 알 수 있습니다. 이는 현재 샘플링하는 셀이 실제로 누출임을 의미합니다.

나는 그것이 사례의 70 %에서 작동한다는 것을 알았지 만 부주의하게 적용하면 빛샘이 다른 매우 어두운 영역에서 매우 이상한 블랙홀 효과 또는 색조 변화 (분홍색, 녹색 ...)가 발생할 수 있습니다. 각 색상에 대해 3 LPV가 있기 때문에 중심 차이가 다른 결과를 나타내는 경향이 있습니다. 가능하면 그레이 스케일 명도를 사용하여 중앙 차이 댐퍼를 평가하고 나중에 모든 색상 채널에 공통 감소 계수를 사용하십시오.

이 해킹이 없으면 SH를 평가하는 데 사용하는 법선이 플럭스 방향과 반대이기 때문에 일반적으로 어쨌든 많은 빛을 얻지 않아야합니다. 그러나 알다시피 LPV에 사용 된 2 대역 SH는 실제로 충분하지 않으며 강력한 누설을 제공하는 강력한 DC 구성 요소를 가지고 있습니다. LPV 인식 아티스트가 엄격하게 제어하지 않는 형상에는 LPV가 실용적이지 않기 때문에 모든 벽에 누출을 줄이기 위해 최소한의 두께를 줄 것입니다.

또한 정사각형 enix와 같은 일부 회사는 지오메트리 볼륨이 제공하는 것처럼 수동으로 설계된 차단 벽을 사용하여 누수를 제거합니다. (기하학적 볼륨은 누출을 줄이는 데 도움이되지만, 장면을 복셀 화하는 RSM 역투 영은 대부분의 경우 너무 부분적이며 LPV 셀 레벨에서 앨리어싱을 생성하여 누출의 강도가 이상하게 변화하기 때문에 외관이 더 나빠집니다.)

LPV에 최종 간접 조명에 대해 덜 강한 최종 단어를 제공하여 문제를 완화하고 노력할 수 있습니다. 무게 (0.5?)로 상수 항을 사용하면 LPV가 간접의 나머지 0.5에 기여할 수 있습니다 빛. 또한 지오메트리 볼륨을 구현하려고하면 문제가 줄어 듭니다. 그리고 마지막으로 중심적인 차이가 있습니다.


일정한 주변 환경의 50 % 이상을 개선하기 위해 "앰비언트 BRDF"(tri-Ace)라는 기술을 사용할 수 있습니다.
v.oddou
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.