하이브리드 렌더링
1. 하이브리드 렌더링의 철학 - 분리와 결합의 미학
하이브리드 렌더링(Hybrid Rendering)은 특정 기술 하나를 지칭하는 용어가 아니다. 이는 본질적으로 서로 다른 특성을 가진 기술들의 장점을 선택적으로 결합하여, 단일 기술로는 도달하기 어려운 최적의 결과를 도출하려는 문제 해결의 ’철학’에 가깝다.1 이 철학은 현대 컴퓨팅의 두 가지 핵심적인 시각적 표현 영역, 즉 컴퓨터 그래픽스와 웹 개발에서 각기 다른 형태로 발현되지만, 그 근본적인 접근 방식에서는 놀라운 유사성을 보인다.
컴퓨터 그래픽스 분야에서 하이브리드 렌더링은 실시간 성능의 대명사인 ’래스터라이제이션(Rasterization)’과 물리적 사실성의 정점인 ’레이 트레이싱(Ray Tracing)’의 융합을 의미한다. 이는 ’성능’과 ’사실성’이라는, 오랫동안 양립하기 어려웠던 두 가치를 조화시키려는 시도다. 한편, 웹 개발 분야에서 하이브리드 렌더링은 빠른 초기 로딩 속도를 보장하는 ’서버 사이드 렌더링(Server-Side Rendering, SSR)’과 풍부한 상호작용성을 제공하는 ’클라이언트 사이드 렌더링(Client-Side Rendering, CSR)’의 결합을 뜻한다. 이는 ’초기 응답성’과 ‘동적 사용자 경험’ 사이의 균형을 맞추려는 노력이다.2
표면적으로 이 두 분야는 전혀 다른 기술과 문제를 다루는 것처럼 보인다. 하나는 3차원 공간의 빛을 시뮬레이션하는 것이고, 다른 하나는 네트워크를 통해 문서와 애플리케이션 상태를 전달하는 것이다. 그러나 이들을 관통하는 핵심 원리는 동일하다. 바로 ’빠르지만 부정확하거나 정적인 초기 표현’을 먼저 제공하고, 이어서 ’느리지만 정확하거나 동적인 후속 처리’를 통해 완성도를 높이는 2단계 접근법이다. 래스터라이제이션은 기본 장면을 신속하게 구성하고(빠른 초기 표현), 레이 트레이싱이 사실적인 그림자와 반사를 덧입힌다(정확한 후속 처리).4 마찬가지로, 서버는 초기 HTML을 빠르게 전송하고(빠른 초기 표현), 클라이언트의 자바스크립트가 상호작용을 구현한다(동적인 후속 처리).2
결국 하이브리드 렌더링은 단순히 기술을 섞는 행위를 넘어, 작업을 어디서 어떻게 ’분할(partition)’하고, 연산과 데이터의 ’경계(boundary)’를 어디에 설정할 것인가에 대한 정교한 설계의 예술이라 할 수 있다.7 본 안내서는 컴퓨터 그래픽스와 웹 개발이라는 두 개의 축을 통해, 이 ’분리와 결합’의 철학이 어떻게 구체적인 기술 파이프라인으로 구현되고, 각 분야의 패러다임을 혁신하며, 미래의 렌더링 기술을 향해 나아가고 있는지 심층적으로 고찰하고자 한다.
2. 컴퓨터 그래픽스에서의 하이브리드 렌더링: 래스터라이제이션과 레이 트레이싱의 융합
컴퓨터 그래픽스 분야에서 하이브리드 렌더링의 등장은 필연적이었다. 이는 수십 년간 실시간 그래픽스를 지배해 온 래스터라이제이션의 ’사실성 한계’와, 궁극의 사실성을 제공하지만 엄청난 연산 비용을 요구하는 레이 트레이싱의 ’성능 한계’라는 두 거대한 패러다임의 충돌과 타협점에서 탄생했다. 이 한계를 극복하기 위한 노력은 새로운 한계를 낳았고, 그 한계는 또 다른 기술적 돌파구를 이끌어내는 연쇄적인 발전 과정을 촉발시켰다. 하이브리드 렌더링은 이 진화의 사슬에서 현재 가장 실용적인 해답으로 자리매김하고 있다.
2.1 장. 렌더링 패러다임의 양대 산맥
2.1.1 래스터라이제이션: 속도의 제왕, 그 원리와 한계
래스터라이제이션은 3차원 가상 세계를 2차원 화면으로 옮기는 가장 효율적인 방법으로, 지난 수십 년간 모든 실시간 3D 그래픽스의 근간을 이루었다.5 그 핵심 원리는 3D 모델을 구성하는 수많은 삼각형(폴리곤) 메시를 2D 픽셀 그리드에 투영(mapping)하는 것이다.9 이 과정에서 각 삼각형의 정점(vertex)에 저장된 위치, 색상, 텍스처 좌표, 노멀(normal) 벡터 등의 정보를 보간하여 각 픽셀의 최종 색상을 결정한다.9 이 방식은 GPU 하드웨어에 의해 극도로 가속화되도록 설계되었기 때문에, 초당 수십에서 수백 프레임을 그려내야 하는 비디오 게임과 같은 실시간 애플리케이션에 절대적으로 유리하다.8
하지만 이 압도적인 속도는 ’근사’라는 대가를 치른다. 래스터라이제이션은 빛이 실제로 어떻게 이동하고 반사되며 그림자를 만드는지에 대한 물리적 경로를 추적하지 않는다.9 대신, 반사, 그림자, 간접 조명과 같은 복잡한 광학 현상을 흉내 내기 위해 다양한 ’기법(trick)’과 ’핵(hack)’에 의존한다.11 예를 들어, 반사는 주로 스크린 스페이스 리플렉션(Screen Space Reflection, SSR)으로 구현되는데, 이는 현재 화면에 보이는 정보만을 사용하므로 카메라 시야 밖의 물체는 반사되지 않는 명백한 한계를 가진다.13 그림자는 섀도우 맵(Shadow Map) 기법을 사용하지만, 해상도 문제로 인해 가장자리가 각져 보이는 앨리어싱(aliasing) 현상이나 부정확한 그림자가 발생하기 쉽다.8 전역 조명(Global Illumination, GI)과 같이 빛이 여러 번 반사되어 만들어지는 부드러운 간접광 효과는 실시간으로 계산하는 것이 거의 불가능하여, 대부분의 경우 미리 계산하여 텍스처에 구워놓는(baking) 방식을 사용한다.16 이러한 근사치들은 특정 상황에서는 그럴듯한 결과를 내지만, 물리적 정확성이 결여되어 있어 시각적 한계와 다양한 아티팩트를 필연적으로 동반한다.11
2.1.2 레이 트레이싱: 물리적 정확성을 향한 여정
레이 트레이싱은 래스터라이제이션과는 정반대의 철학에서 출발한다. 이는 그래픽을 ‘만들어내는’ 것이 아니라, 현실 세계의 빛의 흐름을 ’시뮬레이션’하는 방식이다. 가장 기본적인 형태의 레이 트레이싱은 카메라(또는 눈)의 위치에서 화면의 각 픽셀을 향해 가상의 광선(ray)을 쏘아, 그 광선이 어떤 물체와 처음으로 부딪히는지 계산하는 것으로 시작된다.10
광선이 물체 표면에 닿으면, 알고리즘은 그 지점에서 빛의 상호작용을 계산한다. 표면의 재질이 거울처럼 반사율이 높다면, 입사각과 동일한 각도로 반사 광선을 생성하여 다시 추적한다. 표면이 유리처럼 투명하다면, 굴절 법칙에 따라 굴절 광선을 생성하여 물체 내부로 추적한다. 또한, 해당 지점이 다른 광원으로부터 직접 빛을 받는지 확인하기 위해 광원 방향으로 그림자 광선(shadow ray)을 쏘아 중간에 다른 물체가 가로막는지 여부를 판정한다.17 이 과정이 재귀적으로 반복되면서, 빛이 여러 표면을 거치며 만들어내는 복잡하고 미묘한 상호작용, 즉 부드러운 그림자, 상호 반사, 굴절, 코스틱(caustics) 등의 현상이 자연스럽게 시뮬레이션된다. 그 결과물은 물리적으로 매우 정확하여 사진과 거의 구별할 수 없는 수준의 사실성을 달성할 수 있다.10
이러한 사실성은 엄청난 연산 비용을 수반한다. 화면의 모든 픽셀에 대해 광선을 추적해야 하며, 각 광선은 장면 내의 수많은 객체들과의 교차 여부를 일일이 테스트해야 한다.20 반사와 굴절이 일어날 때마다 새로운 광선이 생성되어 계산량은 기하급수적으로 증가한다. 이 때문에 레이 트레이싱은 수십 년 동안 단일 프레임을 렌더링하는 데 수 시간에서 수일이 소요되는 영화 VFX나 건축 시각화 같은 오프라인 렌더링 분야의 전유물로 여겨져 왔다.16
2.1.3 비교 분석: 성능과 사실성 사이의 트레이드오프
래스터라이제이션과 레이 트레이싱은 실시간 렌더링의 양 극단에 위치한다. 래스터라이제이션은 속도를 위해 사실성을 희생하고, 레이 트레이싱은 사실성을 위해 속도를 희생한다. 이 명백한 트레이드오프 관계가 바로 하이브리드 렌더링이 탄생하게 된 배경이다. 개발자들은 “래스터라이제이션의 속도와 레이 트레이싱의 사실성을 동시에 가질 수는 없을까?“라는 질문에 대한 답을 찾기 시작했고, 그 해답은 두 기술의 장점만을 선택적으로 결합하는 것이었다.
다음 표는 두 패러다임의 핵심적인 차이점을 요약한다.
| 특성 | 래스터라이제이션 | 레이 트레이싱 |
|---|---|---|
| 핵심 원리 | 3D 지오메트리를 2D 픽셀 평면에 투영 (객체 중심) 9 | 카메라에서 광선을 쏘아 빛의 경로를 역추적 (이미지 중심) 10 |
| 속도 | 매우 빠름, 실시간 렌더링에 최적화됨 8 | 매우 느림, 전통적으로 오프라인 렌더링에 사용됨 17 |
| 사실성 | 제한적, 근사치와 트릭에 의존 8 | 매우 높음, 물리적으로 정확한 빛 시뮬레이션 10 |
| 하드웨어 요구사항 | 모든 현대 GPU에서 효율적으로 작동 8 | 높은 연산 능력, RT 코어 등 전용 하드웨어 가속 필요 21 |
| 주요 효과 (그림자, 반사) | 섀도우 맵, SSR 등 근사 기법 사용. 아티팩트 발생 가능 13 | 물리적으로 정확한 그림자, 반사, 굴절 구현 가능 12 |
| 구현 복잡도 | 상대적으로 단순하며, 잘 정립된 파이프라인 | 알고리즘이 복잡하고, 가속 구조 등 추가적인 데이터 필요 20 |
| 주요 아티팩트 | 앨리어싱, 섀도우 맵 아티팩트, 스크린 스페이스 한계 8 | 낮은 샘플 수로 인한 노이즈(Noise) 11 |
이러한 기술적 특성의 차이는 명확한 인과 관계의 사슬을 형성한다. 래스터라이제이션의 ’사실성 한계’는 그래픽스 연구자들이 더 사실적인 이미지를 갈망하게 만들었고, 이는 레이 트레이싱 기술의 발전을 촉진했다. 그러나 레이 트레이싱의 치명적인 ’성능 한계’는 실시간 애플리케이션에 적용하는 것을 불가능하게 만들었다. 이 딜레마를 해결하기 위해 등장한 것이 바로 ’하이브리드 렌더링’이다. 즉, 래스터라이제이션으로 기본 뼈대를 빠르게 그리고, 레이 트레이싱으로는 래스터라이제이션이 잘 못하는 특정 효과(반사, 그림자 등)만 선택적으로 계산하여 보완하는 방식이다.4 하지만 이 방식조차 실시간 제약 하에서는 제한된 수의 광선만 사용할 수 있어 ’노이즈’라는 새로운 문제를 낳았다. 그리고 이 노이즈 문제를 해결하기 위해 등장한 결정적인 기술이 바로 ’AI 기반 디노이징 및 업스케일링’이다.24 이처럼 그래픽스 기술의 역사는 한계의 발견, 그에 대한 도전, 새로운 해결책의 제시, 그리고 그 해결책이 낳은 또 다른 한계의 극복이라는 끊임없는 변증법적 과정을 통해 발전해왔다.
2.2 장. 하이브리드 렌더링 파이프라인의 해부
하이브리드 렌더링 파이프라인은 래스터라이제이션과 레이 트레이싱이라는 두 이질적인 세계를 하나의 프레임 안에 조화롭게 엮어내는 과정이다. 이는 여러 단계의 렌더링 패스(pass)로 구성되며, 각 패스는 명확한 역할을 수행한다. 이 파이프라인의 핵심은 래스터라이제이션의 속도와 레이 트레이싱의 품질을 모두 취하기 위해, 연산의 일부를 지연시키고 정보를 단계적으로 축적하는 데 있다.
2.2.1 G-Buffer 생성: 래스터라이제이션 기반의 지오메트리 패스
하이브리드 렌더링의 첫 단계는 전통적인 래스터라이제이션을 이용해 장면의 지오메트리 정보를 캡처하는 것이다. 이 과정은 ‘G-Buffer(Geometry Buffer) 패스’ 또는 ’베이스 패스(Base Pass)’라고 불린다.4 G-Buffer는 단일 텍스처가 아니라, 화면의 각 픽셀에 대한 다양한 정보를 담고 있는 여러 텍스처의 집합이다. 여기에는 다음과 같은 정보들이 저장된다 11:
- 월드 공간 위치 (World Position): 픽셀에 해당하는 3D 공간 상의 좌표.
- 노멀 벡터 (Normal Vector): 표면의 방향을 나타내는 벡터.
- 알베도 (Albedo): 표면의 고유 색상 (조명 효과가 제외된 순수 색상).
- 깊이 (Depth): 카메라로부터의 거리.
- 재질 속성 (Material Properties): 금속성(Metallic), 거칠기(Roughness), 방출(Emissive) 등.
- 모션 벡터 (Motion Vector): 이전 프레임과 현재 프레임 간 픽셀의 움직임 (시간적 기법에 사용).
- 객체 ID (Object ID): 픽셀이 속한 객체의 고유 식별자.
본래 G-Buffer는 래스터라이제이션 기반의 지연 셰이딩(Deferred Shading) 기법을 위해 고안되었다. 지연 셰이딩은 먼저 지오메트리 정보를 G-Buffer에 모두 기록한 뒤, 화면 공간에서 조명 계산을 수행하여 복잡한 조명 환경의 성능을 최적화하는 방식이다. 하이브리드 렌더링은 이 아이디어를 독창적으로 확장한다. 즉, G-Buffer를 단순히 조명 계산을 위한 데이터로 사용하는 것을 넘어, 래스터라이제이션의 결과물을 후속 레이 트레이싱 패스를 위한 ’입력 데이터’로 활용하는 것이다. 이런 관점에서 G-Buffer는 두 개의 이질적인 렌더링 패러다임을 연결하는 핵심적인 ‘인터페이스’ 또는 ‘다리’ 역할을 수행한다. 래스터라이제이션의 효율적인 지오메트리 처리 능력을 빌려 레이 트레이싱에 필요한 모든 사전 정보를 준비하는 단계인 셈이다.
2.2.2 선택적 레이 트레이싱: 그림자, 반사, 전역 조명
G-Buffer가 준비되면, 파이프라인은 래스터라이제이션만으로는 고품질로 구현하기 어렵거나 불가능한 특정 시각 효과들을 ‘선택적으로’ 계산하기 위해 레이 트레이싱을 동원한다.11 이는 전체 장면을 레이 트레이싱하는 것에 비해 연산 비용을 극적으로 줄이면서도 시각적 품질을 크게 향상시키는 핵심 전략이다.
- 레이 트레이스드 섀도우 (Ray-Traced Shadows): G-Buffer에서 얻은 픽셀의 월드 좌표를 시작점으로, 장면의 각 광원을 향해 ’그림자 광선’을 쏜다. 만약 이 광선이 광원에 도달하기 전에 다른 객체와 교차한다면, 해당 픽셀은 그림자 안에 있는 것으로 판정된다. 이 방식은 섀도우 맵의 해상도 제약에서 자유롭기 때문에 앨리어싱 없는 선명한 그림자를 만들 수 있다. 또한 광원의 크기를 고려하여 여러 개의 광선을 쏘면 물리적으로 정확한 부드러운 반그림자(penumbra) 효과를 자연스럽게 구현할 수 있다.15
- 레이 트레이스드 리플렉션 (Ray-Traced Reflections): G-Buffer의 재질 정보(예: 거칠기가 낮고 금속성이 높은)를 바탕으로 반사가 필요한 픽셀을 식별한다. 해당 픽셀의 월드 좌표에서 카메라 시선 방향을 표면 노멀에 대해 반사시켜 ’반사 광선’을 쏜다. 이 광선이 교차하는 객체의 색상 정보를 가져와 반사 이미지로 사용한다. 이 기법은 화면 밖의 객체나 다른 반사면에 비친 객체의 모습까지 정확하게 렌더링할 수 있어, 스크린 스페이스 리플렉션(SSR)의 근본적인 한계를 극복한다.4
- 레이 트레이스드 앰비언트 오클루전 (RTAO) 및 전역 조명 (RTGI): 앰비언트 오클루전은 구석이나 틈새처럼 주변 지오메트리에 의해 빛이 차폐되어 어두워지는 효과를 시뮬레이션한다. RTAO는 G-Buffer의 각 픽셀 위치에서 반구 형태로 여러 개의 짧은 광선을 무작위로 쏘아, 얼마나 많은 광선이 다른 객체에 막히는지를 계산하여 차폐 정도를 결정한다. 이는 장면에 미묘한 깊이와 입체감을 더한다.27 RTGI는 한 걸음 더 나아가, 광선이 다른 표면에 부딪혔을 때 그 표면의 색상을 반사하여 간접광을 시뮬레이션한다. 이는 장면 전체의 조명을 훨씬 더 부드럽고 사실적으로 만든다.11
2.2.3 디노이징(Denoising): 실시간의 꿈을 현실로 만드는 마법
하이브리드 렌더링의 가장 큰 난관은 실시간이라는 엄격한 시간 제약(예: 60fps 기준 프레임당 16.67ms) 안에서 레이 트레이싱을 수행해야 한다는 점이다. 이 때문에 픽셀당 단 하나의 샘플(1 SPP, Sample Per Pixel) 또는 극소수의 샘플만을 사용하여 그림자, 반사 등을 계산할 수밖에 없다. 몬테카를로 기반의 레이 트레이싱에서 샘플 수가 부족하면 결과물은 필연적으로 심각한 수준의 점박이 노이즈(noise)를 포함하게 된다.11
’디노이징(Denoising)’은 이렇게 노이즈가 가득한 이미지를 후처리 과정을 통해 깨끗하고 안정적인 최종 이미지로 변환하는 기술이다. 디노이징 없이는 실시간 하이브리드 렌더링이 실용화될 수 없었다고 해도 과언이 아니다. 현대적인 디노이저는 주로 공간적(Spatial) 필터링과 시간적(Temporal) 필터링을 결합한 기법을 사용한다.
- 공간적 필터링: 현재 프레임 내에서 이웃 픽셀들의 정보를 활용하여 노이즈를 제거한다. 다만, 단순히 주변 픽셀 색상을 평균 내면 이미지가 흐릿해지고(blur) 객체의 경계가 뭉개질 수 있다. 이를 방지하기 위해 G-Buffer의 정보(깊이, 노멀 등)를 ’가이드(guide)’로 사용하여, 서로 다른 객체나 표면에 속한 픽셀끼리는 섞이지 않도록 지능적으로 필터링한다. A-Trous 웨이블릿 필터와 같은 기법이 여기에 해당한다.11
- 시간적 필터링 (Temporal Filtering): 디노이징의 핵심적인 아이디어로, 이전 프레임들의 렌더링 결과를 재활용하는 방식이다. G-Buffer의 모션 벡터를 사용하여 현재 프레임의 픽셀이 이전 프레임의 어느 위치에 있었는지를 계산(재투영, reprojection)하고, 이전 프레임의 필터링된 색상 정보를 현재 프레임의 노이즈 낀 색상 정보와 혼합한다. 이를 통해 여러 프레임에 걸쳐 샘플을 효과적으로 누적시켜, 시간의 흐름에 따라 노이즈를 극적으로 줄일 수 있다.11
- AI 기반 디노이징: 최근에는 이 과정을 딥러닝 모델로 대체하는 AI 기반 디노이저가 대세가 되었다. NVIDIA의 OptiX Denoiser, Intel의 Open Image Denoise, 그리고 DLSS와 같은 업스케일링 기술에 포함된 디노이징 기능이 대표적이다.24 이 모델들은 수많은 ’노이즈 낀 이미지’와 ‘깨끗한 정답 이미지’ 쌍을 학습하여, 노이즈 패턴을 인식하고 제거하는 방법을 스스로 터득한다. AI 디노이저는 기존 알고리즘 기반 필터보다 훨씬 빠르면서도 디테일을 보존하는 능력이 뛰어나, 실시간 하이브리드 렌더링의 품질과 성능을 한 단계 끌어올리는 결정적인 역할을 하고 있다.
2.3 장. 수학적 기저와 알고리즘
하이브리드 렌더링의 정교한 시각적 결과물 뒤에는 빛의 물리적 현상을 수학적으로 모델링하고, 이를 컴퓨터가 계산할 수 있는 형태로 변환하는 견고한 이론적 토대가 존재한다. 렌더링 방정식은 이 모든 것의 출발점이며, 몬테카를로 경로 추적은 그 방정식의 실용적인 해법을 제시한다.
2.3.1 렌더링 방정식(The Rendering Equation): 빛의 이동에 대한 물리적 모델
1986년 제임스 카지야(James Kajiya)에 의해 컴퓨터 그래픽스 분야에 도입된 렌더링 방정식은 물리 기반 렌더링의 근간을 이루는 핵심 이론이다.32 이 방정식은 에너지 보존 법칙에 기반하여, 한 표면의 특정 지점에서 특정 방향으로 방출되는 빛(라디앙스, Radiance)의 양을 수학적으로 기술한다.34 그 본질은 다음과 같이 요약할 수 있다: “어떤 지점에서 나가는 빛의 총량은, 그 지점에서 스스로 방출하는 빛과 주변의 모든 방향에서 들어와 반사되는 빛의 총합과 같다.”
이 개념은 다음의 적분 방정식 형태로 표현된다 33:
L_o(x, \omega_o) = L_e(x, \omega_o) + \int_{\Omega} f_r(x, \omega_i, \omega_o) L_i(x, \omega_i) (\mathbf{n} \cdot \omega_i) d\omega_i
각 항의 의미는 다음과 같다:
- L_o(x, \omega_o): 위치 x에서 나가는 방향 \omega_o으로의 출사 라디앙스(Outgoing Radiance). 우리가 최종적으로 구하고자 하는 값이다.
- L_e(x, \omega_o): 위치 x에서 스스로 빛을 방출하는 양(Emitted Radiance). 광원 표면이 아닌 경우 이 값은 0이다.
- \int_{\Omega}: 위치 x를 중심으로 하는 반구(hemisphere) \Omega 전체에 대한 적분을 의미한다. 즉, 모든 가능한 입사 방향을 고려하겠다는 뜻이다.
- f_r(x, \omega_i, \omega_o): 양방향 반사율 분포 함수(Bidirectional Reflectance Distribution Function, BRDF). 특정 재질의 표면이 입사 방향 \omega_i의 빛을 출사 방향 \omega_o으로 얼마나 반사하는지를 나타내는 함수다. 재질의 특성(예: 확산, 정반사)을 결정한다.
- L_i(x, \omega_i): 위치 x로 입사 방향 \omega_i에서 들어오는 입사 라디앙스(Incoming Radiance).
- (\mathbf{n} \cdot \omega_i): 입사 벡터와 표면 법선 벡터 \mathbf{n}의 내적. 입사각이 클수록 표면에 도달하는 빛의 양이 줄어드는 효과(Lambert’s cosine law)를 나타낸다.
이 방정식의 가장 중요한 특징은 ’재귀적(recursive)’이라는 점이다. 즉, 한 지점의 출사 라디앙스 L_o를 계산하기 위해서는 모든 방향에서의 입사 라디앙스 L_i를 알아야 하는데, 이 L_i는 사실 장면의 다른 지점에서 출발한 출사 라디앙스 L_o이다.33 이 무한한 상호 의존성 때문에 렌더링 방정식은 해석적으로(analytically) 푸는 것이 거의 불가능하다.
2.3.2 몬테카를로 경로 추적(Monte Carlo Path Tracing): 렌더링 방정식의 확률적 해법
렌더링 방정식의 적분을 직접 풀 수 없으므로, 컴퓨터 그래픽스에서는 확률적 기법을 사용하여 그 근사치를 구한다. ’몬테카를로 적분(Monte Carlo Integration)’은 복잡한 적분 값을 무작위 샘플링을 통해 추정하는 강력한 수치 해석 방법이다.37 ’경로 추적(Path Tracing)’은 이 몬테카를로 기법을 렌더링 방정식 풀이에 적용한 대표적인 알고리즘이다.23
경로 추적의 기본 아이디어는 다음과 같다 38:
- 화면의 한 픽셀에 대해 카메라에서 시작하는 광선을 하나 생성한다.
- 광선이 장면의 물체와 부딪히면, 해당 지점의 BRDF에 따라 다음 반사될 방향을 무작위로 하나 선택한다.
- 새로운 방향으로 광선을 계속 추적하며, 이 과정을 여러 번 반복한다. 이 광선의 연쇄적인 이동 경로가 바로 ’경로(path)’이다.
- 경로가 광원에 도달하거나 일정 깊이에 도달하면 추적을 멈추고, 그 경로가 픽셀에 기여한 빛의 양을 계산한다.
- 이 과정을 한 픽셀에 대해 여러 번(N번) 반복하여 각기 다른 경로를 생성하고, 그 결과들을 평균 내어 픽셀의 최종 색상을 결정한다.
이 방식은 수학적으로 편향되지 않은(unbiased) 결과를 보장한다. 즉, 샘플 수(N)를 무한대로 늘리면 렌더링 방정식의 정확한 해에 수렴한다. 그러나 수렴 속도가 \mathcal{O}(1/\sqrt{N})으로 매우 느리기 때문에, 적은 수의 샘플로는 결과물에 상당한 노이즈가 발생한다.23 실시간 하이브리드 렌더링에서 픽셀당 1~4개 정도의 극소수 샘플만을 사용하는 레이 트레이싱 패스가 왜 필연적으로 디노이징 과정을 거쳐야 하는지에 대한 수학적 근거가 바로 여기에 있다.
2.3.3 광선-기하 교차 판정의 기하학
레이 트레이싱의 가장 근본적이고 반복적인 연산은 ’광선이 특정 기하학적 객체와 교차하는가?’를 판정하는 것이다. 이 연산의 효율성이 전체 레이 트레이싱 성능을 좌우한다.
이 문제는 대수적으로 풀 수 있다. 광선은 시작점 \mathbf{O}와 단위 방향 벡터 \mathbf{D}를 이용하여 시간(또는 거리) t에 대한 파라메트릭 방정식으로 표현할 수 있다:
\mathbf{P}(t) = \mathbf{O} + t\mathbf{D}, \quad t \ge 0
가장 간단한 예로, 중심이 \mathbf{C}이고 반지름이 r인 구(sphere)와의 교차 판정을 살펴보자. 구 표면 위의 임의의 점 \mathbf{P}는 다음 방정식을 만족한다 19:
|\mathbf{P} - \mathbf{C}|^2 = r^2
이 방정식에 광선 방정식 \mathbf{P}(t)를 대입하면 t에 대한 2차 방정식을 얻을 수 있다:
(\mathbf{O} + t\mathbf{D} - \mathbf{C}) \cdot (\mathbf{O} + t\mathbf{D} - \mathbf{C}) = r^2
이를 t에 대해 정리하면 At^2 + Bt + C = 0 형태가 된다:
(\mathbf{D} \cdot \mathbf{D})t^2 + 2(\mathbf{D} \cdot (\mathbf{O} - \mathbf{C}))t + ((\mathbf{O} - \mathbf{C}) \cdot (\mathbf{O} - \mathbf{C})) - r^2 = 0
이 2차 방정식의 해를 구함으로써 광선이 구와 교차하는지(실근의 존재 여부), 그리고 교차한다면 어디서 교차하는지(t 값)를 정확히 알 수 있다. 삼각형, 평면 등 다른 모든 기본 도형(primitive)에 대해서도 유사한 방식의 대수적 해법이 존재한다.
문제는 장면이 수백만 개의 삼각형으로 구성될 경우, 단 하나의 광선에 대해 이 모든 삼각형과 교차 테스트를 수행하는 것은 비현실적이라는 점이다. 이를 해결하기 위해, 장면의 지오메트리를 계층적 구조로 미리 처리하여 불필요한 테스트를 건너뛰게 해주는 ’가속 구조(Acceleration Structure)’가 필수적으로 사용된다. 대표적인 가속 구조로는 BVH(Bounding Volume Hierarchy)와 kD-트리가 있으며, 이들은 레이 트레이싱 연산의 복잡도를 크게 낮춰 실시간 처리를 가능하게 하는 핵심 기술이다.8
3. 웹 개발에서의 하이브리드 렌더링: 서버와 클라이언트의 협업
웹 개발에서 ’렌더링’은 서버로부터 받은 코드(HTML, CSS, JavaScript)를 브라우저가 해석하여 사용자가 볼 수 있는 시각적 페이지로 변환하는 과정을 의미한다.3 이 과정이 어디서, 어떻게 수행되느냐에 따라 웹 애플리케이션의 성능, 사용자 경험, 개발 복잡성이 크게 달라진다. 초기 웹의 서버 중심 모델에서 현대적인 클라이언트 중심의 SPA 모델로 전환되면서, 각 방식의 장점만을 취하려는 하이브리드 접근법이 자연스럽게 대두되었다.
3.1 장. 웹 렌더링의 진화
3.1.1 서버 사이드 렌더링(SSR): 전통적 접근법의 명과 암
서버 사이드 렌더링(SSR)은 웹의 가장 고전적인 렌더링 방식이다. 사용자가 특정 URL을 요청하면, 서버는 해당 페이지를 구성하는 데 필요한 모든 데이터 조회와 HTML 생성을 완료한 후, 완전히 렌더링 가능한 HTML 문서를 클라이언트(브라우저)에게 응답으로 보낸다.6 브라우저는 이 HTML을 받아 즉시 화면에 그릴 수 있다.
장점:
- 빠른 초기 콘텐츠 표시(FCP, First Contentful Paint): 사용자는 요청 직후 거의 바로 페이지의 내용을 볼 수 있다. 이는 사용자 경험의 초기 인상을 결정하는 중요한 지표다.
- 검색 엔진 최적화(SEO): 검색 엔진 크롤러가 서버로부터 받은 완전한 HTML을 분석할 수 있으므로, 페이지의 콘텐츠를 색인화하기에 매우 유리하다.2
단점:
- 느린 페이지 전환: 사용자가 페이지 내에서 다른 링크를 클릭할 때마다 서버에 새로운 요청을 보내고 전체 페이지를 다시 받아와야 한다. 이 과정에서 화면 전체가 깜빡이며 새로고침되어 사용자 경험(UX)이 매끄럽지 못하다.6
- 서버 부하: 모든 사용자의 모든 요청에 대해 서버가 페이지를 동적으로 생성해야 하므로, 사용자 수가 많아질수록 서버에 가해지는 부하가 크다.6
- 느린 상호작용 가능 시간(TTI, Time to Interactive): 페이지가 눈에 보인 후에도, 상호작용에 필요한 JavaScript가 다운로드되고 실행되기 전까지는 버튼 클릭이나 입력이 작동하지 않을 수 있다.
3.1.2 클라이언트 사이드 렌더링(CSR): SPA의 부상과 그 이면
클라이언트 사이드 렌더링(CSR)은 단일 페이지 애플리케이션(Single Page Application, SPA)의 핵심 작동 원리다. React, Vue, Angular와 같은 현대적인 JavaScript 프레임워크들은 대부분 CSR을 기본으로 한다. 이 방식에서 서버는 처음에 거의 비어있는 뼈대 HTML 파일과 거대한 JavaScript 번들 파일의 링크만을 클라이언트에 보낸다.6
브라우저는 이 JavaScript 파일을 다운로드하여 실행한다. 이 JavaScript 코드가 비로소 동적으로 DOM(Document Object Model) 요소를 생성하고, 필요한 데이터를 API 서버에 추가로 요청하여 받아온 뒤, 화면에 콘텐츠를 채워 넣는다.42
장점:
- 풍부하고 빠른 사용자 경험: 초기 로딩이 완료된 후에는, 페이지 이동이나 데이터 업데이트가 필요할 때 전체 페이지를 새로고침하는 대신 필요한 부분만 비동기적으로(AJAX/Fetch) 교체한다. 이는 마치 네이티브 데스크톱 앱이나 모바일 앱을 사용하는 것처럼 빠르고 부드러운 사용자 경험을 제공한다.6
- 서버 부하 감소: 서버는 정적 파일(HTML, JS, CSS)을 제공하고 데이터 API 요청에만 응답하면 되므로, UI 렌더링에 대한 부담이 클라이언트로 이전되어 서버 부하가 크게 줄어든다.6
단점:
- 느린 초기 로딩 속도: 사용자는 거대한 JavaScript 번들이 모두 다운로드되고 실행될 때까지 빈 화면을 봐야 한다. 이는 FCP와 TTI를 모두 지연시켜 초기 사용자 이탈률을 높일 수 있다.6
- 검색 엔진 최적화(SEO) 문제: 초기 HTML에 콘텐츠가 거의 없기 때문에, JavaScript를 실행하지 않는 일부 검색 엔진 크롤러는 페이지의 내용을 제대로 파악하기 어렵다.6
- 보안 취약성: 애플리케이션의 주요 로직이 클라이언트 측 코드에 노출될 수 있다.6
3.2 장. 하이브리드 모델의 작동 원리
하이브리드 렌더링은 SSR의 ’빠른 초기 로딩’과 CSR의 ’풍부한 상호작용’이라는 두 마리 토끼를 모두 잡기 위해 고안된 절충안이다.2 이는 두 방식의 장점을 시점별로 결합하는 영리한 전략을 사용한다.
3.2.1 초기 로딩과 수화(Hydration) 과정
하이브리드 모델의 핵심은 사용자의 경험을 ’첫 방문’과 ’이후 상호작용’으로 나누어 다르게 처리하는 데 있다.
-
초기 로딩 (SSR 단계): 사용자가 웹사이트에 처음 접속하거나 브라우저를 새로고침하면, 서버는 SSR 방식으로 동작한다. 즉, 요청받은 페이지에 대한 완전한 HTML을 생성하여 클라이언트로 즉시 전송한다. 이 덕분에 사용자는 CSR 기반의 SPA처럼 빈 화면을 기다릴 필요 없이 바로 콘텐츠를 볼 수 있으며, 검색 엔진 크롤러도 이 HTML을 정상적으로 분석할 수 있다.2 이 시점의 HTML은 아직 JavaScript 기능이 연결되지 않은 ‘정적인’ 상태다.
-
수화 (Hydration): 브라우저는 서버로부터 받은 정적 HTML을 화면에 그림과 동시에, 백그라운드에서 CSR에 필요한 JavaScript 번들을 다운로드한다. 다운로드가 완료되고 JavaScript가 실행되면, ‘수화’ 또는 ’하이드레이션’이라 불리는 과정이 시작된다.6 수화는 서버가 미리 그려놓은 정적인 DOM 구조 위에 React나 Vue와 같은 JavaScript 프레임워크가 ‘생명을 불어넣는’ 과정이다. 구체적으로는, DOM 요소들에 이벤트 핸들러(예:
onClick)를 부착하고, 애플리케이션의 상태(state)를 연결하여, 페이지가 사용자의 입력에 반응할 수 있는 동적인 상태로 전환된다. “물을 채워 말라 있던 것을 생기있게 만든다“는 비유적 표현이다.6
- 이후 상호작용 (CSR 단계): 수화가 완료된 후, 애플리케이션은 완전히 CSR 모드로 작동한다. 사용자가 페이지 내에서 다른 링크를 클릭하거나 데이터를 조작하면, 더 이상 서버에 전체 페이지를 요청하지 않는다. 대신, JavaScript가 필요한 데이터만 API 서버에서 가져와 DOM의 일부만 동적으로 업데이트하여 빠르고 매끄러운 페이지 전환을 제공한다.2
이처럼 하이브리드 렌더링은 첫 페이지 로드의 성능은 SSR로, 이후의 사용자 경험은 CSR로 최적화함으로써 두 세계의 최고 장점만을 결합한다.
3.2.2 점진적 향상과 유연한 렌더링 전략
현대의 하이브리드 프레임워크는 여기서 한 걸음 더 나아가, 애플리케이션의 각 페이지나 컴포넌트의 특성에 따라 가장 적합한 렌더링 방식을 개발자가 유연하게 선택할 수 있도록 지원한다.3
예를 들어, 회사의 소개 페이지나 블로그 게시물처럼 내용이 자주 바뀌지 않고 SEO가 매우 중요한 페이지는 빌드 시점에 미리 HTML 파일로 생성해두는 ‘정적 사이트 생성(Static Site Generation, SSG)’ 방식을 사용할 수 있다. 반면, 사용자의 프로필 페이지나 실시간 주식 시세 정보처럼 요청 시마다 내용이 바뀌어야 하는 페이지는 ’서버 사이드 렌더링(SSR)’을 적용할 수 있다. 그리고 사용자와의 상호작용이 극도로 많은 대시보드나 웹 에디터 같은 기능은 초기 뼈대만 서버에서 보내고 대부분의 로직을 클라이언트에서 처리하는 ’클라이언트 사이드 렌더링(CSR)’에 가깝게 구성할 수 있다.3
이러한 유연성은 개발자가 애플리케이션의 각 부분에 대한 성능, SEO, 사용자 경험, 개발 효율성 간의 트레이드오프를 섬세하게 조율할 수 있게 해준다. 이는 “모든 페이지는 동일하게 렌더링되어야 한다“는 고정관념에서 벗어나, 콘텐츠의 성격에 따라 최적의 전략을 조합하는 ’점진적 향상(Progressive Enhancement)’의 철학을 구현한 것이다.
3.3 장. Next.js와 리액트 서버 컴포넌트: 하이브리드 웹의 구현체
리액트(React) 생태계에서 하이브리드 렌더링 철학을 가장 성공적으로 구현한 프레임워크는 단연 Next.js이다.2 Next.js는 페이지 단위의 렌더링 전략 제어에서 시작하여, 최근에는 컴포넌트 단위까지 그 제어의 범위를 확장하며 하이브리드 웹의 진화를 이끌고 있다.
3.3.1 페이지 단위 렌더링 제어: SSG, SSR, ISR
Next.js는 파일 시스템 기반 라우팅을 통해 각 페이지 파일이 하나의 URL 경로에 대응하는 직관적인 구조를 제공한다. 개발자는 각 페이지 파일에서 특정 데이터 페칭(fetching) 함수를 export함으로써 해당 페이지의 렌더링 방식을 선언적으로 제어할 수 있다.2
- SSG (Static Site Generation): 페이지 컴포넌트 파일에서
getStaticProps함수를 export하면, Next.js는 빌드 시점에 이 함수를 실행하여 데이터를 가져오고, 그 데이터로 페이지를 미리 렌더링하여 정적인 HTML 파일로 생성한다. 이는 블로그 게시물, 제품 목록, 문서 페이지처럼 콘텐츠가 거의 변하지 않는 경우에 최적의 성능을 제공한다.2 - SSR (Server-side Rendering): 페이지에서
getServerSideProps함수를 export하면, 해당 페이지는 매 요청이 들어올 때마다 서버에서 렌더링된다. 서버는 요청 시점에getServerSideProps를 실행하여 데이터를 가져오고, 이를 기반으로 HTML을 동적으로 생성하여 응답한다. 사용자별 개인화된 콘텐츠나 실시간 데이터가 필요한 대시보드, 프로필 페이지 등에 적합하다.2 - ISR (Incremental Static Regeneration): SSG의 강력한 확장 기능이다.
getStaticProps함수에서revalidate옵션을 설정하면, Next.js는 빌드 시점에 페이지를 생성해두되, 지정된 시간(초 단위)이 지난 후 첫 요청이 들어오면 백그라운드에서 페이지를 다시 생성하여 캐시를 업데이트한다. 이를 통해 정적 페이지의 빠른 속도와 CDN 캐싱의 이점을 누리면서도, 콘텐츠를 주기적으로 최신 상태로 유지할 수 있다.
3.3.2 서버 컴포넌트와 클라이언트 컴포넌트의 역할 분담
리액트 서버 컴포넌트(React Server Components, RSC)는 Next.js App Router와 함께 도입된 혁신적인 패러다임으로, 하이브리드 렌더링의 개념을 페이지 단위에서 컴포넌트 단위로 끌어내렸다. 이는 웹 개발의 패러다임을 근본적으로 바꾸는 변화로, 렌더링의 ’경계’를 개발자가 훨씬 더 세밀하게 제어할 수 있게 한다.
- 서버 컴포넌트 (Server Components): 이들은 기본적으로 서버에서만 렌더링된다. 가장 큰 특징은 클라이언트 측 JavaScript 번들에 포함되지 않는다는 것이다.3 따라서 서버 컴포넌트만으로 구성된 페이지는 클라이언트에 어떠한 JavaScript도 보내지 않아 초기 로딩 성능을 극대화할 수 있다. 또한, 서버 환경에서 직접 실행되므로 데이터베이스 쿼리, 파일 시스템 접근, 내부 API 호출 등 민감하거나 무거운 백엔드 작업을 컴포넌트 내에서 직접 수행할 수 있다. 이는 API 계층을 따로 만들 필요를 줄여주고, 민감한 API 키나 로직을 클라이언트에 노출하지 않아 보안을 강화하는 효과도 있다.3
- 클라이언트 컴포넌트 (Client Components): 사용자와의 상호작용이 필요한 컴포넌트는 클라이언트 컴포넌트로 만들어야 한다. 파일 상단에
"use client";지시어를 명시하여 선언한다. 이 컴포넌트들은useState,useEffect,onClick이벤트 핸들러 등 리액트 훅(hook)과 브라우저 전용 API를 사용할 수 있다. 클라이언트 컴포넌트의 코드는 기존 SPA와 마찬가지로 JavaScript 번들에 포함되어 클라이언트로 전송되고, 브라우저에서 ‘수화’ 과정을 거쳐 상호작용이 가능해진다.3
이러한 역할 분담은 렌더링의 ’경계’가 어디에 위치하는지에 대한 관점을 바꾸었다. 초기 웹(SSR)에서는 경계가 명확히 ’서버’에 있었고, SPA(CSR) 시대에는 ’클라이언트’로 이동했다. Next.js의 페이지 라우터와 같은 초기 하이브리드 모델은 이 경계를 ‘초기 페이지 로딩’ 시점으로 옮겼다. 이제 리액트 서버 컴포넌트는 이 경계를 애플리케이션 트리 내의 ‘컴포넌트’ 단위로까지 파고들었다.7 개발자는 이제 데이터 페칭과 정적 UI 렌더링을 담당하는 서버 컴포넌트와, 상태 관리 및 상호작용을 담당하는 클라이언트 컴포넌트를 마치 레고 블록처럼 조합하여 애플리케이션을 구축한다. 이는 개발자에게 전례 없는 수준의 제어 권한을 부여하는 동시에, 서버와 클라이언트 간의 데이터 흐름과 컴포넌트 경계를 신중하게 설계해야 하는 새로운 아키텍처적 복잡성을 야기하는 트레이드오프를 제시한다.
4. 기술 생태계와 실제 적용 사례
하이브리드 렌더링 철학은 추상적인 개념에 머무르지 않고, 구체적인 API, 프레임워크, 게임 엔진을 통해 현실 세계의 애플리케이션에 깊숙이 뿌리내리고 있다. 그래픽스 분야에서는 하드웨어 가속을 위한 표준 API와 이를 활용하는 강력한 게임 엔진이, 웹 분야에서는 복잡한 렌더링 전략을 손쉽게 구현해주는 프레임워크가 생태계의 중심을 이루고 있다.
4.1 장. 핵심 API와 프레임워크
4.1.1 그래픽스 API: DirectX Raytracing (DXR) vs. Vulkan Ray Tracing
실시간 하이브리드 렌더링의 핵심인 레이 트레이싱을 GPU에서 효율적으로 실행하기 위해서는 하드웨어를 직접 제어할 수 있는 로우레벨 그래픽스 API가 필수적이다. 현재 이 분야는 Microsoft의 DirectX Raytracing(DXR)과 Khronos Group의 Vulkan Ray Tracing이 양분하고 있다.
-
DirectX Raytracing (DXR): Microsoft가 자사의 그래픽스 API인 DirectX 12의 확장 기능으로 도입한 레이 트레이싱 표준이다.44 DXR은 윈도우 운영체제와 Xbox 콘솔의 핵심 기술로, 게임 개발 생태계에 막대한 영향력을 행사한다. DXR은 레이 트레이싱을 위한 몇 가지 새로운 개념을 도입했다 40:
-
가속 구조 (Acceleration Structure): 광선과 지오메트리 간의 교차 테스트를 가속하기 위한 데이터 구조. 장면의 개별 메시(mesh)에 대한 하위 수준 가속 구조(Bottom-Level Acceleration Structure, BLAS)와, 이 BLAS들의 인스턴스(위치, 회전, 크기 정보 포함)를 모아놓은 상위 수준 가속 구조(Top-Level Acceleration Structure, TLAS)의 2단계 계층 구조를 가진다.41
-
레이 트레이싱 파이프라인 상태 객체 (Raytracing Pipeline State Object, PSO): 래스터라이제이션의 그래픽스 PSO와 유사하게, 레이 트레이싱에 사용될 모든 셰이더와 설정을 하나로 묶은 객체다.
-
새로운 셰이더 타입: 레이 트레이싱 파이프라인의 각 단계를 위한 전용 셰이더들. 광선을 생성하는 레이 생성(Ray Generation) 셰이더, 광선이 지오메트리에 가장 가깝게 교차했을 때 호출되는 최근접 히트(Closest Hit) 셰이더, 교차는 했지만 가장 가깝지는 않을 수 있을 때(예: 투명 객체 처리) 호출되는 임의 히트(Any Hit) 셰이더, 그리고 아무것과도 교차하지 않았을 때 호출되는 미스(Miss) 셰이더 등이 있다.45
-
셰이더 바인딩 테이블 (Shader Binding Table, SBT): 장면의 지오메트리와 해당 지오메트리에 적용될 히트 셰이더들을 연결해주는 역할을 하는 메모리 구조다.41
-
Vulkan Ray Tracing: Vulkan은 개방형 표준을 지향하는 크로스플랫폼 그래픽스 API로, 여러 확장(extension)의 집합을 통해 레이 트레이싱을 지원한다.46 핵심 확장은
VK_KHR_acceleration_structure, VK_KHR_ray_tracing_pipeline, VK_KHR_ray_query 등이며, 이들은 DXR과 매우 유사한 개념적 모델을 공유한다. 가속 구조, 파이프라인 상태, 셰이더 타입(RayGen, ClosestHit, Miss 등) 등 DXR의 주요 구성 요소들이 Vulkan에서도 거의 일대일로 대응된다.46 이러한 유사성 덕분에, 한 API로 작성된 레이 트레이싱 코드를 다른 API로 이전하는 것이 비교적 용이하며, VKD3D-Proton과 같은 호환성 계층을 통해 리눅스에서 DXR 기반 게임을 실행하는 것도 가능하다.47
- NVIDIA RTX: RTX는 특정 API가 아니라, DXR과 Vulkan RT와 같은 레이 트레이싱 API를 하드웨어 수준에서 가속하는 NVIDIA의 포괄적인 기술 플랫폼을 지칭한다.49 RTX GPU에 탑재된 전용 RT 코어(RT Core)는 광선-삼각형 교차 테스트와 BVH(Bounding Volume Hierarchy) 순회 연산을 하드웨어적으로 처리하여, 범용 CUDA 코어로 수행할 때보다 훨씬 높은 성능을 제공한다. 즉, DXR과 Vulkan RT가 ’무엇을 할지’에 대한 명세(specification)라면, RTX는 ’어떻게 빠르게 할지’에 대한 NVIDIA의 구현(implementation)인 셈이다.
다음 표는 DXR과 Vulkan Ray Tracing의 핵심 개념을 비교한다.
| 개념 | DirectX Raytracing (DXR) | Vulkan Ray Tracing |
|---|---|---|
| 플랫폼 | Windows, Xbox 44 | 크로스플랫폼 (Windows, Linux, Android 등) 47 |
| 가속 구조 | D3D12_RAYTRACING_ACCELERATION_STRUCTURE (BLAS/TLAS) 40 | VkAccelerationStructureKHR (BLAS/TLAS) 46 |
| 파이프라인 | Raytracing Pipeline State Object (RTPSO) 44 | VkPipeline (with VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR) 46 |
| 셰이더 타입 | Ray Generation, Intersection, Any Hit, Closest Hit, Miss 45 | Ray Generation, Intersection, Any-Hit, Closest Hit, Miss, Callable 46 |
| 셰이더 연결 | Shader Binding Table (SBT) 41 | Shader Binding Table (SBT) 50 |
| 주요 명령어 | DispatchRays() 44 | vkCmdTraceRaysKHR() 46 |
4.1.2 게임 엔진: Unreal Engine 5의 나나이트와 루멘
Epic Games의 Unreal Engine 5(UE5)는 현대 하이브리드 렌더링 기술의 정수를 보여주는 가장 대표적인 사례다. UE5의 핵심 기술인 나나이트(Nanite)와 루멘(Lumen)은 각각 지오메트리 렌더링과 조명 렌더링에서 혁신을 이루며, 실시간 그래픽의 품질을 전례 없는 수준으로 끌어올렸다.
- 나나이트 (Nanite): 가상화된 마이크로폴리곤 지오메트리
나나이트는 수억, 수십억 개의 폴리곤으로 이루어진 영화급 고품질 3D 에셋을 실시간으로 렌더링하기 위해 설계된 가상화 지오메트리 시스템이다.51 기존의 LOD(Level of Detail) 시스템을 완전히 대체하는 이 기술의 핵심은 ’필요한 만큼만 그린다’는 것이다. 나나이트는 원본 메시를 매우 작은 삼각형 클러스터 단위로 분할하고 압축하여 저장한다.51 렌더링 시점에는 카메라와의 거리에 따라 화면의 단일 픽셀보다 더 작게 표현될 디테일은 지능적으로 컬링(culling)하고, 보이는 부분에 대해서만 최적의 해상도를 가진 클러스터를 선택하여 실시간으로 스트리밍하고 재구성한다.51 이 모든 과정이 자동으로 처리되므로 아티스트는 더 이상 폴리곤 수나 LOD 메쉬 생성에 대한 고민 없이 창작에만 집중할 수 있다. 나나이트는 래스터라이제이션 파이프라인 자체를 근본적으로 혁신한 기술이라 할 수 있다.
- 루멘 (Lumen): 완전한 동적 전역 조명 및 반사
루멘은 UE5의 동적 전역 조명(Global Illumination) 및 반사 시스템이다.52 기존 방식처럼 라이트맵을 미리 굽는(baking) 과정 없이, 장면에 조명을 추가하거나 움직이면 그 효과가 즉시 간접광과 반사에 반영된다. 루멘 자체도 하이브리드 시스템으로 작동한다. 기본적으로는 스크린 공간에서 수집한 정보와 장면을 부호화된 거리 필드(Signed Distance Fields, SDF)로 표현한 데이터를 활용하는 ‘소프트웨어 레이 트레이싱’ 방식을 사용한다.53 만약 하드웨어가 지원한다면, 더 높은 정확도를 위해 ‘하드웨어 레이 트레이싱’ 모드를 사용하여 RT 코어를 활용할 수 있다.53 루멘은 빛이 여러 번 튕기는 효과(multi-bounce)를 시뮬레이션하여 부드러운 간접 조명, 색상 번짐(color bleeding), 그리고 반사면에 비친 간접 조명까지 사실적으로 표현한다.
- 나나이트와 루멘의 시너지
나나이트와 루멘은 서로를 보완하며 엄청난 시너지를 발휘한다. 나나이트가 전례 없이 복잡하고 디테일한 지오메트리를 실시간으로 처리할 수 있는 기반을 마련하면, 루멘은 그 복잡한 지오메트리 위에서 물리적으로 정확한 동적 조명을 실시간으로 시뮬레이션한다.52 예를 들어, 동굴 벽의 미세한 요철 하나하나가 나나이트에 의해 표현되고, 그 요철에 의해 빛이 미묘하게 반사되고 그림자가 지는 모습이 루멘에 의해 계산된다. 이 두 기술의 결합은 개발자가 전통적인 최적화의 굴레에서 벗어나, 오프라인 렌더링 수준의 시각적 충실도를 실시간 인터랙티브 환경에서 구현할 수 있는 시대를 열었다.55
4.2 장. 산업별 적용 사례 분석
하이브리드 렌더링 기술은 더 이상 연구실이나 기술 데모에 머무르지 않고, 다양한 산업 분야의 제작 파이프라인을 근본적으로 바꾸고 있다.
4.2.1 영화 및 VFX: 오프라인에서 실시간으로
전통적으로 영화 및 시각 효과(VFX) 산업은 최고의 사실성을 위해 프레임당 수 시간을 소요하는 오프라인 레이 트레이싱(경로 추적)에 전적으로 의존해왔다.10 그러나 실시간 하이브리드 렌더링 기술의 발전은 제작 과정에 혁신을 가져왔다. 특히 ‘가상 프로덕션(Virtual Production)’ 분야에서 그 영향력이 두드러진다.22 거대한 LED 스크린에 실시간으로 렌더링된 가상 배경을 띄우고 그 앞에서 배우가 연기하는 방식인데, 이때 배경은 카메라의 움직임에 맞춰 실시간으로 시점이 변경되어야 한다. Unreal Engine과 같은 실시간 엔진은 하이브리드 렌더링을 통해 사실적인 배경과 조명을 실시간으로 제공하며, 감독은 촬영 현장에서 최종 결과물에 가까운 화면을 직접 보면서 연출을 결정할 수 있다. 이는 후반 작업의 부담을 크게 줄이고, 배우가 그린 스크린 대신 실제 배경과 상호작용하며 연기할 수 있게 하여 몰입도를 높인다.57
4.2.2 건축 시각화 및 제품 디자인
건축 및 제품 디자인 분야에서 시각화는 디자인을 평가하고 고객을 설득하는 데 필수적인 과정이다. 과거에는 디자인을 수정할 때마다 새로운 렌더링 이미지를 얻기 위해 수 시간을 기다려야 했다.58 실시간 하이브리드 렌더링은 이 과정을 완전히 바꾸어 놓았다. 건축가와 디자이너는 이제 재질을 바꾸거나, 조명의 위치와 시간을 변경하거나, 구조를 수정하는 즉시 그 결과를 포토리얼한 품질로 확인할 수 있다.58 레이 트레이싱으로 구현된 정확한 그림자와 부드러운 간접광, 유리창과 금속 표면의 사실적인 반사는 공간의 깊이와 재질감을 생생하게 전달한다.14 이를 통해 고객은 단순한 이미지를 보는 것을 넘어, 가상 공간을 직접 거닐어보는 듯한 몰입감 있는 경험을 할 수 있으며, 이는 디자인에 대한 이해도를 높이고 의사결정을 가속화한다.58
4.2.3 인터랙티브 엔터테인먼트: 차세대 게임 그래픽스
게임은 하이브리드 렌더링 기술이 가장 적극적으로 채택되고 상업적으로 성공을 거둔 분야다. 최신 AAA급 게임들은 대부분 래스터라이제이션으로 기본 프레임워크를 구축하여 높은 프레임률을 확보하고, 여기에 레이 트레이싱을 선택적으로 적용하여 시각적 품질을 한 단계 끌어올리는 하이브리드 접근법을 사용한다.17
게임에서 레이 트레이싱은 주로 다음과 같은 효과를 강화하는 데 사용된다:
- 사실적인 반사: 물웅덩이, 유리, 거울, 광택 있는 바닥 등에 주변 환경이 정확하게 비치도록 하여 장면의 신뢰성을 높인다.
- 정확한 그림자: 점 광원과 태양광으로부터 드리워지는 그림자를 선명하고 물리적으로 올바르게 표현한다.
- 전역 조명 및 앰비언트 오클루전: 간접광을 통해 장면의 어두운 부분을 자연스럽게 밝히고, 물체들이 맞닿는 부분에 미묘한 그림자를 추가하여 입체감을 살린다.
Unreal Engine 5의 나나이트와 루멘과 같은 기술은 게임 개발의 패러다임마저 바꾸고 있다. 개발자들은 더 이상 LOD 모델을 수작업으로 만들거나, 동적인 장면을 위해 라이트맵 베이킹을 포기하는 등의 기술적 제약에 얽매일 필요가 없다. 대신, 아티스트의 창의성을 최대한 발휘하여 영화적인 품질의 월드를 구축하고, 이를 실시간으로 플레이어에게 제공할 수 있게 되었다.54
5. 도전 과제와 미래 전망
하이브리드 렌더링은 실시간 그래픽스에 혁명을 가져왔지만, 여전히 해결해야 할 기술적 난제들을 안고 있다. 이러한 과제들을 극복하려는 노력은 AI와의 융합을 가속화하고, 궁극적으로는 완전한 실시간 경로 추적으로 나아가는 미래의 청사진을 그리고 있다.
5.1 장. 현재의 기술적 난제
5.1.1 연산 비용과 하드웨어 의존성
실시간 하이브리드 렌더링의 가장 큰 장벽은 여전히 막대한 연산 비용이다. 레이 트레이싱은 본질적으로 계산 집약적인 작업이며, 실시간 프레임률을 유지하기 위해서는 강력한 컴퓨팅 파워가 요구된다.21 특히, 레이 트레이싱 연산을 하드웨어적으로 가속하는 전용 코어(예: NVIDIA의 RT 코어)를 탑재한 고성능 GPU에 대한 의존도가 매우 높다.21 이는 고사양의 하드웨어를 갖추지 못한 대다수의 사용자들이 하이브리드 렌더링의 모든 혜택을 누리기 어렵게 만드는 요인이며, 기술의 대중화를 가로막는 주요 허들로 작용한다.
5.1.2 디버깅 및 프로파일링의 복잡성
하이브리드 렌더링 파이프라인은 그 구조가 매우 복잡하다. 래스터라이제이션 기반의 G-Buffer 패스, 여러 종류의 선택적 레이 트레이싱 패스, 그리고 공간적/시간적 필터링을 포함하는 디노이징 패스 등이 복잡하게 얽혀있다. 이러한 다단계 파이프라인에서 시각적 오류(artifact)나 성능 병목 현상이 발생했을 때, 그 근본 원인을 찾아내는 것은 지극히 어려운 작업이다.29
예를 들어, 디노이저의 시간적 필터링(temporal filtering) 과정에서 발생한 작은 오류는 여러 프레임에 걸쳐 전파되고 누적되어, 전혀 예상치 못한 시각적 문제(예: 고스팅, 얼룩)를 야기할 수 있다.62 이러한 문제를 해결하기 위해서는 NVIDIA Nsight Graphics, AMD Radeon GPU Profiler, Unity의 Render Pipeline Debug Window, Apple의 Xcode Metal Debugger와 같은 전문적인 디버깅 및 프로파일링 도구가 필수적이다.26 개발자는 이 도구들을 사용하여 각 렌더링 패스의 중간 결과물, GPU의 스레드 실행 상태, 메모리 접근 패턴 등을 면밀히 분석해야만 문제의 원인을 추적할 수 있다.
5.1.3 가상현실(VR)에서의 실시간 경로 추적
가상현실(VR) 환경은 하이브리드 렌더링, 특히 완전한 실시간 경로 추적에 있어 가장 극한의 도전 과제를 제시한다. VR은 사용자에게 멀미 없는 편안한 경험을 제공하기 위해 양쪽 눈에 각각 높은 해상도의 이미지를 초당 90프레임(90Hz) 이상으로 꾸준히 렌더링해야 한다.23 이는 일반적인 모니터 환경(예: 60Hz)보다 훨씬 더 엄격한 성능 요구사항이다.
현재의 소비자 등급 하드웨어로는 이러한 VR 환경에서 고품질의 레이 트레이싱 효과를 포함한 하이브리드 렌더링을 안정적으로 구동하기가 매우 어렵다.28 특히, 독립형 VR 헤드셋처럼 모바일 AP를 사용하는 기기에서는 전력 소모와 발열 문제로 인해 컴퓨팅 성능에 더 큰 제약이 따른다.28 따라서 VR에서의 사실적인 그래픽스는 포비티드 렌더링(foveated rendering, 시선이 향하는 중심부만 고해상도로 렌더링하는 기술)과 같은 최적화 기법과 AI 기반 업스케일링 기술의 발전이 더욱 절실히 요구되는 분야다.23
5.2 장. 미래 렌더링 기술의 향방
현재의 도전 과제에도 불구하고, 렌더링 기술은 AI와의 융합과 하드웨어의 발전에 힘입어 완전한 실시간 물리 기반 렌더링이라는 궁극적인 목표를 향해 꾸준히 나아가고 있다. 현재의 하이브리드 모델은 그 과정에 있는 중요한 이정표로 볼 수 있다.
5.2.1 AI와 렌더링의 융합: 지능형 샘플링과 업스케일링
인공지능(AI)은 하이브리드 렌더링의 성능 한계를 돌파하는 가장 강력한 열쇠다. AI는 단순히 노이즈를 제거하는 후처리 단계를 넘어, 렌더링 파이프라인의 핵심적인 부분에 통합되고 있다.
- AI 기반 업스케일링 및 디노이징: NVIDIA의 DLSS(Deep Learning Super Sampling), AMD의 FSR(FidelityFX Super Resolution), Intel의 XeSS(Xe Super Sampling)와 같은 기술들이 대표적이다. 이 기술들의 핵심 아이디어는 내부적으로는 낮은 해상도로 장면을 렌더링하여 성능을 확보한 뒤, 딥러닝 모델을 사용하여 고해상도의 깨끗한 이미지로 ’업스케일링’하는 것이다.25 이 과정에서 노이즈 제거, 앤티에일리어싱(anti-aliasing)까지 동시에 처리된다. 이를 통해 사용자는 거의 동일한 시각적 품질을 유지하면서도 프레임률을 대폭 향상시키는 효과를 얻을 수 있다.
- 지능형 샘플링 및 경로 안내 (Intelligent Sampling & Path Guiding): 렌더링 방정식의 몬테카를로 해법은 무작위 샘플링에 의존하기 때문에 수렴이 느리다. AI는 이 과정을 더 지능적으로 만들 수 있다. 예를 들어, 머신러닝 모델을 학습시켜 장면의 어느 부분(예: 밝은 하이라이트, 복잡한 코스틱)이 최종 이미지에 더 큰 기여를 하는지 예측하고, 해당 부분에 더 많은 샘플링 자원을 집중시키는 ’적응형 샘플링(adaptive sampling)’을 수행할 수 있다.31 더 나아가, 광선이 광원에 더 효율적으로 도달할 수 있도록 경로 자체를 ’안내(guiding)’하는 연구도 활발히 진행 중이다. 이는 동일한 샘플 수로도 훨씬 빠르게 노이즈를 줄일 수 있게 해준다.38
5.2.2 완전한 실시간 경로 추적을 향하여
현재의 하이브리드 렌더링은 그 자체로 최종 목표라기보다는, ’완전한 실시간 경로 추적(full real-time path tracing)’이라는 궁극적인 목표로 나아가는 과정에 있는 과도기적 형태로 해석될 수 있다. GPU 성능은 무어의 법칙을 따라 계속 발전하고, 레이 트레이싱 전용 하드웨어는 더욱 효율적으로 진화하며, AI 기반 최적화 기술은 날로 정교해지고 있다.61
이러한 발전이 계속된다면, 언젠가는 래스터라이제이션으로 복잡한 근사치를 계산하는 것보다, 처음부터 (상대적으로 낮은 품질의) 경로 추적으로 전체 장면을 렌더링하고 AI로 후처리하는 것이 오히려 더 간단하고 효율적인 시점이 올 수 있다.55 실제로 일부 전문가들은 래스터라이제이션의 복잡한 트릭들(예: 고해상도 섀도우 맵, SSR)이 특정 상황에서는 이미 하드웨어 가속 레이 트레이싱보다 느릴 수 있다고 지적한다.55
궁극적으로 렌더링 파이프라인은 물리적으로 일관되고 통합된 경로 추적 모델로 수렴할 가능성이 높다.12 이는 개발 과정을 극적으로 단순화시킬 것이다. 아티스트와 개발자는 더 이상 래스터라이제이션과 레이 트레이싱을 위한 별도의 파이프라인과 수많은 트릭을 관리할 필요 없이, 단일한 물리 기반 원칙하에서 모든 시각 효과를 구현하게 될 것이다.12 현재의 복잡한 하이브리드 파이프라인은 역설적으로 자기 자신을 불필요하게 만드는, 더 단순하고 강력한 미래를 향한 길을 닦고 있는 셈이다.
5.2.3 렌더링 패러다임의 통합: 경계의 소멸
기술의 발전은 그래픽스와 웹, 로컬과 클라우드라는 전통적인 경계마저 허물고 있다. WebGPU와 같은 차세대 웹 그래픽스 API는 웹 개발자가 브라우저 환경에서 DXR이나 Vulkan처럼 로우레벨의 GPU 제어권을 가질 수 있게 해준다. 이는 미래에 웹 브라우저에서도 고품질의 실시간 하이브리드 렌더링, 나아가 경로 추적이 보편화될 수 있음을 시사한다.
동시에 클라우드 컴퓨팅의 발전은 렌더링의 장소적 제약을 없애고 있다.61 강력한 GPU가 탑재된 클라우드 서버에서 렌더링을 수행하고 그 결과(비디오 스트림)만을 클라이언트 기기로 전송하는 클라우드 렌더링(또는 픽셀 스트리밍) 서비스는, 사용자가 로컬 하드웨어의 성능과 무관하게 최고 품질의 그래픽을 경험할 수 있게 해준다.67 이러한 흐름은 렌더링의 미래가 특정 기기나 플랫폼에 종속되지 않고, 네트워크를 통해 어디서든 접근 가능한 유비쿼터스 서비스 형태로 진화할 것임을 예고한다.
6. 결론: 하이브리드 렌더링의 현재적 의의와 미래 가치에 대한 종합적 고찰
본 안내서는 ’하이브리드 렌더링’을 컴퓨터 그래픽스와 웹 개발이라는 두 가지 핵심 영역에 걸쳐 심층적으로 분석했다. 이를 통해 하이브리드 렌더링이 단일 기술이 아닌, 상충하는 가치들 사이에서 최적의 균형점을 찾으려는 ’분리와 결합’의 공통된 철학적 접근법임을 확인했다.
컴퓨터 그래픽스에서 하이브리드 렌더링은 래스터라이제이션의 ’속도’와 레이 트레이싱의 ’사실성’을 결합했다. 래스터라이제이션으로 기본 구조를 신속하게 구축하고, 레이 트레이싱으로 물리적으로 정확한 빛의 효과를 선택적으로 덧입힌 후, AI 기반 디노이징으로 실시간성의 한계를 극복하는 이 파이프라인은 현재 차세대 비주얼을 구현하는 가장 실용적이고 강력한 표준으로 자리 잡았다.
웹 개발에서 하이브리드 렌더링은 서버 사이드 렌더링의 ’빠른 초기 응답성’과 클라이언트 사이드 렌더링의 ’풍부한 상호작용성’을 조화시켰다. 초기 요청은 서버에서 처리하여 신속한 콘텐츠 제공과 SEO를 보장하고, 이후의 모든 상호작용은 클라이언트에서 처리하여 앱과 같은 사용자 경험을 제공한다. 나아가 리액트 서버 컴포넌트의 등장은 이 하이브리드 모델을 페이지 단위에서 컴포넌트 단위로까지 세분화하여, 개발자에게 전례 없는 수준의 유연성과 제어력을 부여했다.
결론적으로, 하이브리드 렌더링은 각 분야에서 기술적 타협의 산물이자 동시에 혁신적인 패러다임이다. 이는 기존 기술들의 한계를 명확히 인식하고, 그 한계를 극복하기 위해 이질적인 요소들을 창의적으로 재조합한 결과물이다.
그러나 하이브리드 렌더링의 현재 모습이 최종 목적지는 아닐 것이다. 하드웨어 성능의 지속적인 향상과 AI 기술의 비약적인 발전은 현재의 복잡한 하이브리드 모델의 경계를 점차 허물고 있다. 미래의 렌더링 기술은 래스터라이제이션이라는 ’근사’의 단계를 건너뛰고, 물리적으로 가장 정확한 모델인 ’경로 추적’을 기반으로 AI가 그 성능을 보조하는, 더욱 단순하고 통합된 형태로 수렴할 가능성이 높다.
따라서 하이브리드 렌더링의 진정한 의의는 현재 제공하는 뛰어난 결과물 자체에만 있는 것이 아니다. 그것은 완전한 실시간 물리 기반 렌더링이라는 궁극적인 목표를 향해 나아가는 가장 현실적인 경로를 제시하고, 그 과정에서 필요한 수많은 기술적 난제들을 해결하며 미래를 위한 토대를 마련하고 있다는 점에 있다. 하이브리드 렌더링은 그 자신의 완성을 통해 역설적으로 스스로의 소멸을 준비하는, 역동적인 기술 진화의 한가운데에 서 있다.
7. 참고 자료
- 13.7 하이브리드 렌더링 - 자바스크립트 + 리액트 디자인 패턴 [Book] - O’Reilly Media, https://www.oreilly.com/library/view/jabaseukeuribteu-riaegteu/9791169212571/chapter-202.html
- 원티드 프론트엔드 챌린지 - 하이브리드 접근과 NextJS - velog, https://velog.io/@orihiro/%EC%9B%90%ED%8B%B0%EB%93%9C-%ED%94%84%EB%A1%A0%ED%8A%B8%EC%97%94%EB%93%9C-%EC%B1%8C%EB%A6%B0%EC%A7%80-%ED%95%98%EC%9D%B4%EB%B8%8C%EB%A6%AC%EB%93%9C-%EC%A0%91%EA%B7%BC%EA%B3%BC-NextJS
- 하이브리드 웹 애플리케이션: Next.js와 리액트를 활용한 서버 및 클라이언트 렌더링 이해, https://reactnext-central.xyz/blog/nextjs/server-client-rendering
- Evaluation of Hybrid Rendering Pipelines for Screen-Spaced and Ray-Traced Reflections - METU/CEng, http://ceng.metu.edu.tr/evaluation-hybrid-rendering-pipelines-screen-spaced-and-ray-traced-reflections
- Ray Tracing Essentials Part 2: Rasterization versus Ray Tracing …, https://developer.nvidia.com/blog/ray-tracing-essentials-part-2-rasterization-versus-ray-tracing/
- [Next.js] CSR, SSR, ISR, SSG, 하이브리드(Hybrid) 렌더링, 하이드레이션(Hydration), https://medium.com/@zero86/next-js-csr-ssr-isr-ssg-%ED%95%98%EC%9D%B4%EB%B8%8C%EB%A6%AC%EB%93%9C-hybrid-%EB%A0%8C%EB%8D%94%EB%A7%81-%ED%95%98%EC%9D%B4%EB%93%9C%EB%A0%88%EC%9D%B4%EC%85%98-hydration-e2f6a487fe95
- Rendering – Nextjs 한글 문서, https://nextjs-ko.org/docs/app/building-your-application/rendering
- Ray Tracing vs Rasterization: Unpacking Computer Graphics Rendering - Cable Matters, https://www.cablematters.com/Blog/Computer-Accessories/ray-tracing-vs-rasterization
- 언리얼 엔진 리얼타임 레이 트레이싱 - 파트 1: 진화 - Unreal Engine, https://www.unrealengine.com/ko/blog/real-time-ray-tracing-in-unreal-engine-part-1—the-evolution
- What’s the Difference Between Ray Tracing, Rasterization? - NVIDIA Blog, https://blogs.nvidia.com/blog/whats-difference-between-ray-tracing-rasterization/
- Adventures in Hybrid Rendering :: Dihara Wijetunga - Graphics …, https://diharaw.github.io/post/adventures_in_hybrid_rendering/
- In comparison to rasterization, ray tracing does a perfectly good job of doing c… | Hacker News, https://news.ycombinator.com/item?id=17128716
- 레이트레이싱, 패스 트레이싱, 디노이징 - Hybrid3D, https://blog.hybrid3d.dev/2019-11-15-raytracing-pathtracing-denoising
- 언리얼 엔진 리얼타임 레이 트레이싱 – 건축 시각화 - 테크월드뉴스, https://www.epnc.co.kr/news/articleView.html?idxno=98040
- A Hybrid GPU Rendering Pipeline for Alias-Free Hard Shadows, https://www.cs.cit.tum.de/fileadmin/w00cfj/cg/Research/Publications/2009/A_Hybrid_GPU_Rendering_Pipeline/eg_area09_shadows.pdf
- 리얼타임 레이 트레이싱이 무엇인가요? - Unreal Engine, https://www.unrealengine.com/ko/explainers/ray-tracing/what-is-real-time-ray-tracing
- Ray tracing (graphics) - Wikipedia, https://en.wikipedia.org/wiki/Ray_tracing_(graphics)
- Ray Casting, Ray Tracing, Real-Time Ray Tracing - 매번 그때는 모를 뿐이다 - 티스토리, https://jieunlee.tistory.com/entry/Ray-Casting-Ray-Tracing-Real-Time-Ray-Tracing
- 광선 추적 - 위키백과, 우리 모두의 백과사전, https://ko.wikipedia.org/wiki/%EA%B4%91%EC%84%A0_%EC%B6%94%EC%A0%81
- 레이 트레이싱이 래스터라이제이션보다 왜 더 비쌀까? : r/gamedev - Reddit, https://www.reddit.com/r/gamedev/comments/1by6ml3/why_is_ray_tracing_more_expensive_than/?tl=ko
- Impact of Real-Time Ray Tracing Technology in the VR Industry, https://www.ikarusvr.com/blog/impact-of-real-time-ray-tracing-technology-in-the-vr-industry
- Ray Tracing vs. Rasterization: Which One Wins in 2025? | by ServerWala InfraNet FZ-LLC, https://medium.com/@serverwalainfra/ray-tracing-vs-rasterization-which-one-wins-in-2025-bfa9fda3d9a1
- Towards Accelerating Real-Time Path Tracing with Foveated Framework - arXiv, https://arxiv.org/html/2406.07981v2
- NVIDIA OptiX™ AI-Accelerated Denoiser, https://developer.nvidia.com/optix-denoiser
- Optimizing Distributed Ray Tracing in Unreal Engine Using AI- Based Techniques: An Experimental Approach, https://www.irjweb.com/Optimizing%20Distributed%20Ray%20Tracing%20in%20Unreal%20Engine%20Using%20AI-Based%20Techniques%20An%20Experimental%20Approach.pdf
- Explore hybrid rendering with Metal ray tracing - WWDC21 - Videos - Apple Developer, https://developer.apple.com/videos/play/wwdc2021/10150/
- ZijingPeng/DXR-Hybrid-Rendering: A hybrid rendering pipeline that combines rasterization and raytracing stages to generate real-time effects. - GitHub, https://github.com/ZijingPeng/DXR-Hybrid-Rendering
- What are the unsolved challenges in real-time path tracing? - Reddit, https://www.reddit.com/r/GraphicsProgramming/comments/18wllgz/what_are_the_unsolved_challenges_in_realtime_path/
- Hybrid-Rendering Techniques in GPU - arXiv, https://arxiv.org/pdf/2312.06827
- Intel Open Image Denoise Wins Scientific and Technical Achievement Award, https://newsroom.intel.com/intel-products/intel-open-image-denoise-wins-technical-award
- Ray Tracing Denoising - Alain Galvan, https://alain.xyz/blog/ray-tracing-denoising
- The rendering equation - Computer Science, https://www.cs.rpi.edu/~cutler/classes/advancedgraphics/S10/papers/kajiya.pdf
- Rendering equation - Wikipedia, https://en.wikipedia.org/wiki/Rendering_equation
- Rendering equation, http://graphics.cs.cmu.edu/courses/15-468/2021_spring/lectures/lecture12.pdf
- SIGGRAPH 2016 Course: Part 1, https://belcour.github.io/blog/course/2016/08/25/siggraph-course-part1.html
- Monte Carlo Path Tracing - Stanford Graphics Lab, https://graphics.stanford.edu/courses/cs348b-01/course29.hanrahan.pdf
- cg1-tutorial-7-illumination.pdf - LMU München - Medieninformatik, https://www.medien.ifi.lmu.de/lehre/ss20/cg1/tutorials/cg1-tutorial-7-illumination.pdf
- Motivation: Monte Carlo Path Tracing, https://cseweb.ucsd.edu/~viscomp/classes/cse274/fa21/lectures/recon-4.pdf
- Chapter 10 Bidirectional Path Tracing - Stanford Graphics Lab, https://graphics.stanford.edu/courses/cs348b-03/papers/veach-chapter10.pdf
- DirectX Raytracing (DXR) Functional Spec - Microsoft Open Source, https://microsoft.github.io/DirectX-Specs/d3d/Raytracing.html
- DX12 Raytracing tutorial - Part 1 - NVIDIA Developer, https://developer.nvidia.com/rtx/raytracing/dxr/dx12-raytracing-tutorial-part-1
- [Next.js] CSR과 비교하여 pre-rendering 쉽게 이해하기 - moyang - 티스토리, https://marklee1117.tistory.com/99
- Next.js 14: SSR, CSR, 하이드레이션, 웹 스트리밍의 신세계 - velog, https://velog.io/@jx7789/Next.js-14-SSR-CSR-%ED%95%98%EC%9D%B4%EB%93%9C%EB%A0%88%EC%9D%B4%EC%85%98-%EC%9B%B9-%EC%8A%A4%ED%8A%B8%EB%A6%AC%EB%B0%8D%EC%9D%98-%EC%8B%A0%EC%84%B8%EA%B3%84
- DirectX Raytracing - Wikipedia, https://en.wikipedia.org/wiki/DirectX_Raytracing
- Introduction to NVIDIA RTX and DirectX Ray Tracing, https://developer.nvidia.com/blog/introduction-nvidia-rtx-directx-ray-tracing/
- Ray Tracing - Vulkan Documentation, https://docs.vulkan.org/guide/latest/extensions/ray_tracing.html
- Vulkan VS DX12 Raytracing : r/linux_gaming - Reddit, https://www.reddit.com/r/linux_gaming/comments/1gfl4s4/vulkan_vs_dx12_raytracing/
- Cross-Platform Ray Tracing - Migrating from DXR to Vulkan A21182 | GTC Digital October 2020 | NVIDIA On-Demand, https://www.nvidia.com/en-us/on-demand/session/gtcfall20-a21182/
- DXR and RTX are not the same thing - Reallusion Forum, https://forum.reallusion.com/360850/DXR-and-RTX-are-not-the-same-thing
- Ray Tracing :: Vulkan Documentation Project, https://docs.vulkan.org/spec/latest/chapters/raytracing.html
- Nanite Virtualized Geometry in Unreal Engine - Epic Games Developers, https://dev.epicgames.com/documentation/en-us/unreal-engine/nanite-virtualized-geometry-in-unreal-engine
- Unreal Engine 5 Revealed! | Next-Gen Real-Time Demo Running on PlayStation 5, https://www.youtube.com/watch?v=qC5KtatMcUw
- What is Nanite and Lumen really? : r/unrealengine - Reddit, https://www.reddit.com/r/unrealengine/comments/1la76mi/what_is_nanite_and_lumen_really/
- Wasn’t the purpose of Nanite and Lumen in Unreal Engine 5 to help with performance? : r/FuckTAA - Reddit, https://www.reddit.com/r/FuckTAA/comments/1badev2/wasnt_the_purpose_of_nanite_and_lumen_in_unreal/
- Thank you. This guy gets it. Path tracing is the gold standard for computer gr… - Hacker News, https://news.ycombinator.com/item?id=42014258
- 영화 속 놀라운 시각화 효과의 엔진, 엔비디아 RTX GPU - 테크월드뉴스, https://www.epnc.co.kr/news/articleView.html?idxno=94000
- Why Real-Time Rendering is Changing the Future of VFX and Animation - FXiation Digitals, https://www.fxiationdigitals.com/vfx-animation-blog/why-real-time-rendering-is-changing-the-future-of-vfx-and-animation/
- 언리얼 엔진의 리얼타임 레이 트레이싱 - 파트 2: 건축 시각화 - Unreal Engine, https://www.unrealengine.com/ko/blog/real-time-ray-tracing-in-unreal-engine—part-2-architectural-visualization
- 6가지 건축 스타일 설명: 최신 렌더링 팁 포함 - D5 Render, https://www.d5render.com/ko/posts/6-architectural-styles-modern-rendering-virtual-tour-tips
- [케이스 스터디] 건축 시각화에 쓰이는 언리얼 엔진의 리얼타임 레이 트레이싱 - 캐드앤그래픽스, https://cadgraphics.co.kr/newsview.php?pages=news&sub=news01&catecode=2&num=66474
- The Future of Real-time Rendering Tech - Number Analytics, https://www.numberanalytics.com/blog/future-of-real-time-rendering-tech
- Shader Debugging Made Easy with NVIDIA Nsight Graphics, https://developer.nvidia.com/blog/shader-debugging-made-easy-with-nvidia-nsight-graphics/
- Render Pipeline Debug | High Definition RP | 10.2.2 - Unity - Manual, https://docs.unity3d.com/Packages/com.unity.render-pipelines.high-definition@10.2/manual/Render-Pipeline-Debug-Window.html
- NVIDIA Nsight Graphics, https://developer.nvidia.com/nsight-graphics
- • This part of the course addresses the idea of “path guiding” – and how it can be used to reduce variance of Monte Carl, https://cs.dartmouth.edu/~wjarosz/publications/novak18monte-sig-slides-6.3-advanced-methods-zero-var-notes.pdf
- NVIDIA Real-Time Graphics Research, https://research.nvidia.com/labs/rtr/
- The Future of 3D Rendering Market and How AI Could Transform the Industry, https://www.realspace3d.com/blog/the-future-of-3d-rendering-market-and-how-ai-could-transform-the-industry/