Download presentation

Presentation is loading. Please wait.

Published bySelena Stickles Modified over 2 years ago

1
**Spherical Maps with the Near-Equal Solid-Angle Property**

Liang Wan Tien-Tsin Wong The Chinese University of Hong Kong

2
**Spherical Maps Represent the surrounding environment Applications**

Environment mapping Precomputed radiance transfer (PRT) Image-based relighting … Spherical maps Cubemap, longitude/latitude map, dual paraboloid map, sphere map, …

3
**Criteria Uniform distribution Equal-area property Stretch**

How uniformly the samples are distributed? Equal-area property Whether the texels span the same solid-angle Stretch Measure the mapping distortion of texel shapes Query efficiency Speed of querying a point in the map Base face number 6-face map fits nicely into the hardware

4
**Cubemap Properties Drawbacks 6 base faces Fast look-up**

Hardware cubemap Drawbacks Not uniformly distributed Not equal-area Distortion at corners

5
**Three Spherical Maps Rhombic dodecahedron Isocube HEALPix Equal-area**

Similar distortion Six-face, Equal-area

6
Base Faces 6 12 Cubemap HEALPix 12 6 Rhombic dodecahedron Isocube

7
**Sample Distribution Uneven sampling Cubemap HEALPix Rhombic**

dodecahedron Isocube

8
**Shape Distortion Quadrilateral Not equal-area Cubemap HEALPix Shape**

Similar distortion Rhombic dodecahedron Isocube

9
**Property Summary Cubemap HEALPix Isocube Rhombic Dodecahedron**

Base face number 6 12 Uniform Distribution Uneven Even Fair Equal-area property Not equal Equal Near Texel shape Quad. Quad./ Tri. Base Polyhedron Spherical partitioning

10
**Property Summary Cubemap HEALPix Isocube Rhombic Dodecahedron**

Base face number 6 12 Uniform Distribution Uneven Even Fair Equal-area property Not equal Equal Near Texel shape Quad. Quad./ Tri. Base Polyhedron Spherical partitioning

11
**HEALPix Construction Originated in astrophysics**

Curvilinear partitioning of the sphere

12
**HEALPix Mapping 01 float3 hpmap(float3 dir) 02 {**

02 { 03 float fn, u, v, iu, iv, x, y, z, t; 04 float tt, tn, tf, za, tmp, zone, south; 06 float3 res; 07 08 x=dir.x; y=dir.z; z=dir.y; 09 t = atan2(-y, x)/1.571; 10 t += step(t, 0.f) * 4.0; 11 za = 3.0 * abs(z); 12 tf = modf(t, tn); 13 // Equatorial or polar zone 15 if ( za < 2.0 ) { // Equatorial zone tt = t + 0.5; tmp= z * 0.75; u = modf(tt + tmp, iu); v = modf(tt - tmp, iv); fn = min(iu, iv); fn+= 4 + (sign(iv-iu) - floor(fn/4))*4; res= float3(fn, u, v); 24 } else { // Polar zone tmp= sqrt(3.0f - za); // If in south pole zone south = ( z < 0 ); tt = tmp * tf; tmp= tmp; tf = tmp * south; res= float3(tn+8*south, tmp-tf+tt, tf+tt); 33 } 34 return res; 35 }

13
**HEALPix Characteristics Drawback Equal area A hierarchical structure**

Samples on parallel small circles Facilitate spherical harmonic transform Drawback Texels in different base faces have different shapes

14
**Property Summary Cubemap HEALPix Isocube Rhombic Dodecahedron**

Base face number 6 12 Uniform Distribution Uneven Even Fair Equal-area property Not equal Equal Near Texel shape Quad. Quad./ Tri. Base Polyhedron Spherical partitioning

15
**Rhombic Dodecahedron Construction**

Great circle subdivision 1 5 8 6 9 10 11 2 7 3 4

16
**Rhombic Dodecahedron Characteristics**

All texels are distorted similarly Identical base faces Geodesic property

17
**HEALPix & Rhombic Dodecahedron**

Drawbacks Both consist of 12 base faces Tailor-made programs for texture lookup Difficult for mipmap construction and tri-linear filtering What we desire? 6 faces so as to fully utilize the hardware cubemap Retain good properties

18
**Property Summary Cubemap HEALPix Isocube Rhombic Dodecahedron**

Base face number 6 12 Uniform Distribution Uneven Even Fair Equal-area property Not equal Equal Near Texel shape Quad. Quad./ Tri. Base Polyhedron Spherical partitioning

19
Isocube Construction Spherical partitioning

20
**Isocube Mapping R Q 01 float3 R2Q( float3 R ) 02 { 03 float2 I;**

04 float3 Q; 05 float4 coef; 06 float phi, y, ya, bequ,quar; 07 08 // Compute azimuth angle and convert it in the range [0,4) 09 phi = 2*atan2(R.z, R.x)/PI; 10 phi+= step(phi, -0.5) * 4; 11 12 // Decide whether the pixel is in the equatorial region 13 y = R.y * 1.5; 14 ya = abs(y); 15 bequ= step(ya, 1.); 16 17 // Convert R → I 18 I.x = sqrt(3 - 2*ya); 19 I.x = lerp(I.x, 1, bequ); 20 I.y = phi * I.x; 21 22 // Map I → Q 23 quar= floor(phi + 0.5); 24 coef= texRECT(signTBL, float2(quar, 0)); 25 Q.x = dot(coef.xy, I); 26 Q.y = lerp(sign(y), y, bequ); 27 Q.z = dot(coef.zw, I); 28 29 return Q; 30 } R Q

21
**Isocube Characteristics Drawback Equal area 6 faces**

Extremely fast look-up Drawback Distortion in polar regions

22
Environment Mapping HEALPix Rhombic Dodecahedron

23
Environment Mapping Isocube Cubemap

24
**Rendering Comparison Demo Cubemap**

We now compare the rendering results. Please look at the blowups. Healpix preserves more details near the spotlight, the panel and the window. Cubemap

25
**Discussions Performance comparison**

All three maps are resampled from a high-resolution cubemap Cubemap HEALPix Rhombic Dodecahedron Isocube Timing (fps) 232.6 65.9 56.5 168.2 Discrepancy Figure. Discrepancy Comparison Stretch Figure. Stretch Variance Comparison The timing test context: object with 106,466 vertices, Pentium IV 2.6 GHz CPU, nVidia GeForceFX 6800 Ultra.

26
**Potential Applications**

Equal-area, uniform sampling OmniMax video HEALPix, isocube Similar distortion Shadow mapping HEALPix, rhombic dodecahedron Hemicube Cubemap, isocube

27
**References HEALPix Isocube**

K. M. Górski, E. Hivon, and B. D. Wandelt, Analysis issues for large CMB data sets. In Proc. of the MPA/ESO Conference on Evolution of Large-Scale Structure: from Recombination to Garching, 1998 T.T. Wong, L. Wan, C.S. Leung, and P.M. Lam, Real-time environment mapping with equal solid-angle spherical quad-map, Shader X4: Lighting & Rendering, Edited by W. Engel, Charles River Media, 2006 L. Wan, T.T. Wong, and C.S. Leung, Spherical Q2tree for sampling dynamic environment sequences, in Proc. of Eurographics Symposium on Rendering 2005 (EGSR 2005), Konstanz, Germany, pp , 2005 Isocube L. Wan, T.T. Wong, and C.S. Leung, Isocube: Exploiting the Cubemap Hardware, IEEE Transactions on Visualization and Computer Graphics, to appear

28
**Webpage The updated document can be found in the website**

The demo code is free to download from the link

29
**Credits & Acknowledgments**

Rhombic dodecahedron is a joint work with Chi-Wing Fu (HKUST) and Chi-Sing Leung (CityU) Isocube is a joint work with Chi-Sing Leung (CityU) Thanks to Lai-Sze Ng and Ping-Man Lam for implementing part of the codes Thanks to Xuemiao Xu for capturing some of the panoramas This work is supported by Research Grants Council of the Hong Kong Special Administrative Region, under RGC Earmarked Grants (Project No. CUHK416806)

30
Q & A

31
**Discrepancy comparison**

The lower the discrepancy is, the more uniformly the samples are distributed.

32
**Stretch variance comparison**

The smaller the variance is, more similarly the samples are distorted.

Similar presentations

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google