72
Texturering & Modeling a Procedual Approach 김김김

20120921

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: 20120921

Texturering & Modelinga Procedual Approach

김정근

Page 2: 20120921

Chapter 18

ATMOSPHERIC MODELS

Page 3: 20120921

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

Page 4: 20120921

4

Introduction

Rendering realistic atmospheric effects

Scattering

Models

(GADD)

models

Numerical

integration schemes

Page 5: 20120921

5

Introduction

Spherical Planetary Atmos-pheres Integration schemes

“ 기하학적으로 충실한 Continuous GADD 모델을 소개

Page 6: 20120921

6

Introduction

행성의 대기의 렌더맨 구현

Bounded numerical error General GADD integration scheme

Page 7: 20120921

7

Introduction

Rayleigh Scattering 의 단순한 근사값

“ 이 모델은 nonphysical, ontogenetic 이며 정확한 시뮬레이션 보다통합 이미지 합성에 사용하기 위해 만들어졌다”

“GADDs 및 관련 통합 계획은 하지만 모델의 정확성 강화를 위해물리적 산란 모델에 연결될수 있다”

Page 8: 20120921

8

Introduction

Page 9: 20120921

9

Introduction

거리에 따른 Contrast 의 손실

Bluing

“ 물리적 규모를 나타내는 기본 비주얼 신호”

풍경 화가는

Page 10: 20120921

10

Introduction

빛의 대기 산란

Rayleigh and Mie scattering models

Page 11: 20120921

11

Introduction

Efficiency of light scattering 대기의 밀도에 의해 어느정도 조절되며 다음에는 공간적으로 다르며 이 변화는 오직 고도만은 아님

고도는 행성의 중심으로부터 반지름의 함수이며 가장 큰 규모의 대기는 행성 주위에서 곡선이어야함

대기 밀도 GADD 의 공간적 분포를 설명

Klassen (1987) 의 GADD일정한 밀도의 두 수평 슬랩으로 구성

Nishita (1993) 의 GADD선형으로 보간된 밀도의 동심원 셀을 사용 이러한 모델을 개선하는데 몇몇의

지속적인 GADD 를 제시

Page 12: 20120921

12

Introduction

“Surface of a Planet”

“ 빛의 범위로 정의된 모든 optical path 는

두 표면의 교차로부터 유한 ,흡수하거나 또는 분산되며

또는 행성의 곡률로 인해 대기는 종료된다”

Page 13: 20120921

13

Introduction

“GADD 의 공간적 분포는 규모의 함수로의 정확성에 영향을 미침”

“Homogeneous GADD 는 작은 규모에서 정확하며 중간 규모의 모델은

아마도 높이의 밀도안에서의 변화를 고려”

“Gloal GADD 는 고도의 밀도 그리고 대기의 곡률안에서의 양쪽의 변화를 고려”

Page 14: 20120921

14

Introduction

“ 대기 구조의 진정한 복잡성을 모델링을 하는 것은

비실용적인것으로 남아있다”

Page 15: 20120921

15

Introduction

“ 로컬 그리고 글로벌 GADD 모델 양쪽을 묘사”

로컬 GADD 모델은 분석적으로 통합 (아마도 )글로벌 GADD 함수에 수치통합 방식을 설명

Page 16: 20120921

16

Introduction

“ 또한 레일리 산란의 최소한의 근사값 계산하는 것이 좋다”

nonphysical 이 있지만 , 이 모델은 실제 모델의 불필요한 분쟁없이 공기 원근법의 예술적으로 충분한 모델을 생산

“ 여기에 제시된 모델은 실제 모델 아니지만 , 어떤 경우에는

발표된 물리적 모델 이상의 개선의 의미”

Page 17: 20120921

17

Introduction

Blinn (1982)대기가 모델의 두 개의 별개의 타입이 관계하는 것을 지적 : 산란모델 그리고 밀도 분포모델

이 모델을 위한 통합계획은 세번째 필수 요소 ( Numerical integration schemes ) 를 구성하는 계획

우리의 목표는 가능한 계산을 적게 하면서도 시각적 만족까지 모두 세가지 요소를 해결하는 것

Page 18: 20120921

18

Introduction

“ 토론을 위해”대기를 통과하는 레이의 통로 범위를 optical path 라고 정의

광원으로부터의 직접광의 방향이 바뀌면서 산란되어 ( 단일 스케터링임을 의미함 ), Optical Path 안으로 진입하고 , 사람의 눈으로 들어온다 .

optical path 내에서 빛의 방향이 바뀌어 out scattering 도 사람 눈으로 들어온다

그리고 path 를 따라 흡수와 바깥으로 산란되어 계속 누적되다보면 결국 남아있는 게 없으니 자연소멸

Page 19: 20120921

19

Beer's Law and Homogeneous Fog

Max (1986)이러한 효과를 모두 합한것은 참여 매체의 동작을 물리적으로 설명할수 있다 .

“ 빛줄기가 optical path 를 지나가면서 , 일부 빛은 소멸되버리고 일부 빛은 방출 및 /

또는 산란에 보태어질 수 있다 .”

우리는 여기서 오직 대기만 설명한다 . 예를 들어 유리 , 물 , 연기 , 불꽃 , 구름

등등은 일반적 참여매체가 아니다 .

Page 20: 20120921

20

Beer's Law and Homogeneous Fog

광선의 강도에 따른 대기 효과는 미분 방정식에 의해 설명

3 차원에서의 위치단위길이당 소멸되는 정도

단위길이당 발산하고 산란되어 optical path 로 진입하는 실제 에너지정도를 의미

단위길이당 소멸되는 빛의 양과 산란되서 광합경로로 진입하는 빛의 양을 합친것

Page 21: 20120921

21

Beer's Law and Homogeneous Fog

다음과 같이 정의

까지의 범위에서 길이 t 마다 ray 를 따르는 지표로 삼음

Page 22: 20120921

22

Beer's Law and Homogeneous Fog

“Beer’s law 은 간단한 모델에 물리적인 해법을 제공”

투명도

Page 23: 20120921

23

Beer's Law and Homogeneous Fog

homogeneous 이면서 isotropic GADD 인 경우( 즉 , σ 가 constant 인 경우 ), σ = c 가 된다 .

이러한 homogeneous fog 는 렌더러들에서 꽤 대중적으로 사용

간단하게 구현할 수 있어 효율적이면서도 물리적으로 정확한 스캐터링 모델이기때문

Page 24: 20120921

24

Beer's Law and Homogeneous Fog

간단하게 하기 위해 optical path 을 지나가면서 소멸되는 빛에너지를 1-T 라고

간주1-T intensity 에 크게 영향을 미치는 부분은

앞에서 소개한 미분방정식에서 의 직접적인 결과에 영향을 주는 대기 컬러

Page 25: 20120921

25

Beer's Law and Homogeneous Fog

이 모델들 범주내에서 , 빛이 발산되는 것은 무시 하지만 , 엔지니어가 빛이 흡수되는 것의 비율 σ

을 다양하게 변화 시킬 것

σ 를 적분하여 τ 값을 얻은 후 , Beer 의 법칙을 사용해 , 주어진 스캐터링 모델에

맞게 정확하게 진짜 대기효과를 계산

동일한 성질이 아닌 nonhomogeneous density 모델들을 바탕으로 한 것에 집중

Page 26: 20120921

26

랜드스케이프 렌더링에 쓸만한 GADD 는 로 값이 변하는 밀도 분포를 가져야 한다

Exponential Mist

고도 (Lynch 1991) 와 함께 대기 광학 밀도도 지수함수형태로 값이 변하는

것으로 알려져 있어 , 자연을 부분적으로 충실하게 표현하는 특징을 가진다

Page 27: 20120921

27

Exponential Mist

이 GADD 를 컨트롤 하기위해 다음과 같이 파라미터화 할수 있음

전체 밀도를 제어 고도와 밀도의 감쇄를 제어

Page 28: 20120921

28

Exponential Mist

Page 29: 20120921

29

Exponential Mist

통합된 분석을 이용하여

Ray 의 z축 원점 Ray 의 방향 벡터를 노말라이즈한 벡터의 z 성분

“Ray 의 Normaize Vector 의 z 값이 아주 작다는 건 방향 벡터 높이값이 거의 0 이니깐 수평한 방향의 Ray 가 될것임 "

Page 30: 20120921

30

Exponential Mist

ray 들도 거의 수평에 가깝게 되는데 이렇게 표현해볼 수 있다 .

이 GADD 는 수평 Ray 를 위해 무한한 optical paths 를 가지며 이러한 광선의 optical path 는 궁극적으로 렌더러에서 무한을 유한한 수치로 표현함으로써 제한

이 값은 통합의 양을 제한하기 위해 다양한 값으로 변경될 수 있다 .

Page 31: 20120921

31

A Radially Symmetric Planetary Atmosphere

“ 앞서 optical path 가 무한하다고 언급했기 때문에 ,

중점으로부터 반지름를 가진 exponential 하게 변하는 GADD 는 스케일이 클수록 보다 더 리얼하

다 .”

Page 32: 20120921

32

A Radially Symmetric Planetary Atmosphere

이러한 GADD 에 대해서 , 중점으로부터 반지름은 광선의 궤적을 따르는 위치 t 와 관련이 있다 .

t 위치에서의 반지름 r 을 식으로 표현하면 ,

ray path 에 의해 결정되는 상수값으로 radial fog 의 원점 혹은 중점값

Page 33: 20120921

33

A Radially Symmetric Planetary Atmosphere

이 r 에 대한 함수와 σ 를 가지고 앞서 계산했던

대신에

간단한 Radial GADD 는

Page 34: 20120921

34

A Radially Symmetric Planetary Atmosphere

이 함수는 닫힌 형태에서는 적분할 수 없지만 ,

를 통해 , C 와 FORTRAN 의 math 라이브러리에서 수치적으로 근사화시키는 것은 가능

Page 35: 20120921

35

A Radially Symmetric Planetary Atmosphere

다음과 같이 파라미터화

전체 밀도를 제어 반지름에 따라 점점 감쇄하는 정도를 제어

Page 36: 20120921

36

A Radially Symmetric Planetary Atmosphere

Page 37: 20120921

37

A Radially Symmetric Planetary Atmosphere

이 GADD 를 적분

Ray 의 원점을 가리키는 벡터

GADD 의 원점을 가리키는 벡터

unit direction

Page 38: 20120921

38

A Radially Symmetric Planetary Atmosphere

이 적분을 통해 나온 값은 거의

Page 39: 20120921

39

A Radially Symmetric Planetary Atmosphere

GADD σ=e−r 가 물리적으로 그럴듯해질수록 이와 같은 수식표현을 줄일수 없다

특히 정확하게 렌더링할 필요가 있는 경우에 대해서는

쌍곡선 -2 차방정식형태에 딱 맞춰서 이상적으로 제작된 수치 통합 방법이 필요

=> r 이 t 에 복잡한 의존관계를 가지게 되기때문

Page 40: 20120921

40

A Minimal Rayleigh Scattering Approxima-tion

레일리 산란중 적어도 첫번째 근사치는 대기의 적절한 착색을 얻기 위해 필요

싱글 레일리 산란은 조명 광학경로를 따라 푸른 빛을 추가( 이것이 왜 하늘이 블루인지이 이유 )

Optical Path 를 따라 레일리 아웃 산란은 배경에서 오는 빛을 붉게 한다 ( 예를 들어 석양을 붉게 )

마찬가지로 직접 광속이 산란을 붉게 만드는 것을 가능하게 한다 .( 이 효과는 종종 선라이트를 노란색으로 만드는 것 )

Page 41: 20120921

41

A Minimal Rayleigh Scattering Approxima-tion

τ(Tau) 는 스칼라 값으로 처리

파장 의존 산란에 τ 는 파장 λ(Lamda), τ 의 독립적 인 값 τ 를 갖는 각 λ 샘플을 통한 벡터

레일리 산란의 예를 들어 τ 은 λ−4    의 비례수

τ벡터의 각 구성 요소는 베르의 법칙의 표현의 별도 평가가 필요

시간 복잡도는 λ 샘플 수와 선형으로 다르다 .

Page 42: 20120921

42

A Minimal Rayleigh Scattering Approxima-tion

RGB 샘플의 친숙한 3 가지

CIE XYZ 색 공간에서 촬영한 샘플의 큰 숫자가 더 정확한 색상을 얻을 수 있다

우리는 단순히 RGB 벡터에 τ 를 확장하는 레일리 산란의 계산을 최소화하고 시각적으로 기쁘게 근사치를 제공

광학 경로를 따라 하나의 분산의 올바른 분리 된 수치 통합은 분산에 사용할 수있는 직접 조명의 소멸의 각 샘플에서 계산을 raymarching 이 필요

광학 경로를 따라 레일리산란에 의한 소멸은 노란색 - 갈색 (스모그 색 ) 분위기를 사용하여 추정

Page 43: 20120921

43

A Minimal Rayleigh Scattering Approxima-tion

대기의 RGB 색상은 (1.0, 0.65, 0.5) 그리고 = (3.0, 7.5, 60.0).

Page 44: 20120921

44

A Minimal Rayleigh Scattering Approxima-tion

대기가 검정색 배경에 대한 파란색이며 , 그림 표시 된 바와 같이 흰색 배경은 오렌지로 필터링되어 관찰

Page 45: 20120921

45

A Minimal Rayleigh Scattering Approxima-tion

수평성은 여전히 검은 배경에 흰색으로 나타나는 것을 설명 , 심리적지각의 이유때문에 더 커진다 .

Page 46: 20120921

46

A Minimal Rayleigh Scattering Approxima-tion

최대한 효율적인 렌더링은 간단한 모델을 사용하는 것

GADD 의 수도코드

Page 47: 20120921

47

Trapezoidal Quadrature of σ = e−r GADD and Renderman Implemen-tation

분해해서 적분할수 없는 GADDs 를 구하기위해 우리는 수치적분 (numerical quadrature) 을 개발

구분구적법은 필요한 정밀도에 따라 임의로 정교해질수도 있다

trapezoidal  quadrature 을 제시

Page 48: 20120921

48

Trapezoidal Quadrature of σ = e−r GADD and Renderman Implemen-tation

아마도 가장 정확하고 간단한 방사형 GADD 은

바다 레벨에서 밀도를 변조하는 것

falloff (감쇄 ) 계수해발 높이

Page 49: 20120921

49

Trapezoidal Quadrature of σ = e−r GADD and Renderman Implemen-tation

지수 GADDs 에서 , 밀도와 밀도 변화율은 행성 표면과 가장 가깝다 . 이것은 adaptive step size 를 가진 구분구적법을 의미

Step size 는 σ 의 로컬 크기에 반비례

따라서 밀도와 밀도 변화율이 높은 곳은 , step size 가 작다 밀도가 낮을때 step size 는 비교적 크다 .

Page 50: 20120921

50

Trapezoidal Quadrature of σ = e−r GADD and Renderman Implemen-tation

렌더링 속도를 높이기 위해 ray 가 GADD 중점에 최소거리내에 결코 도달하지 않는다면 ,

적분결과가 아주 작을 것임이 틀림 없을 때에는

0 을 return 함으로써

그런 것들은 reject 시켜 버릴 수 있다 .

Page 51: 20120921

51

Trapezoidal Quadrature of σ = e−r GADD and Renderman Implemen-tation

또한 , 가장 근접한 포인트로부터 앞뒤를 따로따로 통합

밀도가 높아질수록 간격 끝의 step size 를 기준으로 지나치게 큰 step size 를 방지함으로써 정확성을 높임각 step 마다 샘플 지점에서의 GADD 와 조명 모두 샘플링Trapezoidal integration 방식은 GADD 가 샘플들간에 서로 선형적으로 변화한다는 가정을 의미

Page 52: 20120921

52

Trapezoidal Quadrature of σ = e−r GADD and Renderman Implemen-tation

주어진 간격의 optical depth 는

Delta = step size

현재 GADD 밀도값

이전의 GADD 밀도 값

Page 53: 20120921

53

Trapezoidal Quadrature of σ = e−r GADD and Renderman Implemen-tation

미분해서 소거

그리고 산란

샘플 포인트에서 직접광 세기

“ 이러한 미분 값들은 Drebin, Carpen-ter, Hanrahan 와 비슷하게 누적”

Page 54: 20120921

54

Trapezoidal Quadrature of σ = e−r GADD and Renderman Implemen-tation

렌더맨이 구현하는 방식으로 광원이 산 행성 등에 의해 가려질 때 대기는 그림자가 진다 .

Occluding 특징이 작을 수도 있다면 , 새도우의 언더샘플링을 방지하기 위해 스텝사이즈를 적당하게 낮은 상위 바운드를 지정

RenderMan 의 쉐이딩 언어의 볼륨 쉐이더와 같다

Page 55: 20120921

55

Trapezoidal Quadrature of σ = e−r GADD and Renderman Implemen-tation

비슷한 구조 광원 쉐이더는 아래로 적절하게 소멸해서 lo-cal 조명을 발생시킨다 . raymarched E-R 유성의 대기 모델은 , RenderMan 의 쉐이더로 구현 .

Page 56: 20120921

56

Trapezoidal Quadrature of σ = e−r GADD and Renderman Implemen-tation

Page 57: 20120921

57

Trapezoidal Quadrature of σ = e−r GADD and Renderman Implemen-tation

Page 58: 20120921

58

Trapezoidal Quadrature of σ = e−r GADD and Renderman Implemen-tation

Page 59: 20120921

59

Numerical Quadrature with Bounded Error For General Radial GADDs

“τ 가 렌더링의 모든 ray 을 위해 평가 될 수 있으므로 , 그 계산의 효율성을 필요 적분에 대한

지식은 적합한 알고리즘을 도출하는 데 사용”

general radial GADD σ(r(t)) 을 고려하여

Page 60: 20120921

60

Numerical Quadrature with Bounded Error For General Radial GADDs

사각형을 작성하여 단순화

여기서 c 는 radial GADD 중점으로 향하는 ray 가 통과하는 line 상에서제일 가까운 point 에서 r(반지름 ) 값 이 제일 가까운 지점에서

tc index

Page 61: 20120921

61

Numerical Quadrature with Bounded Error For General Radial GADDs

이 TC 는 선상에 놓인 ray 의 범위 바깥에 존재

우리는 s=t−tc 로 치환할수 있으며 정수로 다시 쓰면

적분은 S = 0 에 대해 대칭통합 스트래들의 한계가 0 이면 이것과 대칭되는 나머지 반에 대한 수치 통합의 작업을 줄일수 있다

Page 62: 20120921

62

Numerical Quadrature with Bounded Error For General Radial GADDs

“ 또한 대기 경계반경을 지정할수 있다 . 즉 무한 옵티컬 패스의 적분은 궁극적으로 0 의 휘도값이 매핑된다”

우리는 rmax. 로 이범위를 지정할수 있다 .

이기때문에

바운드는

rc>rmax. 일경우 , τ = 0 으로 설정

Page 63: 20120921

63

Numerical Quadrature with Bounded Error For General Radial GADDs

“ 궁극적으로 양자화 휘도 샘플을 계산하는 데 사용되는 투명 값을 계산”

8bit 양자화를 들어 오차범위 미만의 e−r     의 오류는 미미한 것들

대칭 적분과 높은 오류 허용 tolerance 는 specialized adaptive 통합 루틴을 허용

Page 64: 20120921

64

Numerical Quadrature with Bounded Error For General Radial GADDs

알고리즘의 개요는

반지름만 줄어들고있는 어떤 radial GADD 에 대해서 , 보장된 영역 평가값을 return

Page 65: 20120921

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

Page 66: 20120921

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

Page 67: 20120921

67

Numerical Quadrature with Bounded Error For General Radial GADDs

Step4

왼쪽 오른쪽 각각의 영역 바운드에서 시그마값을 계산하라 ;그리고 R 시그마 l, R 시그마 r 이라고 라벨을 붙인다 .

해당 영역에서 제일큰 R 시그마 r 에러는 |.....|Rw 이다 .해당 영역의 적분 R 에 대한 trapezoidal 평가 1/2(...)(Rr-Rl)

이다 .

Page 68: 20120921

68

Numerical Quadrature with Bounded Error For General Radial GADDs

Step5

전체 에러는

전체 적분 평가는

만약 이면 r return

Page 69: 20120921

69

Numerical Quadrature with Bounded Error For General Radial GADDs

Step6

에러는 가장 높은 에러 평가를 가진 영역을 찾아라 .

영역을 2 등분해라 ; 시그마 평가는 한번만 수행 양쪽 새로운 영역에 대해 모두 적분과 에러평가를 계산

5 번 스텝으로 돌아간다 .

한번에 몇몇 영역을 분할하는 방식의 이 알고리즘의 막강한 수정은 에러체크 수행횟수를

줄이고 Simpson 의 적분규칙을 사용

Page 70: 20120921

70

Conclusion

GADD 모델의 충실도를 증가한 모델

Ambient/ Diffuse/ Specular   표면 조명 모델에 필적하는데 충실한 수준에서 Rayleigh scattering model 을 제안매우 nonphysical 하지만 간단하고 직관적이며 유용한

이미지 통합에서 이 모델의 성공적인 사용을 설명

단순함 ( 오캄의 면도날 ) 으로 추천일부는 리얼타임 그래픽 시스템의 하드웨어 구현의 후보로 쓸수 있을만큼 간단함

Page 71: 20120921

Q & A

Page 72: 20120921

감사합니다