Practical methods for texture design web
Upcoming SlideShare
Loading in...5
×
 

Practical methods for texture design web

on

  • 869 views

 

Statistics

Views

Total Views
869
Views on SlideShare
869
Embed Views
0

Actions

Likes
0
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Practical methods for texture design web Practical methods for texture design web Presentation Transcript

    • Texturering & Modeling a Procedual Approach 김정근
    • Chapter 6Practical Methods for Texture Design
    • Agenda The User Interface Parameter Ranges Color Table Equalization Exploring the Parameter Domain Previews Efficiency Tricks, Perversions, and Other Fun Texture Abuses Volume Rendering with Surface Textures Odd Texture Ideas 2D Mapping Methods Where Were Going 3
    • The User Interface흥미로운 알고리즘을만드는 것은 절반의 성공 4
    • The User Interface파라미터 정의사용자가 억세스 할 수 있다는 것을 간과해서는 안된다.텍스쳐 유용성사용용도와 계획에 따라 더 유용하게 사용할수 있다신중한 디자인더 쉽게 사용하게 만들수 있다. 5
    • Parameter Ranges The User Interface파라미터의 허용 범위에대한 제안을 제공쉬운 예로 색상 또는 퍼센티지 레벨 등등 6
    • Parameter Ranges The User Interface즉석에서 만든듯한 코드프로그래머가 완전히 이해하지 못하고 제작한 것처럼 보일 때미스터리 상수“55 와 107 사이에 있을 때만 유용한 패턴을 만드는 “squiggliness”한 파라미터 직관적인 내부의 범위가 아닌 0에서 1사이의 숫자를 입력하면 특정 범위를 매핑하는 선형변환을 사용 7
    • Parameter Ranges The User InterfaceL + x (H + L)X가 0 그리고 1 사이라면 L 그리고 H 로부터 값을 입힐수 있다RGB꼭 0 – 1일 필요는 없다 RGB는 0 – 255 값을로 입력하는 것이 가장 쉬운 방법이다. 일반적인 상식 선에서 정해서 사용한다 8
    • Color Table Equalization The User Interface룩업테이블 안에 프랙탈 노이즈 값을 공급... 룩업테이블은 어떻게 만드나? 9
    • Color Table Equalization The User Interface 선택한 컬러가 얼마나 영향을 주는지 아는 것은 어렵다프랙탈 노이즈에서 -0.5 보다 아래 값은 검은색, 0.5보다 위의 값은 흰색 그사이는 부드러운 회색 어디까지가 회색인걸까? 10
    • Color Table Equalization The User Interface “Gray Gradient” 60% “lower” 20% “upper ” 20% 11
    • Color Table Equalization The User Interface노이즈 레벨을 움직이는 2단계노말라이즈 비율의 값을 매핑 테이블로 만들기 12
    • Color Table Equalization The User InterfaceF = normalized fractal noise valueL = largest scale sizes = size ratio between successive scales (usually around0.5)a = amplitude ratio between successive scales (usuallyaround 0.5)n = number of scales added (usually between 3 and 10)x = hit location (a vector) 13
    • Color Table Equalization The User Interface배열안의 프렉탈 노이즈의 많은 임의의 값을 저장250,000 샘플을 계산 더 많을 수록 좋다 : 한번에 계산되므로 속도는 문제가 아니다.오름차 순 배열로 값을 정렬 14
    • Color Table Equalization The User Interface Lookup table 텍스쳐 코드에서 100000 조회 값을 저장할 필요가 없다! 11단계로 균등하게 간격 샘플 및 샘플 사이의 선형 보간을 저장 15
    • Exploring the Parameter Domain The User Interface적절한 파라미터의 결정이전 값을 사용 잘되어 있는 값을 사용하는것은 처음부터 시작해야 하는 어려움을 최소화 할수 있다.지식을 활용 제작된 텍스쳐에 대해 잘 이해하고 적합한 세팅을 통해 정보를 제공 이론에 가까운 파라미터를 설정하기 위해 경험과 판단력을 사용하지만 이것은 어려울수 있다.심하게 변경 랜덤 현상으로 인해 일어나는 효과는 떄로는 매우 효과적일수 있다.Polish 단계 표면이 현재 좋아보인다면 파라미터를 변경하면 완벽한 표면으로 보이게 함 16
    • Exploring the Parameter Domain The User Interface적절한 파라미터의 결정각 텍스쳐의 파라미터 설정을 연구한 것은파라미터 설정 라이브러리에 장기적인 축척 17
    • Previews The User Interface테스트 그리고 테스트텍스쳐를 개발하는 것 특히 텍스쳐의 움직이는것을 실행하는 것은 고통스럽다.Generate lowresolution tests!200 x 200 픽셀정도가 적당프리뷰를 설계파라미터와 텍스쳐를 편집 18
    • Previews The User Interface MentalMill 19
    • Efficiency복잡한 계산복잡한 표면은 그것을 정의 하는 복잡한 계산을 요구한다최적화?CPU 성능 향상으로 C 코드를 최적화하는데엄청난 노력을 지출하는것은 실제로 비생상적효율성 “Speedup tricks”효율성은 중요 특히 캐싱과 안티알리아싱, 알고리즘에 더 집중 This was important in the “good old days” of 25 MHz processors. 20
    • TRICKS, PERVERSIONS,AND OTHER FUN TEXTURE ABUSES어떤 함수가 (x,y,z) 좌표를 지남현재 서피스 특성이 있음몇몇의 사용자 파라미터가 존재내부 Function을 기반으로 수정 좀더 창의적으로... 21
    • Volume Rendering with Surface Textures TRICKS, PERVERSIONS, AND OTHER FUN TEXTURE ABUSES 표면 텍스쳐를 가지고 진짜 볼륨텍스쳐로 바꾸는 것구현 방법 광선이 어떤 방향으로부터 도달하고 있는지에 대한 정보를 담고 있는 텍스쳐를 사용하고 유저가 스피어 같은 서피스 타입에서만 텍스쳐를 적용할거라고 가정 자세한건 Visual simulation of clouds (1985) by Geoffrey Y. Gardner 참조트릭 광선의 히트 포인트, 광선의 방향을 알고 있기 때문에, 직접 스피어에 부딪힌다고 가정하면 광선이 스피어를 통과하는 한 정확한 광선의 경로를 알수 있게 된다 22
    • Volume Rendering with Surface Textures TRICKS, PERVERSIONS, AND OTHER FUN TEXTURE ABUSES광선의 정보 광선의 정보 를 가지고 볼륨렌더링을 수행할때 최종 출력 색상으로 서피스 컬러를 사용하기만 하면 된다. * 이 정보는 안개함수의 분석통계, 3D 볼륨 밀도에 대한 수치통계 또는 일부 다른 볼륨 렌더링 기법이 될 수도 있다표면의 Emittance (단위 면적당 빛등의 방사력) 렌더러에서 이 Emittance(Luminosity라고도 부름)을 유저로 하여금 정의할수 있도록 해주고나 RGB Surface Color를 정의할수 있도록 허용한다. 볼륨밀도가 계산된 Intensity에 이 표면 색상을 설정하면 Gas 형태가 완료(Chapter 7) 가스는 가스를 정의하는 스피어 안에 담겨 있어야 하지만 어떤 각도에서도 볼수 있는 진정한 3D효과이다. 단 카메라의 움직임이 가스의 부피 밀도에 영향을 줄 수 없어야 한다. 23
    • Odd Texture Ideas TRICKS, PERVERSIONS, AND OTHER FUN TEXTURE ABUSES텍스쳐의 색상을 제어하는 루틴텍스쳐의 능력을 생각하면 오브젝트 표면에 직접 색상을 적용하는 것보다 텍스쳐를 사용하는 것이 더 유용호스트 렌더러가 텍스쳐로 현재 서피스 색상을 전달하는 경우 그 색상을 조작할수 있는 루틴을 디자인예를 들어감마 보정 텍스쳐“fade” 값을 가진 솔리드 텍스쳐RGB to HSV 24
    • Odd Texture Ideas TRICKS, PERVERSIONS, AND OTHER FUN TEXTURE ABUSES구조화된 특징을 이용구조화된 특징을 이용하여 이미지맵을 더 나은것으로 만들수 있다예를 들어시계 또는 계산기와 같은 LED display (Chapter 8)텍스쳐는 파라메터 인자로 10 진수를 사용하고 미리 시뮬레이트 해놓은 7개 구역 숫자 위에 표시!레이더 텍스쳐끈임없이 원주변을 도는 선과 레이더의 깜빡거리는 신호를 점멸 25
    • Odd Texture Ideas TRICKS, PERVERSIONS, AND OTHER FUN TEXTURE ABUSESMandelbrot 집합그냥 복소수 평면에 히트포인트의 XY position를 매핑 26
    • Odd Texture Ideas TRICKS, PERVERSIONS, AND OTHER FUN TEXTURE ABUSES 27
    • Odd Texture Ideas TRICKS, PERVERSIONS, AND OTHER FUN TEXTURE ABUSES 28
    • Odd Texture Ideas TRICKS, PERVERSIONS, AND OTHER FUN TEXTURE ABUSES 29
    • Odd Texture Ideas TRICKS, PERVERSIONS, AND OTHER FUN TEXTURE ABUSES 30
    • Odd Texture Ideas TRICKS, PERVERSIONS, AND OTHER FUN TEXTURE ABUSES 31
    • Odd Texture Ideas TRICKS, PERVERSIONS, AND OTHER FUN TEXTURE ABUSES 32
    • Odd Texture Ideas TRICKS, PERVERSIONS, AND OTHER FUN TEXTURE ABUSES 33
    • Odd Texture Ideas TRICKS, PERVERSIONS, AND OTHER FUN TEXTURE ABUSES 34
    • Odd Texture Ideas TRICKS, PERVERSIONS, AND OTHER FUN TEXTURE ABUSES 35
    • Odd Texture Ideas TRICKS, PERVERSIONS, AND OTHER FUN TEXTURE ABUSES 36
    • Odd Texture Ideas TRICKS, PERVERSIONS, AND OTHER FUN TEXTURE ABUSES 37
    • Odd Texture Ideas TRICKS, PERVERSIONS, AND OTHER FUN TEXTURE ABUSES 38
    • Odd Texture Ideas TRICKS, PERVERSIONS, AND OTHER FUN TEXTURE ABUSES 39
    • Odd Texture Ideas TRICKS, PERVERSIONS, AND OTHER FUN TEXTURE ABUSES 40
    • Odd Texture Ideas TRICKS, PERVERSIONS, AND OTHER FUN TEXTURE ABUSESWeathering 텍스쳐표면에 랜덤하게 바리에이션을 추가Layering 서피스 이미지에 집착하지 마라!프랙탈 노이즈는 서피스 밝기를 흐트려 놓기 위해 사용1 + aF프랙탈노이즈 값을 F 라할때 이 팩터로 오브젝트 서비스 색상을 Scale 할수 있다a의 미묘한 값에 따라 서피스의 완벽한 색상에 약간 변화가 주어진다 41
    • 2DMapping Methods TRICKS, PERVERSIONS, AND OTHER FUN TEXTURE ABUSES절차적 기법에서3D 절차적 텍스쳐를 2D 이미지 맵으로 변환하고 렌더러에서 변환된 2D 맵을 활용3D 절차적 텍스쳐의 다양한 기능을 이용성능상의 장점렌더링 속도를 높일 수 있으면서도, 리얼타임 그래픽을 사용하는 비디오게임을 위해3D 하드웨어에서 프로시쥬얼의 사용을 가능케하며,안티알리어싱 문제와 적절한 텍스쳐링 아키텍쳐의 부족을 간단하게 해결한다.텍스쳐 베이킹포괄적인 용어UV 매핑 모델링 툴로써 더 대중적으로 사용하게 된 툴2D 이미지 위치를 가지고 각 서피스 포인트와 맵핑하며 모델 자체가 각 패치 또는 폴리곤의 UV 값을 인코딩(즉 이미지 UV가 Surface Point와 연결되어 있음)2D 텍스쳐 샘플 결과로 얼마나 필터할지, 샘플링을 얼마나 고루게 할지를 선택할수 있음 42
    • 2DMapping Methods TRICKS, PERVERSIONS, AND OTHER FUN TEXTURE ABUSES다양한 왜곡, 수작업으로 힘든 2D 효과예를 들어 지구의 이미지를 언렙극좌표 매핑 방법 (polar coordinate mapping method)렌더러가 스피어 표면의 3D XYZ 위치를 사용해서 이미지 지도에 해당 위치에 맞는 2D UV 좌표를 찾을수 있게해 줌Mercator mapping이 아닌“Equal angular mapping” Mercator mapping 43
    • 2DMapping Methods TRICKS, PERVERSIONS, AND OTHER FUN TEXTURE ABUSES 2D 맵으로의 변환 3D 맵으로의 역변환 44
    • 2DMapping Methods TRICKS, PERVERSIONS, AND OTHER FUN TEXTURE ABUSES구현농구공은 구형의 표면 Function을 절차적으로 bruteforce(전수검사) 하는 방식으로 하는 알고리즘을 가지고 정의 -> 포인트가 줄무늬인지 아닌지 여부를 확인구형의 표면위에 분포된 포인트들이 담긴 큰 테이블은 샘플지점이 표면에 “Pip”가 있는지 조사역 구면 매핑 변환은 텍스쳐맵의 pixel들을 루프돌기 위해서 사용3D 표면 Point가 line 이나 pip 내에 위치하고 있는지 에 따라 이미지맵은 회색으로 설정이렇게 만들어진 텍스쳐맵을 렌더러에서 직접 사용장점pre-distortion 한 이미지맵이 wrapping 때 렌더러의 subsequence 를 왜곡(distortion)을 한 것과 정확하게 보완Seam도 표시되지 않는다, ​그리고 이미지를 잡아 늘리지 않아도 된다. 45
    • Where We’re Going 컴퓨터그래픽에서 Procedural texturing (and modeling)의 미개척 분야(frontier)는 틀림없이 존재한다. 46
    • Where We’re Going 컴퓨터의 발전 = 렌더링 스피드의 향상복잡한 매터리얼과 지오메트리의 생산이 가능 47
    • Where We’re Going 절차적인 도시를 건 설하고 1미터까지 자세히 모든 레벨에 서 볼수 있는 행성 을 만들 날이 올것 이야! 48
    • Where We’re Going That day has already come. 49
    • Where We’re Going 50
    • Where We’re Going 절차적 정의 꾸준히 시간이 지남에 따라 점점 더 중요해지고 있음 51
    • 정말 미개척분야가 있을까? Where We’re Going고전 텍스처링 기법의 여러 “결함(hole)” 을 참조 간단한 텍스쳐링에서 가장 큰 차이 중 하나는 외관을 변화시키기 위한 환경 (특히 object geometry) 검 사보다 정보화된 텍스쳐를 위한 방법이다. 52
    • 예를 들면 Where We’re Going“Generating Textures on Arbitrary Surfaces Using Reaction-Diffusion” by Greg Turk(1991) 53
    • 예를 들면 Where We’re Going스케일은 곡률의 기반으로 크기변경높은 곡률은 어디인가 플레이트는 유연한 영역을 유지하고 작아야 할 필요가 있다.이런 배율을 하기위한 좋은 방법은?오브젝트 지오메트리에 의해 변조될수 있을까?텍스쳐가 지오메트리를 어떻게 검사하나? 이용은 할수 있었지만 이분야에서 더 큰 진전은 없었다 54
    • 블랙박스 텍스쳐 Where We’re Going“항상 많은 제어 파라미터, 숫자로 상징되는 텍스쳐” 성장하면 컨트롤수도 성장한다. 이러한 파라미터가 30~40개를 가지는건 신기한것이 아니다. 텍스쳐가사용자가 다루기 어려움신중하게 선택하고 레이블이 붙어도 많인 레이어 그리고 노브는 취급하기 어려우며좋은 사용자 인터페이스로 최소화 해도 사용자(특히 nontechnical 아티스트)를 힘들게 할ㄷ것이다.그럼에도 불구하고 계속 사용될 가능성이 높음프로그래머를 위한 텍스쳐를 설계하는데 편리한 방법이러한 파라미터를 어떻게든 추상화하거나 사용자로부터 숨길수 있어야 함 55
    • 더 나은 인터페이스에 대한 고민Going Where We’re 이미지의 모음으로 제공 사용자가 많은 파라미터를 다루지 않고 각각의 이미지가 다른 파라미터(사용자로부터 숨겨져 있는)를 사용해서 계산하며 사용자의 경험에 따른 순위와 종류에 따라 확인하며 사용하기 때문에 아티스트 시점에서 매력적이며 사용이 쉽다. 추상화 임의의 복잡한 “파라미터” 를 숨길수 있다 쉽지만은 않다 이미지 모음으로 제공하기 위한 파라미터를 선택하기 위해 어떤것이 최선인지 정하고 그 생산을 이끌기 위해 사용자의 환경설정을 사용하는 방법을 결정하는것은 어려운 질문이다. “숫자파라미터벡터 기반의 강력한 방법의 개발은 절차적 텍스쳐가 더 유용하기 위한 가장 중요한 도구중에 하나가 될것” 56
    • 더 나은 인터페이스에 대한 고민Going Where We’re특히 공부가 필요한 두 주제 파라미터의 상관관계를 보완하는 것 텍스쳐 파라미터 스페이스 2D 좌표, 3D 좌표... 57
    • 앞으로는...? Where We’re Going70년대Surface가 어떻게 보이는 문제가 주요 미개척 분야80년대Lighting 및 Surface 속성 (radiosity와 BRDF 표면 모델의 개발 포함)90년대효율적인 global lighting 와 image-based rendering현재의 10년...(2000년)Procedural Object 와 Surface 정의 58
    • 참조 59
    • Q&A
    • 감사합니다