Your SlideShare is downloading. ×
Texture Modeling a Procedual Approach #01
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Texture Modeling a Procedual Approach #01

875
views

Published on


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

No Downloads
Views
Total Views
875
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
18
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Texturering & Modeling a Procedual Approach 김정근
  • 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. Chapter 1Introduction
  • 4. Procedural Techniques and Computer Graphics 역사적 흐름 – 컴퓨터 그래픽의 역사와 함께 사용 – 1980 년대 중반에서 후반 동안 • 현실적인 질감(나무, 돌, 대리석 등)을 표현 • 물, 연기, 증기, 행성 – 렌더맨의 Shading언어의 개발로 절차적 기법의 사용이 확대 – 현재 대부분의 상용 렌더링 및 애니메이션 시스템은 절차적 인터페이스도 제공 4
  • 5. Procedural Techniques and Computer Graphics Programmable 강력한 CPU Graphics Processors 인터렉티브하고 복잡한 절차적 모델과 효과를 구상하고 실현할 수 있는 시대 5
  • 6. What Is a Procedural Technique?컴퓨터가 만든 모델이나 효과의 일부 특성을 지정하는 코드 세그먼트 또는 알고리즘 6
  • 7. What Is a Procedural Technique? 7
  • 8. What Is a Procedural Technique? 8
  • 9. The Power of Procedural Techniques Abstraction (추상화) 9
  • 10. The Power of Procedural Techniques 10
  • 11. The Power of Procedural Techniques 11
  • 12. The Power of Procedural Techniques 12
  • 13. The Power of Procedural Techniques 추상화가 가능하다 – 적재적소에 만들어진 함수나 알고리즘을 평가한다. 데이터를 줄일 수 있다 – 디테일이 명시적 이진 않지만 암시적으로 절차적인 데이터를 얻을 수 있다 파라미터를 컨트롤 할 수 있다 – 파라미터의 추가로 디테일에 양을 늘릴 수 있다 절차적 기술에 내제하는 뜻밖의 재미를 얻을 수 있다 – 예기치 않은 동작 절차, 확률적 과정 유연성을 제공한다 – 물리학의 복잡한 법률에 제약되지 않고도 제작할 수 있다 정확한 예술적인 효과를 자연 법칙을 시뮬레이션하여 제작할 수 있다 13
  • 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. Chapter 2Building Procedural Textures
  • 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. Introduction 더 나은 렌더링을 하기위해 좀 더 나은 방법을 찾고 있으며 합성 영상의 리얼 리즘을 향상시키기 위해 노력 Shading – 사용자 지정 Surface 속성과 셰이딩 모델에서 픽셀이나 음영 샘플의 색상을 계산하는 과정 Texturing – Surface의 형상에 실제로 존재하지 않는 Surface의 세부 모양을 주기 위해 지점에서 지점으로 Surface 성질을 변화하는 방법 17
  • 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. 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. 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. 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. Texture Blinn (1978) 은 Geometry의 수정 없이 Bump의 모양을 시뮬레이트 하기 위한 bump mapping 을 도 입 – Normal의 결과가 Shading 계산에 사용될 때 Surface는 Bum와 indentations을 가짐 – 실루엣에서 볼 수 있는 건 아닌 Shading Variations임 Cook (1984)은 Displacement Mapping을 소개 22
  • 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. Texture Peachey 과 Perlin : 2D Texture의 대안으로 Solid Textures (Space-Filling Textures) 을 소개 – Solid Texture Mapping : 공간 속에 가상적인 공간을 만들어 그 속에 오브젝트를 담아 둔다는 개념 24
  • 25. Texture Pelting (Piponi and Borshukov, 2000)) – 임의 하위구분으로 surface model에 seamless texture mapping Pedersen(1995) Mapping의 왜곡을 최소화하는데 도움을 주며 상호작용하게 Surface에 Texture를 Patch 할수 있게 함 25
  • 26. Texture Praun, Finkelstein, and Hoppe (2000) “lapped Textures” – Swatches의 Orientation 과 Scale의 가이드에 의해 사용자 정의된 Vector Field 에 따라, Texture의 여러 작은 Swatches는 중복 방식 의 Surface에 위치함 26
  • 27. Procedural Texture Texture 맵핑의 초기부터 다양한 텍스처 이미지를 생성하는 대신 스캔하거나 그것을 그리는 데 합성 질감 모델을 사용 Blinn 과 Newell (1976) Fourier 합성을 사용 Fu and Lusy (1978) 는 문법 기반 Texture 생성 기법을 제안 Schacter와 Ahuja (1979)와 Schacter 비행 시뮬레이터를 위한 Texture 이미지를 생성 하는 각종 푸리에 합성 및 확률적 모델을 사용 27
  • 28. Procedural Texture Fournier, Fussell, and Carpenter (1982) and Haruyama and Barsky (1984)은 fractal을 사용하여 Texture를 생성하는 방법을 제안 Gagalowicz, Ma 1985; Garber 1981 는 Texture를 제현한 통계 Texture 모델을 개발 28
  • 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. Procedural Texture Perlin (1985) 은 절차적 Texture를 제작하는 Language를 설명 – 오늘날 사용하는 절차적 Texture의 더 대중적인 클래스의 토대를 마련 – 노이즈를 기반으로 초기의 확률적 Texture를 제작 Turk (1991)와 Witkin와 Kass (1991)은 동물의 껍질에서 착색 패턴을 만드는 생화확적 프로세스에서 영감을 얻어 합성 질감 모델을 설명 30
  • 31. Procedural versus Nonprocedural 어떤 Texture가 절차적인가? :절차적인 Texture의 정의는 파악하기 힘들다 데이터 구조를 설명하는 Entities 와 구별하기 위해 컴퓨터 과학에서 사용 알고리즘을 변경하기 보다는 Parameters 나 Input 의 변경으로 이루어짐 디지털이나 페인트 이미지가 아닌 프로그램 또는 모델로부터 합성 생성함 때로는 디지털이나 페인트 이미지가 절차적 Texture 사이에 포함될 수 있음 좋은 절차적 Texture는 이미지 Texture의 절차적 조합 수정 또는 왜곡을 기반으로 할수 있음 31
  • 32. Implicit and Explicit Procedures Implicit Explicit 특정 지점에 대한 Query 에 직접 모양을 이루는 지점을 생성절차적인 Answers를 주는 방식 Isocurve (in 2D) Isosurface (in 3D) 32
  • 33. Implicit and Explicit Procedures Unit Circle의 간단한 정의 = isocurve 33
  • 34. Implicit and Explicit Procedures Implicit Explicit Ray tracers Depth buffer renderers * Texture 절차가 아닌 렌더러에 의해 결정자연적인 돌 질감, 구름, 안개 등 polygons / parametric curves patches 34
  • 35. Advantages of Procedural Texture매우 compact 하다 고정 해상도가 없다.고정 면적이 없다 파라미터를 가진다 35
  • 36. Disadvantages of Procedural TextureBuild 하고 Debug하기 결과를 예측하는 것이 어 어려울 수 있음 렵다저장된 Texture 이미지를억세스하는 것보다 느릴 앨리어싱의 문제 수 있다 36
  • 37. The RenderMan Shading Language Shading모델과 절차적 텍스처를 위한 프로그램 코드를 쓸 수 있는 특별한 용도의 Shading언어 Cook(1984)에 기술된 Shader Tree에서 유래한 것 문법은 C와 같지만 Shading언어가 포함 Shading언어는 렌더맨 Renderer에 의해 수행되는 음영계산을 프로그래밍할 수 있음 37
  • 38. The RenderMan Shading Language 38
  • 39. What If You Don’t Use RenderMan? 절차적 Texture에 관심이 있는 다양한 연령층을 대상 렌더맨은 절차적 쉐이더를 표현할 수 있는 편리한 방법 절차적 텍스처 빌딩 블록 함수 기능의 많은 C 언어 구현에 대해 설명 이미지 텍스처에 액세스하는 기능을 제공 – 다른 Renderer를 사용한다면 그것에 맞게 Texture 함수를 변환할 수 있어야 함 39
  • 40. Q&A
  • 41. 감사합니다

×