Rendering Spec · Rev. 2026

Godray System

빛이 좁은 틈새를 반복적으로 통과하며 회절 효과가 중첩되어 강하게 보이는 현상을 시뮬레이션합니다. cascade 그림자 분산을 기반으로 경계 영역에서만 ray 쿼드를 생성합니다.

6Algorithm Steps
1Shadow Sampler
AdditiveBlend Mode
scroll
01 — 사양 정의

적용 범위

Godray 효과의 적용 조건과 구현 방식에 대한 기본 전제를 정의합니다.

동적 라이팅 전용
이 페이지에서 정의하는 효과는 라이팅이 동적인 환경에서만 고려합니다. 라이팅이 Baked된 실내 스테이지에는 적용하지 않습니다.
실내 스토리 예외
스토리 중 실내에 적용되는 Godray는 이 시스템이 아닌 손으로 배치한 이펙트로 대체합니다.
경계부 선택적 렌더
분산 기반 필터링으로 그림자 경계부에서만 ray 쿼드를 생성합니다. 내부/외부는 완전히 무시하여 오버드로를 최소화합니다.
회절 중첩 효과  빛이 좁은 틈새를 반복적으로 통과할 때 회절이 중첩되어 더 강하게 보이는 현상을 시뮬레이션하는 것이 목표입니다.
02 — 연산 순서

알고리즘

카메라 기준으로 후보 쿼드를 배치하고, cascade 그림자 분산값을 평가하여 경계부에서만 ray 쿼드를 생성합니다.

1
후보 쿼드 배치Candidate Quad Scatter

카메라가 바라보는 방향으로 godray 평가 후보 쿼드를 화면 공간에 분산하여 배치합니다. 이 쿼드들은 이후 단계에서 실제로 그릴지 여부를 판별하기 위한 후보입니다.

Screen Space Camera-Facing
2
그림자 샘플링Cascade Shadow Sampling

각 후보 쿼드 위에서 랜덤한 몇 개의 지점을 선택합니다. 선택된 지점들에서 cascade 그림자 맵을 샘플링하여 버퍼값을 수집합니다.

Cascade Shadow Map Random Sampling
3
분산 계산Variance Evaluation

수집된 그림자 버퍼값들을 비교하여 분산(variance)을 계산합니다. 분산값은 해당 쿼드 영역이 그림자 경계부에 걸쳐 있는지를 판단하는 핵심 지표입니다.

균일 — 그림자 내부
혼재 — 경계부
4
분산 판정Variance Decision

계산된 분산값에 따라 ray 쿼드 생성 여부를 결정합니다.

Low Variance
쿼드가 그림자 내부 또는 외부에 완전히 포함되어 있습니다. 샘플 값들이 균일하여 경계 신호가 없습니다.
variance ≈ 0
아무 것도 그리지 않음
High Variance
쿼드가 그림자 경계부에 걸쳐 있습니다. 샘플 값들이 혼재하여 빛과 그림자가 교차하는 지점임을 나타냅니다.
variance ↑ 높음
ray 쿼드 생성 →
5
Ray 쿼드 생성Ray Quad Generation

분산이 높은 후보 쿼드 위치에서 광원 방향으로 뻗는 ray 쿼드를 생성합니다. 쿼드의 방향은 현재 주광(Directional)의 방향 벡터를 기반으로 산출합니다.

Directional Light World Space
6
Additive 블렌딩Additive Blending

생성된 ray 쿼드에 additive 블렌딩을 적용하여 렌더합니다. 여러 ray 쿼드가 중첩될수록 빛이 밝게 누적되어 자연스러운 회절 중첩 효과가 나타납니다.

SrcBlend = One, DstBlend = One
중첩된 ray 쿼드의 색상이 선형 가산됩니다. 틈새가 좁을수록 경계부 쿼드가 밀집되어 자동으로 더 밝은 godray가 형성됩니다.