판 비교

이전빈 문서 (처음 만든 판)
이후#326 · AI 조사: 게임 용어 문서 · GGWiki 자동 ·
+58줄−0줄+3,982자
1번째 줄 근처
추가: ## 개요
추가: 경로 추적(path tracing)은 컴퓨터 그래픽스에서 빛이 물체, 복셀, 참여 매개체와 상호작용하는 과정을 시뮬레이션하여 물리적으로 타당한 사실적인 이미지를 생성하는 렌더링 알고리즘이다[1][2]. 몬테카를로 방법을 사용하여 글로벌 일루미네이션을 정확하게 모델링하고, 다양한 표면 특성을 시뮬레이션하며, 피사계 심도, 보케, 모션 블러, 노출 등 카메라 광학 시스템에서 관찰 가능한 효과를 포착한다[2]. 물리 기반 렌더링(PBR)과 빛 전달 모델을 통합함으로써 편향되지 않은(unbiased) 결과를 얻을 수 있으나, 상당한 컴퓨팅 성능이 필요하며 복잡한 장면에서는 VRAM/RAM 용량과 메모리 대역폭이 병목이 되는 경우가 많다[2]. 실용적인 사용을 위해 노이즈 제거(denoising) 기술이 필수적이며, GIGO(Garbage In, Garbage Out) 원칙이 적용되어 부정확한 장면 데이터, 낮은 품질의 기하·재질, 잘못된 설정은 렌더링 정밀도와 무관하게 최종 출력을 저하시킨다[2].
추가:
추가: 알고리즘적 단순성, 정확성, 편향되지 않은 특성 덕분에 다른 렌더링 알고리즘의 품질을 테스트할 때 참조 이미지를 생성하는 표준으로 널리 쓰인다[2]. 근본적으로 물체 표면의 한 지점에 도달하는 빛을 적분하고, 이를 표면 반사 함수(BRDF)로 수정하여 카메라에서 볼 때 최종 이미지에 기여하는 빛의 양을 결정한다[2]. 이 적분 과정은 출력 이미지의 모든 화소에 대해 반복되며, 화소당 샘플 수(samples per pixel, spp)가 최종 렌더링의 세부 수준과 품질을 결정한다[2]. 렌더링 성능은 초당 메가 샘플(Ms/sec)로 측정되는 경우가 많다[2].
추가:
추가: ## 작동 방식과 유형
추가:
추가: ### 렌더링 방정식과 몬테카를로 적분
추가:
추가: 카지야의 렌더링 방정식은 다음 세 원칙을 따른다[2]:
추가:
추가: 1. 글로벌 일루미네이션 원칙: 실내 장면에서 방 안의 모든 물체는 다른 모든 물체에 조명을 기여한다.
추가: 2. 등가 원칙: 광원에서 방출된 조명과 표면에서 반사된 조명 사이에는 구분이 없다.
추가: 3. 방향 원칙: 표면에서 나오는 조명은 입사 방향과 출사 방향의 함수(BRDF)로 특정 방향으로 산란한다.
추가:
추가: 라디오시티는 원칙 I, II를 지켰으나 모든 표면을 람베르트로 강제해 방향 원칙(III)을 위반했다[2]. 경로 추적은 이 세 원칙을 구현에서 충실히 따른다[2]. 다만 회절, 편광, 형광, 파장 의존적 현상(색수차, 훈색), 서브서피스 스캐터링, 참여 매체 산란 등은 기본 방정식에 포함되지 않아 별도 확장이 필요하다[2][3].
추가:
추가: 알고리즘은 렌더링 방정식 우변의 적분을 몬테카를로 적분으로 근사한다[3]. 순진한 경로 추적(naive path tracing)은 카메라에서 광선을 발사해 장면에서 무작위 방향으로 반사시키며 광원에 도달할 때까지 경로를 추적한다[2][3]. 각 경로가 광원에 닿을 때마다 전달된 빛의 양을 누적하고, 화소당 수많은 샘플을 평균하여 최종 색상을 얻는다[2][3].
추가:
추가: ### 단방향 경로 추적과 다음 이벤트 추정
추가:
추가: 역방향 경로 추적(backward path tracing)은 카메라에서 시작해 광원으로 향한다[2]. 광선 추적(forward path tracing)은 광원에서 시작해 카메라로 향한다[2]. 두 경우 모두 분산을 줄이기 위해 '다음 이벤트 추정(next event estimation, NEE)'을 사용한다. 이는 경로가 우연히 광원이나 카메라에 닿기를 기다리는 대신 직접 샘플링하는 기법이다[2]. 그러나 반사·거의 반사 BRDF가 있을 때, 특히 확산 표면 상호작용 후 반사 표면에서 반사되어 광원에 도달하는 코스틱 경로에서는 NEE가 덜 효과적이다[2]. 반사 표면에서는 반사 방향이 하나뿐이므로 NEE로 직접 샘플링할 수 없다[2]. 이러한 이유로 실제 단방향 경로 추적에서는 역방향 방식만 주로 쓰인다[2].
추가:
추가: ### 양방향 경로 추적
추가:
추가: 양방향 경로 추적은 광원에서 하나, 카메라에서 하나씩 두 경로를 독립적으로 추적하고, 각 정점을 서로 연결하는 다양한 샘플링 전략을 생성한다[2]. 원래의 광선 추적과 역방향 경로 추적은 이 전략의 특수한 경우다[2]. 중간 정점을 연결하는 완전히 새로운 전략들이 추가되며, 다중 중요도 샘플링(multiple importance sampling, MIS)으로 가중치를 부여해 단방향보다 빠르게 수렴한다[2]. 코스틱이나 주로 간접 조명으로 밝혀지는 장면에 특히 효과적이다[2].
추가:
추가: ### 메트로폴리스 빛 전달
추가:
추가: 메트로폴리스 빛 전달(MLT)은 무작위 경로 생성 대신 기존 경로의 약간의 변형으로 새로운 샘플링 경로를 생성한다[2][3]. 빛이 이상한 복도나 작은 구멍을 통과해 카메라가 보는 장면에 도달해야 하는 장면, 코스틱 등 병리적 상황에서 더 적은 샘플로 낮은 노이즈 이미지를 생성한다[2][3]. 성공적인 광원-카메라 경로를 '기억'하는 효과가 있다[2].
추가:
추가: ### 중요도 샘플링과 BRDF/BSDF
추가:
추가: 순진한 경로 추적은 법선 반구에서 균일하게 무작위 광선을 샘플링하므로 완벽 확산(람베르트) 표면에만 잘 작동한다[2]. 다른 재질에서는 중요도 샘플링(importance sampling), 즉 BRDF 분포에 따라 새로운 광선을 확률적으로 선택해야 한다[2]. 완벽 거울 반사 재질은 올바른 반사 광선이 선택될 확률이 0이므로 균일 샘플링으로는 작동하지 않는다[2]. 중요도 샘플링 시 몬테카를로 적분에 따라 샘플링 방식의 확률 밀도 함수(PDF)로 반사율을 나누어야 한다[2]. 에너지 보존을 위해 확산 BRDF 반사율은 1/π를 초과하지 않아야 한다[2].
추가:
추가: 준 몬테카를로(quasi-Monte Carlo) 방법은 샘플을 더 균일하게 분포시켜 수렴을 가속한다[3]. 코사인 가중 샘플링(cosine-weighted sampling)은 확산 표면에 최적이고 코드를 단순화한다[3].
추가:
추가: ### 노이즈와 수렴
추가:
추가: 경로 추적기는 화소를 지속적으로 샘플링한다[2]. 이미지는 픽셀당 수십~백 개 샘플만으로도 인식 가능해지지만, 허용 가능한 노이즈 수준으로 수렴하려면 일반적으로 화소당 약 5,000개 샘플이 필요하며 병리적 경우 훨씬 더 많다[2]. 노이즈는 애니메이션에서 '필름 그레인' 같은 무작위 반점으로 나타나 큰 문제다[2]. 실시간 렌더링(게임 등)에서는 샘플 수가 적어 노이즈 제거(디노이징, denoising)가 필수적이며, 신경망 기반 디노이저가 널리 쓰인다[3]. ReSTIR 계열 기법은 인접 화소와 연속 프레임 간 데이터를 공유해 실시간 경로 추적을 가속한다[3].
추가:
추가: ### 산란 분포 함수
추가:
추가: 표면 반사 속성(양, 방향, 색상)은 BRDF로, 투과된 빛은 BSDF로 모델링한다[2]. 경로 추적기는 복잡하고 정교하게 모델링되거나 실측된 분포 함수를 완전히 활용할 수 있어 물체의 외관(재질, 텍스처, 셰이딩)을 제어한다[2].
추가:
추가: ## 사례
추가:
추가: 자료에 언급된 주요 렌더러와 작품은 다음과 같다.
추가:
추가: - **아놀드(Arnold)**: 마르코스 파하르도(Marcos Fajardo) 개발. 소니 픽처스 이미지웍스가 〈몬스터 하우스〉(2006)에 사용[2][3].
추가: - **렌더맨(RenderMan)**: 픽사 애니메이션 스튜디오. 경로 추적 채택 후 〈도리를 찾아서〉(2016) 첫 경로 추적 장편 제작[3].
추가: - **하이페리온(Hyperion)**: 월트 디즈니 애니메이션 스튜디오 독자 경로 추적기. 〈빅 히어로〉(2014)부터 사용[2].
추가: - **블렌더(Blender) 사이클스(Cycles)**: 경로 추적 GPU 가속 렌더링 엔진 통합[2].
추가: - **옥테인 렌더(Octane Render)**, **럭스 코어 렌더러(LuxCore Renderer)**: GPU 경로 추적 렌더러 예시[2].
추가: - **브이레이(V-Ray)**, **아리온(Arion)**, **럭스렌더(LuxRender)**: 초기 GPU 경로 추적 구현 예시[2].
추가: - **스몰피티(SmallPt)**: 케빈 비슨(Kevin Beason) 제작 99줄 C++ 교육용 경로 추적기[2].
추가:
추가: 이 문서는 GGWiki AI가 공개 자료(아래 출처)를 조사해 새로 쓴 초안입니다. 틀린 내용은 편집하거나 이의 제기로 알려 주세요.