Texturering & Modelinga Procedual Approach
김정근
Chapter 18
ATMOSPHERIC MODELS
3
AgendaIntroduction
Beer's Law and Homogeneous Fog
Exponential Mist
A Radially Symmetric Planetary Atmosphere
A Minimal Rayleigh Scattering Approximation
Trapezoidal Quadrature of σ = e−r GADD and Renderman Implementation
Numerical Quadrature with Bounded ErrorFor General Radial GADDs
conclusion
4
Introduction
Rendering realistic atmospheric effects
Scattering
Models
(GADD)
models
Numerical
integration schemes
5
Introduction
Spherical Planetary Atmos-pheres Integration schemes
“ 기하학적으로 충실한 Continuous GADD 모델을 소개
6
Introduction
행성의 대기의 렌더맨 구현
Bounded numerical error General GADD integration scheme
7
Introduction
Rayleigh Scattering 의 단순한 근사값
“ 이 모델은 nonphysical, ontogenetic 이며 정확한 시뮬레이션 보다통합 이미지 합성에 사용하기 위해 만들어졌다”
“GADDs 및 관련 통합 계획은 하지만 모델의 정확성 강화를 위해물리적 산란 모델에 연결될수 있다”
8
Introduction
9
Introduction
거리에 따른 Contrast 의 손실
Bluing
“ 물리적 규모를 나타내는 기본 비주얼 신호”
풍경 화가는
10
Introduction
빛의 대기 산란
Rayleigh and Mie scattering models
11
Introduction
Efficiency of light scattering 대기의 밀도에 의해 어느정도 조절되며 다음에는 공간적으로 다르며 이 변화는 오직 고도만은 아님
고도는 행성의 중심으로부터 반지름의 함수이며 가장 큰 규모의 대기는 행성 주위에서 곡선이어야함
대기 밀도 GADD 의 공간적 분포를 설명
Klassen (1987) 의 GADD일정한 밀도의 두 수평 슬랩으로 구성
Nishita (1993) 의 GADD선형으로 보간된 밀도의 동심원 셀을 사용 이러한 모델을 개선하는데 몇몇의
지속적인 GADD 를 제시
12
Introduction
“Surface of a Planet”
“ 빛의 범위로 정의된 모든 optical path 는
두 표면의 교차로부터 유한 ,흡수하거나 또는 분산되며
또는 행성의 곡률로 인해 대기는 종료된다”
13
Introduction
“GADD 의 공간적 분포는 규모의 함수로의 정확성에 영향을 미침”
“Homogeneous GADD 는 작은 규모에서 정확하며 중간 규모의 모델은
아마도 높이의 밀도안에서의 변화를 고려”
“Gloal GADD 는 고도의 밀도 그리고 대기의 곡률안에서의 양쪽의 변화를 고려”
14
Introduction
“ 대기 구조의 진정한 복잡성을 모델링을 하는 것은
비실용적인것으로 남아있다”
15
Introduction
“ 로컬 그리고 글로벌 GADD 모델 양쪽을 묘사”
로컬 GADD 모델은 분석적으로 통합 (아마도 )글로벌 GADD 함수에 수치통합 방식을 설명
16
Introduction
“ 또한 레일리 산란의 최소한의 근사값 계산하는 것이 좋다”
nonphysical 이 있지만 , 이 모델은 실제 모델의 불필요한 분쟁없이 공기 원근법의 예술적으로 충분한 모델을 생산
“ 여기에 제시된 모델은 실제 모델 아니지만 , 어떤 경우에는
발표된 물리적 모델 이상의 개선의 의미”
17
Introduction
Blinn (1982)대기가 모델의 두 개의 별개의 타입이 관계하는 것을 지적 : 산란모델 그리고 밀도 분포모델
이 모델을 위한 통합계획은 세번째 필수 요소 ( Numerical integration schemes ) 를 구성하는 계획
우리의 목표는 가능한 계산을 적게 하면서도 시각적 만족까지 모두 세가지 요소를 해결하는 것
18
Introduction
“ 토론을 위해”대기를 통과하는 레이의 통로 범위를 optical path 라고 정의
광원으로부터의 직접광의 방향이 바뀌면서 산란되어 ( 단일 스케터링임을 의미함 ), Optical Path 안으로 진입하고 , 사람의 눈으로 들어온다 .
optical path 내에서 빛의 방향이 바뀌어 out scattering 도 사람 눈으로 들어온다
그리고 path 를 따라 흡수와 바깥으로 산란되어 계속 누적되다보면 결국 남아있는 게 없으니 자연소멸
19
Beer's Law and Homogeneous Fog
Max (1986)이러한 효과를 모두 합한것은 참여 매체의 동작을 물리적으로 설명할수 있다 .
“ 빛줄기가 optical path 를 지나가면서 , 일부 빛은 소멸되버리고 일부 빛은 방출 및 /
또는 산란에 보태어질 수 있다 .”
우리는 여기서 오직 대기만 설명한다 . 예를 들어 유리 , 물 , 연기 , 불꽃 , 구름
등등은 일반적 참여매체가 아니다 .
20
Beer's Law and Homogeneous Fog
광선의 강도에 따른 대기 효과는 미분 방정식에 의해 설명
3 차원에서의 위치단위길이당 소멸되는 정도
단위길이당 발산하고 산란되어 optical path 로 진입하는 실제 에너지정도를 의미
단위길이당 소멸되는 빛의 양과 산란되서 광합경로로 진입하는 빛의 양을 합친것
21
Beer's Law and Homogeneous Fog
다음과 같이 정의
까지의 범위에서 길이 t 마다 ray 를 따르는 지표로 삼음
22
Beer's Law and Homogeneous Fog
“Beer’s law 은 간단한 모델에 물리적인 해법을 제공”
투명도
23
Beer's Law and Homogeneous Fog
homogeneous 이면서 isotropic GADD 인 경우( 즉 , σ 가 constant 인 경우 ), σ = c 가 된다 .
이러한 homogeneous fog 는 렌더러들에서 꽤 대중적으로 사용
간단하게 구현할 수 있어 효율적이면서도 물리적으로 정확한 스캐터링 모델이기때문
24
Beer's Law and Homogeneous Fog
간단하게 하기 위해 optical path 을 지나가면서 소멸되는 빛에너지를 1-T 라고
간주1-T intensity 에 크게 영향을 미치는 부분은
앞에서 소개한 미분방정식에서 의 직접적인 결과에 영향을 주는 대기 컬러
25
Beer's Law and Homogeneous Fog
이 모델들 범주내에서 , 빛이 발산되는 것은 무시 하지만 , 엔지니어가 빛이 흡수되는 것의 비율 σ
을 다양하게 변화 시킬 것
σ 를 적분하여 τ 값을 얻은 후 , Beer 의 법칙을 사용해 , 주어진 스캐터링 모델에
맞게 정확하게 진짜 대기효과를 계산
동일한 성질이 아닌 nonhomogeneous density 모델들을 바탕으로 한 것에 집중
26
랜드스케이프 렌더링에 쓸만한 GADD 는 로 값이 변하는 밀도 분포를 가져야 한다
Exponential Mist
고도 (Lynch 1991) 와 함께 대기 광학 밀도도 지수함수형태로 값이 변하는
것으로 알려져 있어 , 자연을 부분적으로 충실하게 표현하는 특징을 가진다
27
Exponential Mist
이 GADD 를 컨트롤 하기위해 다음과 같이 파라미터화 할수 있음
전체 밀도를 제어 고도와 밀도의 감쇄를 제어
28
Exponential Mist
29
Exponential Mist
통합된 분석을 이용하여
Ray 의 z축 원점 Ray 의 방향 벡터를 노말라이즈한 벡터의 z 성분
“Ray 의 Normaize Vector 의 z 값이 아주 작다는 건 방향 벡터 높이값이 거의 0 이니깐 수평한 방향의 Ray 가 될것임 "
30
Exponential Mist
ray 들도 거의 수평에 가깝게 되는데 이렇게 표현해볼 수 있다 .
이 GADD 는 수평 Ray 를 위해 무한한 optical paths 를 가지며 이러한 광선의 optical path 는 궁극적으로 렌더러에서 무한을 유한한 수치로 표현함으로써 제한
이 값은 통합의 양을 제한하기 위해 다양한 값으로 변경될 수 있다 .
31
A Radially Symmetric Planetary Atmosphere
“ 앞서 optical path 가 무한하다고 언급했기 때문에 ,
중점으로부터 반지름를 가진 exponential 하게 변하는 GADD 는 스케일이 클수록 보다 더 리얼하
다 .”
32
A Radially Symmetric Planetary Atmosphere
이러한 GADD 에 대해서 , 중점으로부터 반지름은 광선의 궤적을 따르는 위치 t 와 관련이 있다 .
t 위치에서의 반지름 r 을 식으로 표현하면 ,
ray path 에 의해 결정되는 상수값으로 radial fog 의 원점 혹은 중점값
33
A Radially Symmetric Planetary Atmosphere
이 r 에 대한 함수와 σ 를 가지고 앞서 계산했던
대신에
간단한 Radial GADD 는
34
A Radially Symmetric Planetary Atmosphere
이 함수는 닫힌 형태에서는 적분할 수 없지만 ,
를 통해 , C 와 FORTRAN 의 math 라이브러리에서 수치적으로 근사화시키는 것은 가능
35
A Radially Symmetric Planetary Atmosphere
다음과 같이 파라미터화
전체 밀도를 제어 반지름에 따라 점점 감쇄하는 정도를 제어
36
A Radially Symmetric Planetary Atmosphere
37
A Radially Symmetric Planetary Atmosphere
이 GADD 를 적분
Ray 의 원점을 가리키는 벡터
GADD 의 원점을 가리키는 벡터
unit direction
38
A Radially Symmetric Planetary Atmosphere
이 적분을 통해 나온 값은 거의
39
A Radially Symmetric Planetary Atmosphere
GADD σ=e−r 가 물리적으로 그럴듯해질수록 이와 같은 수식표현을 줄일수 없다
특히 정확하게 렌더링할 필요가 있는 경우에 대해서는
쌍곡선 -2 차방정식형태에 딱 맞춰서 이상적으로 제작된 수치 통합 방법이 필요
=> r 이 t 에 복잡한 의존관계를 가지게 되기때문
40
A Minimal Rayleigh Scattering Approxima-tion
레일리 산란중 적어도 첫번째 근사치는 대기의 적절한 착색을 얻기 위해 필요
싱글 레일리 산란은 조명 광학경로를 따라 푸른 빛을 추가( 이것이 왜 하늘이 블루인지이 이유 )
Optical Path 를 따라 레일리 아웃 산란은 배경에서 오는 빛을 붉게 한다 ( 예를 들어 석양을 붉게 )
마찬가지로 직접 광속이 산란을 붉게 만드는 것을 가능하게 한다 .( 이 효과는 종종 선라이트를 노란색으로 만드는 것 )
41
A Minimal Rayleigh Scattering Approxima-tion
τ(Tau) 는 스칼라 값으로 처리
파장 의존 산란에 τ 는 파장 λ(Lamda), τ 의 독립적 인 값 τ 를 갖는 각 λ 샘플을 통한 벡터
레일리 산란의 예를 들어 τ 은 λ−4 의 비례수
τ벡터의 각 구성 요소는 베르의 법칙의 표현의 별도 평가가 필요
시간 복잡도는 λ 샘플 수와 선형으로 다르다 .
42
A Minimal Rayleigh Scattering Approxima-tion
RGB 샘플의 친숙한 3 가지
CIE XYZ 색 공간에서 촬영한 샘플의 큰 숫자가 더 정확한 색상을 얻을 수 있다
우리는 단순히 RGB 벡터에 τ 를 확장하는 레일리 산란의 계산을 최소화하고 시각적으로 기쁘게 근사치를 제공
광학 경로를 따라 하나의 분산의 올바른 분리 된 수치 통합은 분산에 사용할 수있는 직접 조명의 소멸의 각 샘플에서 계산을 raymarching 이 필요
광학 경로를 따라 레일리산란에 의한 소멸은 노란색 - 갈색 (스모그 색 ) 분위기를 사용하여 추정
43
A Minimal Rayleigh Scattering Approxima-tion
대기의 RGB 색상은 (1.0, 0.65, 0.5) 그리고 = (3.0, 7.5, 60.0).
44
A Minimal Rayleigh Scattering Approxima-tion
대기가 검정색 배경에 대한 파란색이며 , 그림 표시 된 바와 같이 흰색 배경은 오렌지로 필터링되어 관찰
45
A Minimal Rayleigh Scattering Approxima-tion
수평성은 여전히 검은 배경에 흰색으로 나타나는 것을 설명 , 심리적지각의 이유때문에 더 커진다 .
46
A Minimal Rayleigh Scattering Approxima-tion
최대한 효율적인 렌더링은 간단한 모델을 사용하는 것
GADD 의 수도코드
47
Trapezoidal Quadrature of σ = e−r GADD and Renderman Implemen-tation
분해해서 적분할수 없는 GADDs 를 구하기위해 우리는 수치적분 (numerical quadrature) 을 개발
구분구적법은 필요한 정밀도에 따라 임의로 정교해질수도 있다
trapezoidal quadrature 을 제시
48
Trapezoidal Quadrature of σ = e−r GADD and Renderman Implemen-tation
아마도 가장 정확하고 간단한 방사형 GADD 은
바다 레벨에서 밀도를 변조하는 것
falloff (감쇄 ) 계수해발 높이
49
Trapezoidal Quadrature of σ = e−r GADD and Renderman Implemen-tation
지수 GADDs 에서 , 밀도와 밀도 변화율은 행성 표면과 가장 가깝다 . 이것은 adaptive step size 를 가진 구분구적법을 의미
Step size 는 σ 의 로컬 크기에 반비례
따라서 밀도와 밀도 변화율이 높은 곳은 , step size 가 작다 밀도가 낮을때 step size 는 비교적 크다 .
50
Trapezoidal Quadrature of σ = e−r GADD and Renderman Implemen-tation
렌더링 속도를 높이기 위해 ray 가 GADD 중점에 최소거리내에 결코 도달하지 않는다면 ,
적분결과가 아주 작을 것임이 틀림 없을 때에는
0 을 return 함으로써
그런 것들은 reject 시켜 버릴 수 있다 .
51
Trapezoidal Quadrature of σ = e−r GADD and Renderman Implemen-tation
또한 , 가장 근접한 포인트로부터 앞뒤를 따로따로 통합
밀도가 높아질수록 간격 끝의 step size 를 기준으로 지나치게 큰 step size 를 방지함으로써 정확성을 높임각 step 마다 샘플 지점에서의 GADD 와 조명 모두 샘플링Trapezoidal integration 방식은 GADD 가 샘플들간에 서로 선형적으로 변화한다는 가정을 의미
52
Trapezoidal Quadrature of σ = e−r GADD and Renderman Implemen-tation
주어진 간격의 optical depth 는
Delta = step size
현재 GADD 밀도값
이전의 GADD 밀도 값
53
Trapezoidal Quadrature of σ = e−r GADD and Renderman Implemen-tation
미분해서 소거
그리고 산란
샘플 포인트에서 직접광 세기
“ 이러한 미분 값들은 Drebin, Carpen-ter, Hanrahan 와 비슷하게 누적”
54
Trapezoidal Quadrature of σ = e−r GADD and Renderman Implemen-tation
렌더맨이 구현하는 방식으로 광원이 산 행성 등에 의해 가려질 때 대기는 그림자가 진다 .
Occluding 특징이 작을 수도 있다면 , 새도우의 언더샘플링을 방지하기 위해 스텝사이즈를 적당하게 낮은 상위 바운드를 지정
RenderMan 의 쉐이딩 언어의 볼륨 쉐이더와 같다
55
Trapezoidal Quadrature of σ = e−r GADD and Renderman Implemen-tation
비슷한 구조 광원 쉐이더는 아래로 적절하게 소멸해서 lo-cal 조명을 발생시킨다 . raymarched E-R 유성의 대기 모델은 , RenderMan 의 쉐이더로 구현 .
56
Trapezoidal Quadrature of σ = e−r GADD and Renderman Implemen-tation
57
Trapezoidal Quadrature of σ = e−r GADD and Renderman Implemen-tation
58
Trapezoidal Quadrature of σ = e−r GADD and Renderman Implemen-tation
59
Numerical Quadrature with Bounded Error For General Radial GADDs
“τ 가 렌더링의 모든 ray 을 위해 평가 될 수 있으므로 , 그 계산의 효율성을 필요 적분에 대한
지식은 적합한 알고리즘을 도출하는 데 사용”
general radial GADD σ(r(t)) 을 고려하여
60
Numerical Quadrature with Bounded Error For General Radial GADDs
사각형을 작성하여 단순화
여기서 c 는 radial GADD 중점으로 향하는 ray 가 통과하는 line 상에서제일 가까운 point 에서 r(반지름 ) 값 이 제일 가까운 지점에서
tc index
61
Numerical Quadrature with Bounded Error For General Radial GADDs
이 TC 는 선상에 놓인 ray 의 범위 바깥에 존재
우리는 s=t−tc 로 치환할수 있으며 정수로 다시 쓰면
적분은 S = 0 에 대해 대칭통합 스트래들의 한계가 0 이면 이것과 대칭되는 나머지 반에 대한 수치 통합의 작업을 줄일수 있다
62
Numerical Quadrature with Bounded Error For General Radial GADDs
“ 또한 대기 경계반경을 지정할수 있다 . 즉 무한 옵티컬 패스의 적분은 궁극적으로 0 의 휘도값이 매핑된다”
우리는 rmax. 로 이범위를 지정할수 있다 .
이기때문에
바운드는
rc>rmax. 일경우 , τ = 0 으로 설정
63
Numerical Quadrature with Bounded Error For General Radial GADDs
“ 궁극적으로 양자화 휘도 샘플을 계산하는 데 사용되는 투명 값을 계산”
8bit 양자화를 들어 오차범위 미만의 e−r 의 오류는 미미한 것들
대칭 적분과 높은 오류 허용 tolerance 는 specialized adaptive 통합 루틴을 허용
64
Numerical Quadrature with Bounded Error For General Radial GADDs
알고리즘의 개요는
반지름만 줄어들고있는 어떤 radial GADD 에 대해서 , 보장된 영역 평가값을 return
65
Numerical Quadrature with Bounded Error For General Radial GADDs
Step1
Rc 까지의 최단거리와 rc 에서의 ray 인덱스 tc 를 계산
Step2
만약 rc > rmax 이면 , 0 을 return, radial 제거 바운드는
만약 sm > tc 이면 , 0 을 return, a 와 b 를 합친 바운드를 계산a = -min(tc,sm); b = -min(te-tc,sm); 만약 b<-sm 이면 0 을 re-
turn바운더리 바깥부분은 다 0 으로 return
66
Numerical Quadrature with Bounded Error For General Radial GADDs
Step3
만약 a<0 그리고 b>0 라면 영역을 둘로 나눠 정의R[1] 영역은 left 바운드 Rl[1] = 0,
right 바운드 Rr[1] = min(-a,b) weight 값 2.0 인 Rw
R[2] 영역은 left 바운드 Rl[2] = min(-a,b)right 바운드는 Rr[2] = max(-a,b) weight 값 1.0 인 Rw
그렇지 않다면 , 영역을 하나로 Rl = a, Rr = b, Rw=1.0
67
Numerical Quadrature with Bounded Error For General Radial GADDs
Step4
왼쪽 오른쪽 각각의 영역 바운드에서 시그마값을 계산하라 ;그리고 R 시그마 l, R 시그마 r 이라고 라벨을 붙인다 .
해당 영역에서 제일큰 R 시그마 r 에러는 |.....|Rw 이다 .해당 영역의 적분 R 에 대한 trapezoidal 평가 1/2(...)(Rr-Rl)
이다 .
68
Numerical Quadrature with Bounded Error For General Radial GADDs
Step5
전체 에러는
전체 적분 평가는
만약 이면 r return
69
Numerical Quadrature with Bounded Error For General Radial GADDs
Step6
에러는 가장 높은 에러 평가를 가진 영역을 찾아라 .
영역을 2 등분해라 ; 시그마 평가는 한번만 수행 양쪽 새로운 영역에 대해 모두 적분과 에러평가를 계산
5 번 스텝으로 돌아간다 .
한번에 몇몇 영역을 분할하는 방식의 이 알고리즘의 막강한 수정은 에러체크 수행횟수를
줄이고 Simpson 의 적분규칙을 사용
70
Conclusion
GADD 모델의 충실도를 증가한 모델
Ambient/ Diffuse/ Specular 표면 조명 모델에 필적하는데 충실한 수준에서 Rayleigh scattering model 을 제안매우 nonphysical 하지만 간단하고 직관적이며 유용한
이미지 통합에서 이 모델의 성공적인 사용을 설명
단순함 ( 오캄의 면도날 ) 으로 추천일부는 리얼타임 그래픽 시스템의 하드웨어 구현의 후보로 쓸수 있을만큼 간단함
Q & A
감사합니다