SlideShare a Scribd company logo
1 of 72
Texturering & Modeling
                 a Procedual Approach



               김정근
Chapter 18
ATMOSPHERIC MODELS
Agenda
                                        Introduction

                  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 Error
                        For General Radial GADDs

                                         conclusion
                                                   3
Introduction

Rendering realistic atmospheric effects

         Scattering            (GADD)

          Models               models

                   Numerical

             integration schemes
                                        4
Introduction

 Spherical Planetary Atmospheres
 Integration schemes


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

                                   5
Introduction

 행성의 대기의 렌더맨 구현

 Bounded numerical error
 General GADD integration scheme




                                   6
Introduction

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


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




                                                  7
Introduction




               8
Introduction
풍경 화가는

    거리에 따른 Contrast의 손실

           Bluing

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

                          9
Introduction

 빛의 대기 산란

                  Rayleigh and
         Mie scattering models


                                 10
Introduction
Efficiency of light scattering
대기의 밀도에 의해 어느정도 조절되며 다음에는 공간적으로 다르며 이 변화는 오직 고도만은 아님
고도는 행성의 중심으로부터 반지름의 함수이며 가장 큰 규모의 대기는 행성 주위에서 곡선이어야함


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

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



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

                                                       11
Introduction

 “Surface of a Planet”
    “빛의 범위로 정의된 모든 optical path는
        두 표면의 교차로부터 유한,
        흡수하거나 또는 분산되며
    또는 행성의 곡률로 인해 대기는 종료된
               다”
                                   12
Introduction
   “GADD의 공간적 분포는 규모의 함수로의
         정확성에 영향을 미침”


   “Homogeneous GADD는 작은 규모에서
       정확하며 중간 규모의 모델은
   아마도 높이의 밀도안에서의 변화를 고려”

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

                                13
Introduction


   “대기 구조의 진정한 복잡성을
      모델링을 하는 것은
    비실용적인것으로 남아있다”



                      14
Introduction

   “로컬 그리고 글로벌 GADD 모델
         양쪽을 묘사”
     로컬 GADD 모델은 분석적으로 통합(아마도 )

     글로벌 GADD 함수에 수치통합 방식을 설
     명




                                  15
Introduction

  “또한 레일리 산란의 최소한의 근사
      값 계산하는 것이 좋다”
     nonphysical이 있지만,이 모델은 실제 모델의 불필요한
     분쟁없이 공기 원근법의 예술적으로 충분한 모델을 생산



   “여기에 제시된 모델은 실제 모델 아니지만,
           어떤 경우에는
    발표된 물리적 모델 이상의 개선의 의미”


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




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

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




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


 광원으로부터의 직접광의 방향이 바뀌면서 산란되어 (단일 스케
 터링임을 의미함), Optical Path 안으로 진입하고, 사람의 눈으로
 들어온다.
 optical path 내에서 빛의 방향이 바뀌어 out scattering도 사람 눈
 으로 들어온다
 그리고 path 를 따라 흡수와 바깥으로 산란되어 계속 누적되다
 보면 결국 남아있는 게 없으니 자연소멸


                                                    18
Beer's Law
and Homogeneous Fog

     “빛줄기가 optical path 를 지나가면서, 일부 빛
     은 소멸되버리고 일부 빛은 방출 및 / 또는 산란
            에 보태어질 수 있다.”


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



                          우리는 여기서 오직 대기만 설명한다.
                       예를 들어 유리, 물, 연기, 불꽃, 구름 등등은
                                 일반적 참여매체가 아니다.

                                                 19
Beer's Law
and Homogeneous Fog

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




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




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


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



                                                                20
Beer's Law
and Homogeneous Fog


        다음과 같이 정의




                      21
Beer's Law
and Homogeneous Fog

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




    투명도




                                       22
Beer's Law
and Homogeneous Fog
    homogeneous 이면서 isotropic GADD인 경우
    (즉, σ 가 constant 인 경우), σ = c 가 된다.




   이러한 homogeneous fog는 렌더러들에
        서 꽤 대중적으로 사용
   간단하게 구현할 수 있어 효율적이면서도 물리적으로 정확한 스캐터링 모델이기때문




                                                 23
Beer's Law
and Homogeneous Fog

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




                                  24
Beer's Law
and Homogeneous Fog

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

         σ 를 적분하여 τ 값을 얻은 후,
  Beer의 법칙을 사용해, 주어진 스캐터링 모델에
      맞게 정확하게 진짜 대기효과를 계산

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



 고도(Lynch 1991)와 함께 대기 광학 밀도도
 지수함수형태로 값이 변하는 것으로 알려져
 있어, 자연을 부분적으로 충실하게 표현하
           는 특징을 가진다

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




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



                                       27
Exponential Mist




                   28
Exponential Mist
 통합된 분석을 이용하여




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




 “Ray의 Normaize Vector의 z 값이 아주 작다는 건 방향 벡터 높이값
         이 거의 0이니깐 수평한 방향의 Ray가 될것임"
                                                  29
Exponential Mist
 ray 들도 거의 수평에 가깝게 되는데 이렇게 표현
 해볼 수 있다.




 이 GADD는 수평 Ray를 위해 무한한 optical paths를 가지며 이러한 광선의
 optical path는 궁극적으로 렌더러에서 무한을 유한한 수치로 표현함으로써 제
 한
 이 값은 통합의 양을 제한하기 위해 다양한 값으로 변경될 수 있다.



                                                     30
A Radially Symmetric
Planetary Atmosphere

  “앞서 optical path가 무한하다고 언급했기 때문에,
 중점으로부터 반지름를 가진 exponential 하게 변하는
    GADD 는 스케일이 클수록 보다 더 리얼하다.”




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

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




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

                                                   32
A Radially Symmetric
Planetary Atmosphere
  이 r 에 대한 함수와 σ 를 가지고 앞서 계산했던




  대신에




  간단한 Radial GADD 는



                                 33
A Radially Symmetric
Planetary Atmosphere
   이 함수는 닫힌 형태에서는 적분할 수 없지
   만,




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




                                         34
A Radially Symmetric
Planetary Atmosphere
 다음과 같이 파라미터화




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




                                       35
A Radially Symmetric
Planetary Atmosphere




                       36
A Radially Symmetric
 Planetary Atmosphere
     이 GADD 를 적분




                                    GADD 의 원점을
Ray 의 원점을 가        unit direction   가리키는 벡터
리키는 벡터

                                                 37
A Radially Symmetric
Planetary Atmosphere



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




                       38
A Radially Symmetric
Planetary Atmosphere

 GADD σ=e−r 가 물리적으로
 그럴듯해질수록 이와 같은 수식표현을 줄일수 없
 다 => r 이 t 에 복잡한 의존관계를 가지게 되기때문



                  특히 정확하게 렌더링할 필요가
                       있는 경우에 대해서는
                쌍곡선-2차방정식형태에 딱 맞춰서
             이상적으로 제작된 수치 통합 방법이 필요


                                      39
A Minimal Rayleigh
Scattering Approximation
 레일리 산란중 적어도 첫번째 근사치는 대기의
 적절한 착색을 얻기 위해 필요
 싱글 레일리 산란은 조명 광학경로를 따라 푸른 빛을 추가
 (이것이 왜 하늘이 블루인지이 이유)

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

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



                                                   40
A Minimal Rayleigh
Scattering Approximation
τ(Tau)는 스칼라 값으로 처리
파장 의존 산란에 τ는 파장 λ(Lamda), τ의 독립적 인 값
τ를 갖는 각 λ 샘플을 통한 벡터

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

τ벡터의 각 구성 요소는 베르의 법칙의 표현의 별도 평
가가 필요
시간 복잡도는 λ 샘플 수와 선형으로 다르다.

                                       41
A Minimal Rayleigh
Scattering Approximation
RGB 샘플의 친숙한 3가지

CIE XYZ 색 공간에서 촬영한 샘플의 큰 숫자가 더 정확한 색상을
얻을 수 있다
 우리는 단순히 RGB 벡터에 τ를 확장하는 레일리 산란의 계산을
 최소화하고 시각적으로 기쁘게 근사치를 제공

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

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




     대기의 RGB 색상은 (1.0, 0.65, 0.5) 그리고 = (3.0, 7.5, 60.0).
                                                            43
A Minimal Rayleigh
Scattering Approximation
 대기가 검정색 배경에 대한 파란색이며, 그림 표시 된 바와 같
 이 흰색 배경은 오렌지로 필터링되어 관찰




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




                              45
A Minimal Rayleigh
Scattering Approximation
 최대한 효율적인 렌더링은 간단한 모델을 사용하는 것


             GADD의 수도코드




                                46
Trapezoidal Quadrature of σ = e−r GADD
and Renderman Implementation

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


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

 trapezoidal quadrature 을 제시




                                         47
Trapezoidal Quadrature of σ = e−r GADD
and Renderman Implementation

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




     해발 높이
                            falloff (감쇄)계수




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




                                             48
Trapezoidal Quadrature of σ = e−r GADD
and Renderman Implementation

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

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

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



                                          49
Trapezoidal Quadrature of σ = e−r GADD
and Renderman Implementation



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

 적분결과가 아주 작을 것임이 틀림 없을 때에는
 0 을 return 함으로써
 그런 것들은 reject 시켜 버릴 수 있다.



                                         50
Trapezoidal Quadrature of σ = e−r GADD
and Renderman Implementation


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


                                           51
Trapezoidal Quadrature of σ = e−r GADD
and Renderman Implementation


     주어진 간격의 optical depth는




                           이전의 GADD 밀도 값


Delta = step size
                         현재 GADD 밀도값


                                           52
Trapezoidal Quadrature of σ = e−r GADD
and Renderman Implementation


        미분해서 소거




        그리고 산란



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


          “이러한 미분 값들은 Drebin, Carpenter,
             Hanrahan 와 비슷하게 누적”
                                                      53
Trapezoidal Quadrature of σ = e−r GADD
and Renderman Implementation

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

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

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




                                         54
Trapezoidal Quadrature of σ = e−r GADD
and Renderman Implementation




         비슷한 구조 광원 쉐이더는 아래로 적절하게 소멸해
         서 local 조명을 발생시킨다. raymarched E-R 유성의 대
         기 모델은, RenderMan의 쉐이더로 구현.
                                                   55
Trapezoidal Quadrature of σ = e−r GADD
and Renderman Implementation




                                         56
Trapezoidal Quadrature of σ = e−r GADD
and Renderman Implementation




                                         57
Trapezoidal Quadrature of σ = e−r GADD
and Renderman Implementation




                                         58
Numerical Quadrature with Bounded Error
For General Radial GADDs


   “τ가 렌더링의 모든 ray 을 위해 평가 될 수 있으므로,
   그 계산의 효율성을 필요 적분에 대한 지식은 적합한
          알고리즘을 도출하는 데 사용”


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




                                          59
Numerical Quadrature with Bounded Error
 For General Radial GADDs

     사각형을 작성하여 단순화




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




                                                        60
Numerical Quadrature with Bounded Error
For General Radial GADDs

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

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




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



                                                        61
Numerical Quadrature with Bounded Error
For General Radial GADDs

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



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



                                  이기때문에



         바운드는


                   rc>rmax. 일경우, τ = 0 으로 설정
                                               62
Numerical Quadrature with Bounded Error
For General Radial GADDs

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



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


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




                                             63
Numerical Quadrature with Bounded Error
For General Radial GADDs

                알고리즘의 개요는


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




                                          64
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 을 return

                 바운더리 바깥부분은 다 0 으로 return

                                                                   65
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



                                                       66
Numerical Quadrature with Bounded Error
For General Radial GADDs

                          Step4


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

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




                                                         67
Numerical Quadrature with Bounded Error
For General Radial GADDs
                   Step5

  전체 에러는



  전체 적분 평가는




  만약                       이면 r return

                                          68
Numerical Quadrature with Bounded Error
For General Radial GADDs
                      Step6

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

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


  5번 스텝으로 돌아간다.


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


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

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



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

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




                                             70
Q&A
감사합니다

More Related Content

More from CARROTCG

20120713 ch13
20120713 ch1320120713 ch13
20120713 ch13CARROTCG
 
20120713 ch12
20120713 ch1220120713 ch12
20120713 ch12CARROTCG
 
Procedural synthesis of geometry
Procedural synthesis of geometryProcedural synthesis of geometry
Procedural synthesis of geometryCARROTCG
 
120427 celluar texture
120427 celluar texture120427 celluar texture
120427 celluar textureCARROTCG
 
120413 making noises
120413 making noises120413 making noises
120413 making noisesCARROTCG
 
Texture Modeling a Procedual Approach Chater 2 : Building Procedural Textures
Texture Modeling a Procedual Approach Chater 2 : Building Procedural TexturesTexture Modeling a Procedual Approach Chater 2 : Building Procedural Textures
Texture Modeling a Procedual Approach Chater 2 : Building Procedural TexturesCARROTCG
 
Practical methods for texture design web
Practical methods for texture design webPractical methods for texture design web
Practical methods for texture design webCARROTCG
 
Volumetric cloud modeling with implicit functions web
Volumetric cloud modeling with implicit functions webVolumetric cloud modeling with implicit functions web
Volumetric cloud modeling with implicit functions webCARROTCG
 
Texture Modeling a Procedual Approach #01
Texture Modeling a Procedual Approach #01Texture Modeling a Procedual Approach #01
Texture Modeling a Procedual Approach #01CARROTCG
 
120216 ch 12_creating_elements
120216 ch 12_creating_elements120216 ch 12_creating_elements
120216 ch 12_creating_elementsCARROTCG
 
120119 ch 7_time_and_temporal_manipulations
120119 ch 7_time_and_temporal_manipulations120119 ch 7_time_and_temporal_manipulations
120119 ch 7_time_and_temporal_manipulationsCARROTCG
 
120106 ch 6_matte_creation_and_manipulation_web
120106 ch 6_matte_creation_and_manipulation_web120106 ch 6_matte_creation_and_manipulation_web
120106 ch 6_matte_creation_and_manipulation_webCARROTCG
 
120106 ch 5_basic image compositing_re
120106 ch 5_basic image compositing_re120106 ch 5_basic image compositing_re
120106 ch 5_basic image compositing_reCARROTCG
 
111118 ch 4_basic image manipulation_web
111118 ch 4_basic image manipulation_web111118 ch 4_basic image manipulation_web
111118 ch 4_basic image manipulation_webCARROTCG
 
111028 ch 3_the digital representation of visual information
111028 ch 3_the digital representation of visual information111028 ch 3_the digital representation of visual information
111028 ch 3_the digital representation of visual informationCARROTCG
 
The Art and Science of Digital Compositing Chapter 1,2
The Art and Science of Digital Compositing Chapter 1,2The Art and Science of Digital Compositing Chapter 1,2
The Art and Science of Digital Compositing Chapter 1,2CARROTCG
 

More from CARROTCG (18)

20120824
2012082420120824
20120824
 
20120810
2012081020120810
20120810
 
20120713 ch13
20120713 ch1320120713 ch13
20120713 ch13
 
20120713 ch12
20120713 ch1220120713 ch12
20120713 ch12
 
Procedural synthesis of geometry
Procedural synthesis of geometryProcedural synthesis of geometry
Procedural synthesis of geometry
 
120427 celluar texture
120427 celluar texture120427 celluar texture
120427 celluar texture
 
120413 making noises
120413 making noises120413 making noises
120413 making noises
 
Texture Modeling a Procedual Approach Chater 2 : Building Procedural Textures
Texture Modeling a Procedual Approach Chater 2 : Building Procedural TexturesTexture Modeling a Procedual Approach Chater 2 : Building Procedural Textures
Texture Modeling a Procedual Approach Chater 2 : Building Procedural Textures
 
Practical methods for texture design web
Practical methods for texture design webPractical methods for texture design web
Practical methods for texture design web
 
Volumetric cloud modeling with implicit functions web
Volumetric cloud modeling with implicit functions webVolumetric cloud modeling with implicit functions web
Volumetric cloud modeling with implicit functions web
 
Texture Modeling a Procedual Approach #01
Texture Modeling a Procedual Approach #01Texture Modeling a Procedual Approach #01
Texture Modeling a Procedual Approach #01
 
120216 ch 12_creating_elements
120216 ch 12_creating_elements120216 ch 12_creating_elements
120216 ch 12_creating_elements
 
120119 ch 7_time_and_temporal_manipulations
120119 ch 7_time_and_temporal_manipulations120119 ch 7_time_and_temporal_manipulations
120119 ch 7_time_and_temporal_manipulations
 
120106 ch 6_matte_creation_and_manipulation_web
120106 ch 6_matte_creation_and_manipulation_web120106 ch 6_matte_creation_and_manipulation_web
120106 ch 6_matte_creation_and_manipulation_web
 
120106 ch 5_basic image compositing_re
120106 ch 5_basic image compositing_re120106 ch 5_basic image compositing_re
120106 ch 5_basic image compositing_re
 
111118 ch 4_basic image manipulation_web
111118 ch 4_basic image manipulation_web111118 ch 4_basic image manipulation_web
111118 ch 4_basic image manipulation_web
 
111028 ch 3_the digital representation of visual information
111028 ch 3_the digital representation of visual information111028 ch 3_the digital representation of visual information
111028 ch 3_the digital representation of visual information
 
The Art and Science of Digital Compositing Chapter 1,2
The Art and Science of Digital Compositing Chapter 1,2The Art and Science of Digital Compositing Chapter 1,2
The Art and Science of Digital Compositing Chapter 1,2
 

20120921

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