현재 위치 - 법률 상담 무료 플랫폼 - 특허 조회 - 광자 맵 (광자 맵)
광자 맵 (광자 맵)
광선 추적은 간단하고, 강력하고, 쉽게 이뤄지지만, 현실 세계의 많은 일은 잘 처리할 수 없다. 예를 들면: 출혈, 화선-빛이 모이는 현상.

1993 이 광자 매핑을 제안할 때까지 광선 추적은 이 두 가지 문제를 효과적으로 해결하지 못하며 광자 매핑은 두 문제에 대한 좋은 해결책을 제공합니다. 반사와 화선 현상은 분산 표면의 간접 조명으로 인해 발생합니다. 광자 매핑 방법을 사용하면 미리 계산된 광자 매핑으로 이 조명을 추정할 수 있습니다. 광선 추적을 광자 맵으로 확장하면 직접 또는 간접 조명을 해결할 수 있는 방법이 생성됩니다. 또한 광자 맵은 미디어에 참여하는 경우를 처리할 수 있으므로 병렬 계산을 쉽게 수행할 수 있습니다. 광자 맵 기반 전역 조명 알고리즘은 두 단계로 나뉩니다. 첫 번째 단계는 거울이 아닌 물체를 만날 때 라이트에서 장면으로 광자를 방사하고 하나의 광자 맵에 저장하여 광자 맵을 만드는 것입니다. 두 번째 단계에서는 통계 기술을 사용하여 광자 맵에서 장면의 모든 점에 대한 입사 광속 및 반사 복사 에너지를 추출합니다. 광자 맵과 장면 표현은 완전히 분리되어 광자 맵 방법이 수천 개의 삼각형 패치, 인스턴스화된 형상 및 복잡한 절차 오브젝트를 포함한 매우 복잡한 장면을 처리할 수 있도록 합니다.

유한 요소 복사도 방법에 비해 광자 맵의 장점은 메시 분할을 사용하지 않는다는 것입니다. 간단한 장면에서는 복사 속도가 매우 빠를 수 있지만, 장면이 복잡해지면 복사 속도는 광자 맵보다 훨씬 뒤떨어집니다. 또한 광자 추적은 비분산 면과 화선을 처리할 수 있으며 복사도는 안 됩니다.

광자 맵의 가장 큰 장점은 광선 추적, 양방향 광선 추적, Metropolis 등과 같은 몬테카를로 광선 추적 방법에 비해 메모리 오버헤드가 적은 모든 전역 조명 효과를 시뮬레이션할 수 있다는 것입니다. 광자 맵의 가장 큰 장점은 효율이 높지만 광자 맵을 저장하기 위해 추가 메모리가 필요하다는 것입니다. 광자 매핑 알고리즘은 대부분의 장면에서 빠르고 최종 효과도 몬트캐롤보다 우수합니다. 광자 매핑으로 인한 오차는 대부분 눈에 잘 띄지 않는 저주파 신호이고 몬트캐롤은 종종 고주파 신호이기 때문입니다.

또 다른 장점은 광자 작도법에 특허가 없다는 것이다. 만약 경제적 관점에서 고려한다면. (물론 이것은 Jensen 의 웃기는 말이다.) 광자 추적과 광선 추적의 차이점은 광선 추적은 방사 밝기를 수집하고 광자 추적은 플럭스를 수집한다는 것이다.

빛과 물질의 상호 작용이 광자와 물질의 상호 작용과는 확실히 다르기 때문에 이 차이는 매우 중요합니다. 한 가지 분명한 예는 굴절입니다. 굴절률의 변화에 따라 빛의 밝기가 변경되며 광자 추적은 이 요소의 영향을 받지 않습니다 (광속이 수집되기 때문). 광자가 표면에 부딪히거나 반사되거나 투과되거나 (굴절) 흡수되어 표면의 매개변수와 관련이 있습니다. 현재 결과가 반사, 굴절 또는 흡수인지 판단하는 기술은 러시아 턴테이블입니다. 기본적으로 광자가 흡수되지 않았는지 여부를 무작위로 결정하고 다음 광자 추적 단계를 수행합니다. 어떤 광자-표면 상호 작용이 유지되어야 합니까? 즉, 광자는 분산 또는 더 정확하게 비반사 표면에 부딪힐 때만 유지되어야 합니다. 거울에 저장된 광자는 우리에게 유용한 정보를 제공하지 않기 때문입니다. 한 광자가 거울 방향에서 올 가능성은 0 이며, 모서리 인터페이스 반사를 정확하게 그리는 가장 좋은 방법은 광선 추적법이 거울 대칭 방향의 빛을 추적하는 것입니다.

각 광자는 분산 표면에 최종적으로 흡수되는 것을 포함하여 전송 경로에 여러 번 저장할 수 있습니다. 광자가 표면에 부딪힐 때마다 위치, 광자 에너지 및 입사 방향이 유지되고 검색 구조를 구성하는 표시가 있습니다.

광자 추적 단계에서 광자 맵은 광자 시퀀스로 구성되지만 그리기 전에 효율성을 위해 균형 잡힌 KD 트리로 재구성됩니다. 일반적으로 광자의 상호 작용이 오브젝트 표면에서 발생한다고 가정하고 오브젝트의 "몸체" 기본값은 광자에 영향을 주지 않습니다. 사실 광자 맵을 중간 매체가 있는 몸으로 확장하는 것은 어렵지 않다. 1998 년 제이슨은 인체 광자 이미징에 관한 문장 한 편을 썼다.

사실 광자는 점과 표면뿐만 아니라 물체에서도 방출될 수 있습니다. 예를 들어 촛불은 불 모양의 물체에서 방출되는 광자에 의해 시뮬레이션될 수 있습니다.

광자가 매체를 통과할 때 산란되거나 흡수될 수 있으며, 그 확률은 매체의 밀도와 광자가 전파되는 거리에 따라 달라집니다. 비균일 매체의 경우 광자 매핑 방법도 광선 행진 방법으로 쉽게 해결할 수 있습니다 [Jensen98]. 간단한 광선 행진기는 매체를 여러 개의 작은 단계로 나누고, 각 단계에서 누적 밀도 (적분 소멸 계수) 를 업데이트한 다음, 사전 계산된 확률에 따라 광자가 분산되는지 흡수되는지 여부를 결정하고 다음 단계가 필요한지 여부를 결정합니다. 광자 맵을 구성하는 과정은 광자 추적 중에 수행됩니다. 그리기 단계에서 광자 맵은 장면의 해당 점에 대한 광속 및 반사 광도를 추정하는 데 사용되는 정적 데이터 세트입니다.

그리는 동안 한 점에 가장 가까운 광자가 계속 검색되므로 광자 맵을 재구성하는 데 적합한 데이터 구조를 찾는 것이 알고리즘의 효율성에 큰 영향을 미칩니다. 이러한 데이터 구조 요구 사항 중 하나는 컴팩트하고, 다른 하나는 가능한 한 빨리 가장 가까운 광자를 검색할 수 있어야 합니다. Kd 트리의 균형을 맞추면 이 두 가지 요구 사항을 모두 충족할 수 있습니다. Jensen96a 의 문장 속에는 비교적 균형과 불균형한 KD 나무의 예가 있다. 장면의 한 점에 대한 밝기 추정은 해당 점 근처의 n 개 광자에 대한 광속 정보를 사용하여 추정됩니다. 가장 쉬운 방법은 점 주변에서 n 개의 기존 광자를 둘러쌀 수 있는 가장 작은 구를 찾는 것입니다. 이 구에 있는 n 광자의 총 광속을 이 구의 투영 영역 (즉, PI * R 2) 으로 나누면 조도와 BRDF 함수를 곱하면 이 조도 아래 장면에서 눈까지의 점을 얻을 수 있습니다.

구를 사용하여 위치를 지정하는 데 필요한 N 개의 광자 외에도 디스크, 타원 평면 등이 있습니다. 면 사이의 교차에서 앨리어싱을 줄이는 데도 사용할 수 있습니다. 다른 유형의 필터를 선택하면 일부 광자 밀도 부족으로 인한 노이즈도 처리할 수 있습니다. 일반적으로 두 가지 기술을 사용하여 최종 이미지를 그립니다. 즉, Splatting (밝기 확산 후 광자가 흐릿하거나 포톤 수집 후 확산) 또는 Final Gathering (화면의 각 점에 대해 공간의 포톤을 수집하고 수집된 각 포톤의 밝기에 가중 평균) 이 있습니다. 포톤 맵을 직접 시각화하는 경우 고품질의 이미지를 얻기 위해 많은 포톤이 필요하기 때문입니다 픽셀의 밝기는 일련의 샘플의 평균으로 근사화되며, 각 샘플은 눈에서 장면까지의 시선을 추적하여 얻습니다.

반환된 밝기 값은 시선이 처음으로 비거울과 교차하는 교차점에서 시선 방향을 따라 방출되는 밝기와 같습니다.