Surface Cache 아키텍처
Lumen의 핵심 최적화 기술인 Surface Cache와 Card 시스템
Surface Cache 개요
전통적 레이트레이싱 대비 최적화
Surface Cache는 Lumen의 핵심 최적화 기술로, 전통적인 레이트레이싱 히트 포인트 셰이딩을 대체합니다.
| 방식 | 전통 Ray Tracing | Lumen Surface Cache |
|---|---|---|
| 흐름 | Ray -> BVH Test -> Hit -> Material Eval -> Shadow Rays | Ray -> Distance Field -> Surface Cache Lookup |
| 머티리얼 평가 | 매 히트마다 | 미리 캡처된 데이터 사용 |
Card 시스템
메시의 머티리얼 속성 캡처
Card는 메시의 머티리얼 속성을 캡처하는 위치입니다. 각 메시는 최대 12개의 Card를 가질 수 있습니다.
// Card: 메시의 머티리얼 속성을 캡처하는 위치
struct LumenCard {
CaptureDirection; // 캡처 방향 (6방향)
MaterialProperties; // 색상, 러프니스, 노멀 등
Extent; // 커버리지 범위
};
// 기본 설정
MaxCardsPerMesh = 12; // Static Mesh Editor에서 증가 가능
시각화 및 디버깅
Surface Cache 문제 진단
// Card 배치 시각화
r.Lumen.Visualize.CardPlacement 1
// Surface Cache 뷰 모드
// View Modes > Lumen > Surface Cache
// 핑크색 영역 = 커버리지 부족 -> 빛 바운스 불가
단순한 내부 구조의 메시만 지원됩니다.
- 벽, 바닥, 천장은 별도 메시로 분리
- 가구가 포함된 전체 방을 단일 메시로 임포트하면 작동 안 함
- 최소 벽 두께: 10cm (빛 누수 방지)
최적화 가이드
Surface Cache 성능 개선
- 메시 분리 - 벽, 바닥, 천장을 별도 메시로
- 최소 벽 두께 10cm - 빛 누수 방지
- 복잡한 내부 메시에 Max Lumen Mesh Cards 증가
- 대형 개구부 주변 추가 Card 배치 고려
- 핑크색 영역 확인 - Surface Cache 커버리지 검사
핵심 요약
- Surface Cache는 레이트레이싱 히트 포인트 셰이딩을 미리 캡처된 데이터로 대체
- Card 시스템으로 메시당 최대 12개 위치에서 머티리얼 캡처
- 단순 내부 구조 메시만 지원 - 복잡한 메시는 분리 필요
- 최소 벽 두께 10cm로 빛 누수 방지
- View Modes > Lumen에서 커버리지 확인
도전 과제
배운 내용을 직접 실습해보세요
r.Lumen.Visualize.CardPlacement 1로 Card 배치를 시각화하고, View Modes > Lumen > Surface Cache로 커버리지를 확인하세요. 핑크색 영역이 나타나는 메시를 찾고 Max Lumen Mesh Cards를 증가시켜 해결하세요.
복잡한 내부 구조의 방 메시를 단일 메시로 임포트하여 Surface Cache 문제를 확인한 후, 벽/바닥/천장을 별도 메시로 분리하여 빛 바운스가 정상 동작하는 것을 비교하세요. 최소 벽 두께 10cm 가이드라인도 테스트하세요.
다양한 형태의 건축물 메시(단순 박스, L자형, 내부 파티션 있는 방)에 대해 Surface Cache 커버리지를 비교 분석하고, 각 구조에서 최적의 Card 수와 메시 분할 전략을 문서화하세요.