SURVEY OF TEXTURE MAPPING Paul S Heckbert PIXAR
SURVEY OF TEXTURE MAPPING Paul S. Heckbert PIXAR Survey of Texture Mapping, Paul Heckbert, IEEE Computer Graphics and Applications, Nov. 1986
소 개 • Texture map을 쓰는 이유 • Texture mapping의 정의 • Texture mapping의 사용
Texture mapping 의 사용 • • • Surface color Specular reflection Normal vector perturbation Specularity Transparancy Diffuse reflection
Texture mapping 의 사용 (앞과 이어서…) • Shadow, surface displacement, and mixing coefficients • Local coordinate system
Mapping • • • Scanning order Parameterization Parameterizing planes and polygons Polygon projection Patches
Mapping • Texture mapping의 2단계 § Parameterization § Projection
Scanning Order • 종류 – Screen order – Texture order – Two-pass method
Screen Order • Screen 상의 좌표를 따라가면서 Texture map 상의 위치를 추적 • Inverse mapping 이라고도 함 • 화면이 순차적으로 그려질 때 유용 Ø Screen scanning for y for x compute u(x, y) and v(x, y) copy TEX[u, v] to SCR[x, y]
Texture Order • Texture map 의 좌표를 따라가면서 Screen에 투영 • Screen order 보다 간단 • Inverse mapping 이 어려울 경우 Ø Texture Scanning for v for u compute u(u, v) and v(u, v) copy TEX[u, v] to SCR[x, y]
Two-pass Order Ø Two-Pass scanning for v for u compute u(u, v) and v(u, v) copy TEX[u, v] to SCR[x, y] for y for x compute u(x, y) and v(x, y) copy TEX[u, v] to SCR[x, y]
Parameterization • 2 -D texture를 3 -D 공간상에 쉽게 mapping가능 • Parameterization은 – 표준 texture mapping은 u, v좌표로 표현 – illumination mapping은 normal vector의 방향으로 표현 – 물체는 x, y, z 공간 좌표로 표현
Parameterizing Planes and Polygons • 삼각형에서 Texture space(u, v)와 object space(x, y, z) 사이의 관계: 각 점(x 0, y 0, z 0) 는 Au+Bv+C의 형태를 취한다 • 다각형에서는 nonlinear function이 필요 • Bilinear patch: 자주 사용하는 nonlinear function
Parameterizing Planes and Polygons • Perspective mapping: planar quadrila- teral에 대한 더 좋은 parameterization • W 0는 homogenous coordinate
Projecting Polygon • Orthographic 투영 – Scan screen order 에 유리함 – Texture를 scanning함에 의해 affine mapping 수행 가능 • Perspective 투영 – Linear interpolation에 의해 texture mapping 가능(원근감의 결여) – 각 pixel을 나누는 공식을 사용하여 원근감 문제를 해결
Perspective 투영 – Plannar texture의 Perspective mapping – 역 변환
Perspective 투영 q
Patches • 사용 이유 – Parameterization이 자유롭다 – Texture mapping의 부담이 상대적으 로 적다 – Subdivision algorithm을 사용하는 rendering에서 주로 사용
Filtering • • • Aliasing Space variant filtering Space invariant filtering Direct convolution Prefiltering
Aliasing • Aliasing문제에 접근하는 2가지 방법 – – • 더 높은 해상도로 point sampling Sampling 전에 low pass filter 적용 Low pass filter 수행 단계 1. Convolution에 의한 입력 sample로 부터 연 속 signal 재구성 2. Signal의 횡축 변형 3. Convolution을 사용하는 signal을 low pass filtering 4. 출력 sample point에서 signal을 resampling
Space Invariant Filtering • • • Affine image 변형에 대해 filter는 space invariant하다 Image에서의 이동 시에도 filter shape은 변하지 않는다 수행 단계 1. Convolution을 사용한 입력 signal을 low pass filtering 2. signal의 횡축 변형 3. 출력 sample point에서 signal을 resampling
Space Variant Filtering • Nonlinear mapping 은 space variant filter를 요구한다 • Image에서의 이동시 filter shape이 변한다 • 일반적으로 finite impulse response (FIR) filter를 사용 < FIR filter를 사 용하여 texture를 screen에 투영>
Space Variant Filtering • Space variant filtering에 자유롭게 접 근 가능한 방법 – Direct convolution – Prefiltering
Direct Convolution • 가장 직접적인 filtering 기술 • Texture sample의 weighted average 를 직접 계산 • Direct convolution 에 쓰이는 filter 중 EWA(Eliptical Weighted Average) filter가 가장 우수
Prefiltering • Filtering을 과정을 빠르게 하기 위해서 미리 filtering 하는 것 • Filter의 access cost가 일정 • Speed와 quality사이에 trade off 존재 • Prefiltering을 위한 자료 구조 – Image pyramid – Intergrated array
Prefiltering • Prefiltering 방식의 비교
요 약 • Mapping – Scanning order – Parameterization – Parameterizing planes and polygons – Polygon projection – Patches
요 약 • Filtering – Aliasing – Space variant filtering – Space invariant filtering – Direct convolution – Prefiltering
- Slides: 30