무선성(컴퓨터 그래픽스)
Radiosity (computer graphics)![]() | 이 기사는 대부분의 독자들이 이해하기에는 너무 전문적일 수 있다.2009년 7월 (이 를 하는 방법과 에 대해 합니다) |
3D 컴퓨터 그래픽스에서 방사성은 빛을 산란하게 반사하는 표면을 가진 장면의 렌더링 방정식을 풀기 위해 유한 요소 방법을 적용한 것입니다.모든 유형의 광경로를 처리하는 몬테카를로 알고리즘(패스 트레이스 등)을 사용하는 렌더링 방법과는 달리, 일반적인 방사성은 광원을 떠나 눈에 들어오기 전에 몇 번(아마도 0) 확산 반사되는 경로(코드 "LD*E"로 표시됨)만을 고려합니다.방사성은 표면에 도달하는 조명은 광원뿐만 아니라 빛을 반사하는 다른 표면에서도 직접 발생한다는 점에서 글로벌 조명 알고리즘이다.무선성은 관점에 의존하지 않기 때문에 관련된 계산이 증가하지만 모든 관점에 도움이 됩니다.
방사성 방법은 약 1950년 열 전달 공학 분야에서 처음 개발되었습니다.그것들은 1984년 코넬[2] 대학과 히로시마 대학의 [3]연구자들에 의해 컴퓨터 그래픽을 렌더링하는 문제를 위해 특별히 개량되었다.
주목할 만한 상용 무선 엔진은 Illight by Geomerics입니다(배틀필드 3 및 니드 포 스피드: 실행), 3ds 최대, 폼•Z, LightWave 3D 및 Electric Image Animation System.
시각적 특성
렌더링 프로세스에 방사성 계산을 포함하면 실제 현상을 모방하는 방식 때문에 완성된 장면에 현실감을 더하는 요소가 되는 경우가 많습니다.심플한 방의 장면을 생각해 봅시다.
왼쪽 이미지는 일반적인 직접 조명 렌더러로 렌더링되었습니다.이 장면에는 예술가가 사실적인 조명을 만들기 위해 특별히 선택하고 배치한 세 가지 유형의 조명이 있습니다: 그림자가 있는 스폿 조명(바닥에 빛을 비추기 위해 창 밖에 배치), 주변 조명(광원에 의해 직접 조명되지 않는 방의 어떤 부분도 조명)(주변 조명의 평탄도를 줄이기 위해) 및 그림자 없는 전방향 조명.
오른쪽 이미지는 Radiosity 알고리즘을 사용하여 렌더링되었습니다.유일한 광원은 창 밖에 있는 하늘의 이미지입니다.차이가 표시됩니다.그 방은 빛으로 빛나고 있다.바닥에는 부드러운 그림자가 보이고, 방 주변에는 은은한 조명 효과가 눈에 띈다.또한 카펫의 붉은색이 회색 벽면에 스며들어 약간 따뜻한 느낌을 줍니다.이러한 효과들 중 어느 것도 예술가가 특별히 선택하거나 설계하지 않았습니다.
무선성 알고리즘의 개요
렌더링할 씬(scene)의 표면이 각각 하나 이상의 작은 표면(패치)으로 분할됩니다.뷰 팩터(폼 팩터라고도 함)는 각 패치 쌍에 대해 계산됩니다.이것은 패치가 서로 얼마나 잘 인식되는지를 나타내는 계수입니다.서로 멀리 떨어져 있거나 서로에 대해 경사각을 이루는 패치는 더 작은 뷰 팩터를 가집니다.다른 패치가 방해가 되면 폐색이 부분인지 전체인지에 따라 뷰 팩터가 감소하거나 0이 됩니다.
뷰 팩터는 렌더링 방정식의 선형 시스템에서 계수로 사용됩니다.이 시스템을 해결하면 확산 상호반사 및 부드러운 그림자를 고려하여 각 패치의 방사성 또는 밝기가 생성됩니다.
프로그레시브 무선성은 패치의 중간 무선성 값을 바운스레벨에 대응하여 반복적으로 시스템을 해결합니다.즉, 각 반복 후에, 우리는 한 번의 가벼운 바운스, 두 번의 패스, 두 번의 바운스 등을 통해 그 장면이 어떻게 보이는지 알 수 있습니다.이것은 씬(scene)의 대화형 미리보기를 얻는 데 유용합니다.또, 유저는, 계산이 수치적으로 수렴하는 것을 기다리지 않고, 화상이 충분히 좋아 보이면, 이 반복을 정지할 수 있습니다.
방사성 방정식을 푸는 또 다른 일반적인 방법은 '방사성'입니다.이 방법은 각 단계에서 가장 많은 에너지를 가진 패치의 빛을 '사출'함으로써 방사성 방정식을 반복적으로 해결합니다.첫 번째 통과 후에는 발광 패치의 가시권에 있는 패치만 켜집니다.두 번째 통과 후 빛이 현장을 반사하기 시작하면 더 많은 패치가 켜집니다.그 장면은 계속해서 밝아지고 마침내 안정된 상태에 도달한다.
수학 공식화
방사성은 표면 간에 전달되는 빛 에너지의 양 계산에 의존하기 때문에 기본적인 방사성 방법은 열복사 이론의 기초를 가지고 있다.계산을 단순화하기 위해 이 방법은 모든 산란이 완벽하게 확산된다고 가정합니다.표면은 일반적으로 사각형 또는 삼각형 요소로 이산되며, 그 위에 부분 다항식 함수가 정의됩니다.
이 분석 후 반사 패치의 기존 반사율을 2개의 패치의 뷰 팩터와 조합하여 광에너지 전달량을 계산할 수 있다.이 무차원량은 두 패치의 기하학적 방향에서 계산되며, 두 번째 패치가 커버하는 첫 번째 패치의 가능한 총 방출 면적의 비율로 생각할 수 있다.
보다 정확하게 말하면, 방사성 B는 개별 시간 간격마다 패치 표면에서 나오는 단위 면적당 에너지이며, 방출 에너지와 반사 에너지의 조합입니다.
여기서:
- B(x)i dA는i 점 x 주위에 작은 면적i dA를 남기는 총 에너지입니다.
- E(x)i dA는i 방출 에너지입니다.
- δ(x)는 점의 반사율이며 단위 면적당 입사 에너지(다른 패치에서 도달하는 총 에너지)를 곱하여 단위 면적당 반사 에너지를 제공한다.
- S는 적분 변수 x'가 장면의 모든 표면에 걸쳐 있음을 나타낸다.
- r은 x와 x' 사이의 거리입니다.
- θ 및x' θ는 각각 x, x'에서 표면에 수직인 벡터 사이의 각도이다x.
- Vis(x,x')는 가시성 함수로, 두 점 x와 x'가 서로 보일 경우 1로 정의되며 표시되지 않을 경우 0으로 정의됩니다.
표면이 각각 일정한 방사성i B와 반사율 θ를i 갖는 유한한 수의 평면 패치에 의해 근사되는 경우 위의 방정식은 이산 방사성 방정식을 제공한다.
여기서ij F는 j를 떠나 패치 i에 적중하는 방사선의 기하학적 뷰 팩터입니다.
그런 다음 이 방정식을 각 패치에 적용할 수 있습니다.이 방정식은 단색이기 때문에 색상의 방사성을 렌더링하려면 필요한 각 색상의 계산이 필요합니다.
해결 방법
이 방정식은 공식적으로 행렬 방정식으로 풀 수 있으며 벡터 해를 구할 수 있습니다.
이렇게 하면 B에 대한 완전한 "무한 바운스" 솔루션이 직접 제공됩니다.그러나 매트릭스 솔루션을 계산하는 계산의 수는 n에 따라3 달라집니다.여기서 n은 패치의 수입니다.이것은 n의 값이 현실적으로 클 경우 금지됩니다.
대신 위의 싱글 바운스 업데이트 공식을 반복 적용하면 방정식을 더 쉽게 반복적으로 풀 수 있습니다.공식적으로, 이것은 자코비 반복에 의한 행렬 방정식의 해이다.반사율 θ가i 1보다 작기 때문에 이 스킴은 수렴이 빠르기 때문에 일반적으로 합리적인 솔루션을 만들기 위해 몇 번의 반복만 필요로 합니다.행렬 방정식 해법에 대한 다른 표준 반복 방법들도 사용할 수 있다. 예를 들어 가우스-세이델 방법에서는 각 패치의 업데이트된 값이 각 스위프의 끝에서 동기적으로 업데이트되는 것이 아니라 계산 즉시 계산에서 사용된다.또, 각 업데이트에 대해서, 수신 패치가 아니고, 각 송신 요소에 대해서 메인 최외측 루프를 반복하도록 솔루션을 조정할 수도 있습니다.이것은 수집 배리언트가 아닌 알고리즘의 슈팅 배리언트라고 불립니다.뷰 팩터 상호 관계인iij A F = Aj F를ji 사용하여 각 전송 패치 A에서 볼j 수 있는 뷰 팩터 F의ji 관점에서 업데이트 방정식을 다시 작성할 수도 있습니다.
이것은, 「전원」식이라고 불리는 경우가 있습니다.이것은, 현재 갱신되고 있는 각 요소의 송신 전력의 합계가 되고 있기 때문입니다.
뷰 팩터ij F 자체는 여러 가지 방법으로 계산할 수 있습니다.초기 방법에서는 마이클 F가 고안한 헤미큐브(두 번째 표면이 투영된 첫 번째 표면을 중심으로 한 상상의 입방체)를 사용했다. 코헨과 도널드 P. 1985년 그린버그).헤미큐브의 표면은 픽셀 모양의 정사각형으로 분할되었으며, 각 정사각형에 대해 뷰 팩터를 쉽게 분석적으로 계산할 수 있습니다.그리고 각 픽셀 모양의 정사각형에서 기여도를 합산하여 전체 폼 팩터를 대략적으로 계산할 수 있습니다.폴리곤의 가시성을 결정하기 위한 표준 방법에서 적응할 수 있는 헤미큐브에 대한 투영도 이면에 부분적으로 가려지는 패치의 개입 문제를 해결했다.
그러나 이상적인 폼 팩터는 가능한 모든 패치 쌍에 대해 도출되어야 하므로 이 모든 것은 계산 비용이 상당히 많이 들었습니다. 따라서 패치 수가 증가함에 따라 계산의 2차 증가로 이어졌습니다.이는 바이너리 공간 파티션 트리를 사용하여 복잡한 장면에서 어떤 패치가 다른 패치로부터 완전히 숨겨져 있는지를 판별하는 데 걸리는 시간을 단축하는 것으로 다소 줄일 수 있습니다.그러나 그래도 폼 팩터를 판별하는 데 소요되는 시간은 일반적으로 n개의 로그n으로 표시됩니다.새로운 방법에는 적응형 [4]통합이 포함됩니다.
샘플링 어프로세스
폼 팩터ij F 자체는 실제로 어느 업데이트 방정식에서도 명시적으로 필요하지 않으며, 전체 뷰에서 수집된 총 강도j δijj F B를 추정하거나 복사되는 전력j Aj B의 분포 방식을 추정하지도 않습니다.대신 이러한 업데이트는 폼 팩터를 명시적으로 계산할 필요 없이 샘플링 방법으로 추정할 수 있습니다.1990년대 중반 이후 그러한 샘플링 접근법은 실질적인 방사선성 계산에 가장 많이 사용되어 왔다.
수집된 강도는 단위 원에서 샘플 세트를 생성하여 반구로 들어올린 다음 해당 방향으로 들어오는 광선이 발생했을 원소의 방사성을 확인하여 추정할 수 있습니다.수집된 총 강도의 추정치는 각 광선에 의해 발견된 방사선의 평균입니다.마찬가지로 방사소자로부터의 광선을 같은 방법으로 발생시켜 광선이 타격하는 각 소자 간에 균등하게 분배되는 전력을 분산시킴으로써 배전을 할 수 있다.
이는 기본적으로 경로 추적 프로그램이 하나의 확산 반사 단계를 역추적할 때 샘플링하는 분포 또는 광원 매핑 시 하나의 전방 확산 반사 단계를 달성하기 위해 양방향 광선 추적 프로그램이 샘플링하는 분포와 동일합니다.따라서 샘플링 접근방식은 어느 정도 두 기법 간의 수렴을 나타내며, 방사선성 기법이 현재 뷰의 표현뿐만 아니라 현장 내 모든 표면의 광도에 대한 충분히 정확한 지도를 구축하는 것을 목표로 하는 남은 핵심 차이이다.
계산 시간 단축
기본 형태의 방사선성은 기하학(표면 및 패치)이 추가된 계산 시간의 2차 증가를 가정하지만, 그럴 필요는 없다.무선성 문제는 텍스처 맵된 장면을 렌더링하는 문제로 바꿀 수 있습니다.이 경우 계산 시간은 패치 수에 따라 선형적으로 증가합니다(캐시 사용 등 복잡한 문제는 무시).
방사성을 강화한 이미지에 대한 상업적 열정에 따라, 그러나 신속한 방사성 계산이 표준화되기 전에는 많은 설계자와 그래픽 아티스트가 거짓 방사성으로 불리는 기술을 사용했다.모서리, 접합부 및 오목부에 대응하는 텍스처 맵의 영역을 어둡게 하고 자기 조명 또는 확산 매핑을 통해 적용함으로써 표준 스캔라인 렌더러(주변 폐색 참조)를 사용하여 패치 상호작용의 방사선성 효과를 생성할 수 있다.
표준 그래픽 액셀러레이션하드웨어를 탑재한 현재의 데스크탑 컴퓨터에서는, 미리 계산된 정적인 무선성을 Lightmaps 를 사용해 리얼타임에 표시할 수 있습니다.
이점

Radiosity 알고리즘의 장점 중 하나는 설명과 구현이 비교적 간단하다는 것입니다.이것은 학생들에게 글로벌 조명 알고리즘에 대해 가르치는 데 유용한 알고리즘이 됩니다.일반적인 직접 조명 렌더러에는 이미 방사선성 구현에 필요한 거의 모든 알고리즘(투과 변환, 텍스처 매핑, 숨겨진 표면 제거)이 포함되어 있습니다.이 알고리즘을[citation needed] 이해하거나 실행하기 위해 수학에 대한 강한 이해는 필요하지 않습니다.
제한 사항
전형적인 방사성 방법은 LD*E 형태의 광 경로, 즉 광원에서 시작하여 눈에 도달하기 전에 여러 번 확산 바운스를 만드는 경로만 설명한다.다른[5] 조명[6] 효과(스펙트럼 및 광택 반사 등)를 통합하는 방법은 여러 가지가 있지만, 일반적으로 완전한 렌더링 방정식을 풀기 위해 방사성에 기반한 방법은 사용되지 않습니다.
또한 기본 방사성은 공간 영역의 로우패스 박스 필터에 해당하기 때문에 가시성의 갑작스러운 변화(예: 단단한 그림자)를 해결하는 데 어려움을 겪는다.불연속 메쉬 [1]는 가시성 이벤트에 대한 지식을 사용하여 보다 지능적인 이산화를 생성합니다.
용어에 대한 혼란
방사성은 아마도 확산 간접 조명을 설명하는 널리 사용되는 최초의 렌더링 알고리즘이었을 것입니다.휘트 스타일의 광선 추적과 같은 초기 렌더링 알고리즘은 반사, 굴절 및 그림자와 같은 효과를 계산할 수 있었지만, 매우 글로벌한 현상임에도 불구하고 이러한 효과는 일반적으로 "글로벌 일루미네이션"이라고 불리지 않았습니다.그 결과, "확산 상호 반사"와 "방사성"이라는 용어는 모두 일반적인 용어로 "지구적 조명"과 혼동되었다.그러나 이 세 가지는 별개의 개념이다.
컴퓨터 그래픽의 맥락에서 방사선 투과 방법은 열전달에서의 방사선 투과 방식에서 파생되며 기본적으로 동일합니다.이러한 맥락에서 방사성은 표면을 떠나는 총 방사 플럭스(반사 및 재방사)이며, 이는 복사 출구라고도 한다.표면 온도가 아닌 방사성의 계산은 문제에 선형 매트릭스 방식을 적용할 수 있는 방사성의 주요 측면입니다.
「 」를 참조해 주세요.
레퍼런스
- ^ Dudka, Kamil. "RRV - Radiosity Renderer and Visualizer". dudka.cz. Retrieved 1 February 2013.
- ^ "신디 고랄, 케네스 E.토런스, 도널드 P.그린버그와 B.배타일, 확산 표면 간의 빛의 상호작용 모델링"… 컴퓨터 그래픽스, 제18권, 제3호(PDF)
- ^ 「T. Nishita, E. Nakamae, Multi-Scaning Method에 의한 매끄러운 엣지의 하프톤 표현」…IPSJ 저널, Vol.25, No.5, pp.703-711,1984(일본어) (PDF)
- ^ G Walton, 적응형 통합에 의한 방해 표시 계수 계산, NIST 보고서 NISTIR-6925, http://view3d.sourceforge.net/도 참조하십시오.
- ^ Wallace, John R.; Cohen, Michael F.; Greenberg, Donald P. (August 1987). "A Two-pass Solution to the Rendering Equation: A Synthesis of Ray Tracing and Radiosity Methods". SIGGRAPH Comput. Graph. 21 (4): 311–320. doi:10.1145/37402.37438. ISSN 0097-8930.
- ^ "Clustering for glossy global illumination". Archived from the original on 2006-10-12. Retrieved 2006-12-29.
추가 정보
- SIGGRAPH의 HyperGraph로부터의 Radiosity의 개요(풀 매트릭스 Radiosity 알고리즘과 프로그레시브 Radiosity 알고리즘 제공)
- Radiosity, by Hugo Elias(Radiosity, by Hugo Elias) (조명 알고리즘의 일반적인 개요와 프로그래밍 예도 제공합니다)
- Arradiency, by Allen Martin (방사능성에 대한 수학적인 설명)
- 로버, 닥터. Tralvex Yeap (방사능 추상 및 참고 문헌 라이브러리)
- 무선성: 기본 실장(기본 방사선성 조사)
외부 링크
- RADical, by Parag Chaudhuri(OpenGL 가속에 의한 프로그레시브 라디오시티 알고리즘의 슈팅 및 정렬 변형 구현, Colbeck의 GLUTRAD에서 확장)
- Radiosity Renderer 및 Visualizer(OpenGL에 기반한 Radiosity Renderer의 간단한 구현)
- Illight (컴퓨터 게임 응용 프로그램에 실시간 무선 기능을 제공하는 라이센스 소프트웨어 코드)영국 Geomerics사가 개발)