Feature-Based Textures Ganesh Ramanarayanan Kavita Bala Bruce Walter Cornell University EGSR 2004
Ganesh Ramanarayanan, Cornell University Motivation Textures have fixed resolution Goal: resolution independent texturing –Improving texture quality when zooming in Applications: games, interactive walkthroughs
Ganesh Ramanarayanan, Cornell University Solution Feature-Based Textures (FBTs) –Humans are sensitive to features: boundaries in the texture with sharp contrast –Store features as resolution-independent lines / curves –Interpolate from reachable samples: those on the same side of all features
Ganesh Ramanarayanan, Cornell University Quality Using standard texture map
Ganesh Ramanarayanan, Cornell University Quality Using Feature-Based Texture
Ganesh Ramanarayanan, Cornell University Related Work Vector formats: SVG, Postscript Procedural textures: [Ebert94] Superresolution: [Huang84], [Elad97], [Borman98] Discontinuity detection and use: –Vision: [Canny87], [Perona90], [Malik01] –Point data sets: [Pauly03] –Visibility events: [Drettakis94], [Durand99], [Duguet02] –Discontinuity meshing: [Heckbert92], [Lischinski92] –Silhouette clipping: [Sander00]
Ganesh Ramanarayanan, Cornell University Related Work Discontinuity-based 2D representations –NPR: [Salisbury96] –Edge-and-point interactive rendering: [Bala03] –Silhouette shadow maps: [Sen03] Concurrent research –Bixels: [Tumblin04] –Silmap textures: [Sen04]
Ganesh Ramanarayanan, Cornell University Outline of Talk Overview FBT Usage FBT Representation Results and Discussion
Ganesh Ramanarayanan, Cornell University Overview Each FBT texel stores samples and features One sample in each texel region Most of the FBT works like a standard texture map Only do more computation near features + feature samples
Ganesh Ramanarayanan, Cornell University Algorithm Image plane point
Ganesh Ramanarayanan, Cornell University Algorithm 1. Map 3D point to 2D texture point p Image plane texel grid point
Ganesh Ramanarayanan, Cornell University Algorithm 1. Map 3D point to 2D texture point p 2. Find the texel containing p Image plane texel grid point FBT texel p
Ganesh Ramanarayanan, Cornell University Algorithm 1. Map 3D point to 2D texture point p 2. Find the texel containing p 3. Find the texel region containing p FBT texel p Image plane texel grid point
Ganesh Ramanarayanan, Cornell University Algorithm 1. Map 3D point to 2D texture point p 2. Find the texel containing p 3. Find the texel region R containing p 4. Look up reachable samples FBT texel p p Image plane texel grid point
Ganesh Ramanarayanan, Cornell University Algorithm 1. Map 3D point to 2D texture point p 2. Find the texel containing p 3. Find the texel region R containing p 4. Look up reachable samples 5. Bilinearly interpolate and return result FBT texel p p Image plane texel grid point
Ganesh Ramanarayanan, Cornell University Outline of Talk Overview FBT Usage FBT Representation Results and Discussion
Ganesh Ramanarayanan, Cornell University Step 3: Region Finding How do we find which of these four regions a point lies in?
Ganesh Ramanarayanan, Cornell University Step 3: Region Finding Simple feature: divides texel into two regions Distinguish these regions with a single ray intersection parity test against feature –Cast towards side with no feature intersection 0 1
Ganesh Ramanarayanan, Cornell University Step 3: Region Testing n simple features divide area into n+1 regions Identify region using linear search
Ganesh Ramanarayanan, Cornell University Step 3: Region Testing n simple features divide area into n+1 regions Identify region using linear search
Ganesh Ramanarayanan, Cornell University Step 3: Region Testing n simple features divide area into n+1 regions Identify region using linear search
Ganesh Ramanarayanan, Cornell University Step 3: Region Testing n simple features divide area into n+1 regions Identify region using linear search
Ganesh Ramanarayanan, Cornell University Feature Intersections When features intersect, parity test for region determination can be ambiguous Solve by introducing horizontal bands
Ganesh Ramanarayanan, Cornell University Step 4: Sample Lookup If a texel has no features, use ordinary bilinear interpolation What do we do when there are features? p s p 13 s2
Ganesh Ramanarayanan, Cornell University Step 4: Sample Lookup Sample in lower left region of texel: representative sample Interpolate using region’s sample s and reachable representatives p s p 11 ss
Ganesh Ramanarayanan, Cornell University Step 4: Sample Lookup Sample in lower left region of texel: representative sample Interpolate using region’s sample s and reachable representatives p s p 33 s3
Ganesh Ramanarayanan, Cornell University Outline of Talk Overview FBT Usage FBT Representation Results and Discussion
Ganesh Ramanarayanan, Cornell University Creating FBTs Input: samples, features, and FBT resolution Finding features: –Automatic extraction (vectors, feature detection, tracing) –Manual specification (from scratch or extracted features) Vectors Tracing User-drawn
Ganesh Ramanarayanan, Cornell University Resolution Tradeoff More FBT texels means: –More memory usage –More texels with no features for faster lookup –Denser sampling of input for better gradients
Ganesh Ramanarayanan, Cornell University Samples close to a feature are prefiltered –Such samples should be eliminated Sample Invalidation
Ganesh Ramanarayanan, Cornell University Reachability Graph Decompose space into sub-regions
Ganesh Ramanarayanan, Cornell University Reachability Graph Decompose space into sub-regions –Divide texel at all feature/feature intersections, feature/texel intersections, curve maxima/minima
Ganesh Ramanarayanan, Cornell University Reachability Graph Decompose space into sub-regions –Divide texel at all feature/feature intersections, feature/texel intersections, spline maxima/minima Use sub-regions to form reachability graph
Ganesh Ramanarayanan, Cornell University Hole Filling Fill holes with closest available samples
Ganesh Ramanarayanan, Cornell University Hole Filling Fill holes with closest available samples Collapse sub-regions into main regions
Ganesh Ramanarayanan, Cornell University Outline of Talk Overview FBT Usage FBT Representation Results and Discussion
Ganesh Ramanarayanan, Cornell University Example Inputs Stop sign (vector) Yin yang (vector)
Ganesh Ramanarayanan, Cornell University Example Inputs Stained glass (user) Flower (user) Wizard skin (user)
Ganesh Ramanarayanan, Cornell University Results SVG Vector Format FBT 230x KB
Ganesh Ramanarayanan, Cornell University Results FBT 230x KB Bilinear 460x KB FBT 16x16 9 KB Bilinear 64x64 12 KB
Ganesh Ramanarayanan, Cornell University Results FBT 128x KB Bilinear 128x KB FBT 256x KB Bilinear 256x KB
Ganesh Ramanarayanan, Cornell University Results – 3D Models FBT 230x KB Bilinear 460x KB
Ganesh Ramanarayanan, Cornell University Results – 3D Models FBT 230x KB Bilinear 460x KB
Ganesh Ramanarayanan, Cornell University Results – 3D Models FBT 230x KB Bilinear 460x KB
Ganesh Ramanarayanan, Cornell University Results – 3D Models FBT 256x KB Bilinear 256x KB Artwork from Warcraft® III: Reign of Chaos™ provided courtesy of Blizzard Entertainment
Ganesh Ramanarayanan, Cornell University Results – 3D Models Artwork from Warcraft® III: Reign of Chaos™ provided courtesy of Blizzard Entertainment FBT 256x KB Bilinear 256x KB
Ganesh Ramanarayanan, Cornell University Results – 3D Models Artwork from Warcraft® III: Reign of Chaos™ provided courtesy of Blizzard Entertainment FBT 256x KB Bilinear 256x KB
Ganesh Ramanarayanan, Cornell University FBT Properties 90% of texels: No features –Most texels similar to standard texture maps –Low amortized lookup cost –Low amortized storage cost 99% of texels: < 2 features –Fixed-size representation possible for GPUs Promising results on NV40 even without using new functionalities (early-out, etc)
Ganesh Ramanarayanan, Cornell University Conclusions FBTs combine samples with resolution- independent features Flexible representation encompassing vector and raster image formats Applications: games, interactive walkthroughs Future work: –MIP-mapping and antialiasing –Handling a wider variety of textures
Ganesh Ramanarayanan, Cornell University Questions FBT Webpage: –