Texture Modeling a Procedual Approach #01

1,408 views

Published on

0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,408
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
23
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Texture Modeling a Procedual Approach #01

  1. 1. Texturering & Modeling a Procedual Approach 김정근
  2. 2. Agenda INTRODUCTION – PROCEDURAL TECHNIQUES AND COMPUTER GRAPHICS • What Is a Procedural Technique? • The Power of Procedural Techniques – PROCEDURAL TECHNIQUES AND ADVANCED GEOMETRIC MODELING BUILDING PROCEDURAL Textures – INTRODUCTION • Texture • Procedural Texture • Procedural versus Nonprocedural • Implicit and Explicit Procedures • Advantages of Procedural Texture • Disadvantages of Procedural Texture • The RenderMan Shading Language • What If You Don’t Use RenderMan? 2
  3. 3. Chapter 1Introduction
  4. 4. Procedural Techniques and Computer Graphics 역사적 흐름 – 컴퓨터 그래픽의 역사와 함께 사용 – 1980 년대 중반에서 후반 동안 • 현실적인 질감(나무, 돌, 대리석 등)을 표현 • 물, 연기, 증기, 행성 – 렌더맨의 Shading언어의 개발로 절차적 기법의 사용이 확대 – 현재 대부분의 상용 렌더링 및 애니메이션 시스템은 절차적 인터페이스도 제공 4
  5. 5. Procedural Techniques and Computer Graphics Programmable 강력한 CPU Graphics Processors 인터렉티브하고 복잡한 절차적 모델과 효과를 구상하고 실현할 수 있는 시대 5
  6. 6. What Is a Procedural Technique?컴퓨터가 만든 모델이나 효과의 일부 특성을 지정하는 코드 세그먼트 또는 알고리즘 6
  7. 7. What Is a Procedural Technique? 7
  8. 8. What Is a Procedural Technique? 8
  9. 9. The Power of Procedural Techniques Abstraction (추상화) 9
  10. 10. The Power of Procedural Techniques 10
  11. 11. The Power of Procedural Techniques 11
  12. 12. The Power of Procedural Techniques 12
  13. 13. The Power of Procedural Techniques 추상화가 가능하다 – 적재적소에 만들어진 함수나 알고리즘을 평가한다. 데이터를 줄일 수 있다 – 디테일이 명시적 이진 않지만 암시적으로 절차적인 데이터를 얻을 수 있다 파라미터를 컨트롤 할 수 있다 – 파라미터의 추가로 디테일에 양을 늘릴 수 있다 절차적 기술에 내제하는 뜻밖의 재미를 얻을 수 있다 – 예기치 않은 동작 절차, 확률적 과정 유연성을 제공한다 – 물리학의 복잡한 법률에 제약되지 않고도 제작할 수 있다 정확한 예술적인 효과를 자연 법칙을 시뮬레이션하여 제작할 수 있다 13
  14. 14. Procedural Techniques and Advanced Geometric Modeling advanced geometric modeling은 본질적으로 절차적 Grammar-based models, graftals, L-systems 등 복잡한 모델을 시뮬레이션 할때 파라 미터 규격을 가짐 Implicit surface models (Meta-balls, Soft Object 등) 은 전통적인 기법으로 설명하기 어려운 물체 – electron density clouds의 이미지를 생성하기 위해 Blinn에 의해 도입 – parametric surfaces보다 soft objects를 모델링하거나 애니메이팅할때 뛰어 난 유연성을 제공 – 대표적인 예인 파티클 시스템의 생성, 위치, 소멸은 알고리즘에 의해 제어됨 advanced geometric modeling이 책의 주 목적은 아니지만 더 나은 기법으로 진화하기 위해서 이책에 설명되어 있는 기술과 결합할수 있음 주요 초점은 절차적 Texture, 절차적 모델링, 절차적 애니메이션 14
  15. 15. Chapter 2Building Procedural Textures
  16. 16. Building Procedural Textures 기하학적 계산이 절차적 텍스처링에선 필수적 2D 및 3D Point, Vector, 데카르트 좌표시스템, 내적, 외적 및 homogeneous transformation matrices 등 RGB의 표현, Simple Diffuse과 Specular Shading Models http://www.slideshare.net/tahersb/hearn-and-baker-2-d-transformations 16
  17. 17. Introduction 더 나은 렌더링을 하기위해 좀 더 나은 방법을 찾고 있으며 합성 영상의 리얼 리즘을 향상시키기 위해 노력 Shading – 사용자 지정 Surface 속성과 셰이딩 모델에서 픽셀이나 음영 샘플의 색상을 계산하는 과정 Texturing – Surface의 형상에 실제로 존재하지 않는 Surface의 세부 모양을 주기 위해 지점에서 지점으로 Surface 성질을 변화하는 방법 17
  18. 18. Introduction Shading – illumination models, lighting models, 또는 reflection models 등으로 불리는 재질과 빛의 상호 작용을 시뮬레이션 – 일반적으로 물리학을 기반으로 하지만 많은 단순한 가설을 만들어 냄 – 완벽하게 세부적인 물리 모델은 가공하기 어려운 계산을 포함 – Diffuse(Lambertian ) shading : 컴퓨터 그래픽에 최초로 사용한 것 – Specular Reflection shading : Phong, Blinn, Cook and Torrance, – Anisotropic shading : Kajiya – 1980년대 초반 대부분의 연구가 global illumination effects을 시뮬레이션하는 것으로 전환 – Reflection, refraction, scattering of light, Raytracing, radiosity 18
  19. 19. Texture Catmull(1974) : 최초의 컴퓨터 그래픽 이미지를 만듬 “Futureworld”  서페이스는 파라미터 패치로 표현 – 패치에 대한 U, V 지점의 파라미터 값은 텍스텨 이미지의 해당 픽셀의 위치를 계산하는데 사 용 – Simple Point-Sampling 은 Aliasing artifacts의 확률이 높아짐 : 정교한 샘플링/ 필터링이 필요 Edwin Catmull – Z-buffering – texture mapping – subdivision surface – the fast rendering of bicubic patches 19
  20. 20. Texture Texture 맵핑의 초기부터 다양한 연구자들은 다양한 텍스처 이미지를 생성하는 대신 스캔하거나 그 것을 그리는 데 합성 질감 모델을 사용 Blinn 과 Newell (1976) Fourier 합성을 사용 Fu and Lusy (1978) 는 문법 기반 Texture 생성 기법을 제안 Schacter와 Ahuja (1979)와 Schacter 비행 시뮬레이터를 위한 Texture 이미지를 생성하는 각종 푸 리에 합성 및 확률적 모델을 사용 Blinn 과 Newell (1976) 은 mirrorlike Surface의 반사를 시뮬레이션 하기 위해 반사 Mapping을 도입 – environment mapping – RayTracing의 단순화된 형태 20
  21. 21. Texture Blinn 과 Newell (1976) 은 mirrorlike Surface의 반사를 시뮬레이션 하기 위해 Reflection Mapping을 도입 – Environment mapping – RayTracing의 단순화된 형태 – Normalized 된 vector R = (x,y,z) 의 Latitide 와 Longitude 각도를 사용하여 Texture 이미지에 억세스 Surface Normal Point toward The ViewerReflection Direction R = 2(N ⋅ V)N – V Reflection mapping 절차는 음영 처리되는 지점에 카메라 또는 보는 사람의 ray로 반사 방향 R을 계산 Cube mapped reflection example 21
  22. 22. Texture Blinn (1978) 은 Geometry의 수정 없이 Bump의 모양을 시뮬레이트 하기 위한 bump mapping 을 도 입 – Normal의 결과가 Shading 계산에 사용될 때 Surface는 Bum와 indentations을 가짐 – 실루엣에서 볼 수 있는 건 아닌 Shading Variations임 Cook (1984)은 Displacement Mapping을 소개 22
  23. 23. Texture Reeves, Salesin, Cook (1987) : Light Source의 Position에서 렌더링된 장면의 Depth Image를 기반 으로 이미지 Texture를 사용하여 Anti-aliased shadows 를 생산하는 알고리즘을 제시 – Percentage Closer Filtering Gardner (1984, 1985) : 나무, 지형 그리고 구름의 모델에 Texture를 추가하는 Sinusoidal Functions의 합계에 의해 생성된 Solid Textures를 사용 23
  24. 24. Texture Peachey 과 Perlin : 2D Texture의 대안으로 Solid Textures (Space-Filling Textures) 을 소개 – Solid Texture Mapping : 공간 속에 가상적인 공간을 만들어 그 속에 오브젝트를 담아 둔다는 개념 24
  25. 25. Texture Pelting (Piponi and Borshukov, 2000)) – 임의 하위구분으로 surface model에 seamless texture mapping Pedersen(1995) Mapping의 왜곡을 최소화하는데 도움을 주며 상호작용하게 Surface에 Texture를 Patch 할수 있게 함 25
  26. 26. Texture Praun, Finkelstein, and Hoppe (2000) “lapped Textures” – Swatches의 Orientation 과 Scale의 가이드에 의해 사용자 정의된 Vector Field 에 따라, Texture의 여러 작은 Swatches는 중복 방식 의 Surface에 위치함 26
  27. 27. Procedural Texture Texture 맵핑의 초기부터 다양한 텍스처 이미지를 생성하는 대신 스캔하거나 그것을 그리는 데 합성 질감 모델을 사용 Blinn 과 Newell (1976) Fourier 합성을 사용 Fu and Lusy (1978) 는 문법 기반 Texture 생성 기법을 제안 Schacter와 Ahuja (1979)와 Schacter 비행 시뮬레이터를 위한 Texture 이미지를 생성 하는 각종 푸리에 합성 및 확률적 모델을 사용 27
  28. 28. Procedural Texture Fournier, Fussell, and Carpenter (1982) and Haruyama and Barsky (1984)은 fractal을 사용하여 Texture를 생성하는 방법을 제안 Gagalowicz, Ma 1985; Garber 1981 는 Texture를 제현한 통계 Texture 모델을 개발 28
  29. 29. Procedural Texture Cook (1984)은 Shader Tree를 소개 : 절차적 이미지를 생성하는 것에 가까운 첫번째 시스템중 하나 – 광원, atmosphere을 통한 감쇠 뿐 아니라 SurfaceSurface에 다른 Shading모델의 사용을 가능하게 함 – Shading모델에 대한 입력을 절차적으로 조절 – Color and transparency Textures, reflection mapping, bump mapping, displacement mapping, and Solid texturing 등등 모든 쉐이드 트리를 사용하여 구현할수 있음 29
  30. 30. Procedural Texture Perlin (1985) 은 절차적 Texture를 제작하는 Language를 설명 – 오늘날 사용하는 절차적 Texture의 더 대중적인 클래스의 토대를 마련 – 노이즈를 기반으로 초기의 확률적 Texture를 제작 Turk (1991)와 Witkin와 Kass (1991)은 동물의 껍질에서 착색 패턴을 만드는 생화확적 프로세스에서 영감을 얻어 합성 질감 모델을 설명 30
  31. 31. Procedural versus Nonprocedural 어떤 Texture가 절차적인가? :절차적인 Texture의 정의는 파악하기 힘들다 데이터 구조를 설명하는 Entities 와 구별하기 위해 컴퓨터 과학에서 사용 알고리즘을 변경하기 보다는 Parameters 나 Input 의 변경으로 이루어짐 디지털이나 페인트 이미지가 아닌 프로그램 또는 모델로부터 합성 생성함 때로는 디지털이나 페인트 이미지가 절차적 Texture 사이에 포함될 수 있음 좋은 절차적 Texture는 이미지 Texture의 절차적 조합 수정 또는 왜곡을 기반으로 할수 있음 31
  32. 32. Implicit and Explicit Procedures Implicit Explicit 특정 지점에 대한 Query 에 직접 모양을 이루는 지점을 생성절차적인 Answers를 주는 방식 Isocurve (in 2D) Isosurface (in 3D) 32
  33. 33. Implicit and Explicit Procedures Unit Circle의 간단한 정의 = isocurve 33
  34. 34. Implicit and Explicit Procedures Implicit Explicit Ray tracers Depth buffer renderers * Texture 절차가 아닌 렌더러에 의해 결정자연적인 돌 질감, 구름, 안개 등 polygons / parametric curves patches 34
  35. 35. Advantages of Procedural Texture매우 compact 하다 고정 해상도가 없다.고정 면적이 없다 파라미터를 가진다 35
  36. 36. Disadvantages of Procedural TextureBuild 하고 Debug하기 결과를 예측하는 것이 어 어려울 수 있음 렵다저장된 Texture 이미지를억세스하는 것보다 느릴 앨리어싱의 문제 수 있다 36
  37. 37. The RenderMan Shading Language Shading모델과 절차적 텍스처를 위한 프로그램 코드를 쓸 수 있는 특별한 용도의 Shading언어 Cook(1984)에 기술된 Shader Tree에서 유래한 것 문법은 C와 같지만 Shading언어가 포함 Shading언어는 렌더맨 Renderer에 의해 수행되는 음영계산을 프로그래밍할 수 있음 37
  38. 38. The RenderMan Shading Language 38
  39. 39. What If You Don’t Use RenderMan? 절차적 Texture에 관심이 있는 다양한 연령층을 대상 렌더맨은 절차적 쉐이더를 표현할 수 있는 편리한 방법 절차적 텍스처 빌딩 블록 함수 기능의 많은 C 언어 구현에 대해 설명 이미지 텍스처에 액세스하는 기능을 제공 – 다른 Renderer를 사용한다면 그것에 맞게 Texture 함수를 변환할 수 있어야 함 39
  40. 40. Q&A
  41. 41. 감사합니다

×