order-independent texture synthesis
DESCRIPTION
Order-Independent Texture Synthesis. Li-Yi Wei Marc Levoy. Gcafe 1/30/2003. Previous Work. Statistical Synthesis general, requires only a sample cannot be evaluated randomly on the fly Procedural Synthesis evaluation on the fly (e.g. Perlin noise) efficient - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Order-Independent Texture Synthesis](https://reader030.vdocument.in/reader030/viewer/2022033106/568143a3550346895db024b6/html5/thumbnails/1.jpg)
Order-Independent Order-Independent Texture SynthesisTexture Synthesis
Li-Yi Wei Marc Levoy
Gcafe 1/30/2003
![Page 2: Order-Independent Texture Synthesis](https://reader030.vdocument.in/reader030/viewer/2022033106/568143a3550346895db024b6/html5/thumbnails/2.jpg)
Previous WorkPrevious Work
• Statistical Synthesisgeneral, requires only a sample
cannot be evaluated randomly on the fly
• Procedural Synthesisevaluation on the fly (e.g. Perlin noise)
efficient
less general, hard to set parameters
![Page 3: Order-Independent Texture Synthesis](https://reader030.vdocument.in/reader030/viewer/2022033106/568143a3550346895db024b6/html5/thumbnails/3.jpg)
GoalGoal
Combine Advantages from both Camps:– general as statistical methods
• generate new textures from a given example
– flexible as procedural methods• evaluate texels on demand
• result always identical regardless of evaluation order
![Page 4: Order-Independent Texture Synthesis](https://reader030.vdocument.in/reader030/viewer/2022033106/568143a3550346895db024b6/html5/thumbnails/4.jpg)
New AlgorithmNew Algorithm
Key Ideas:– multiple generations– neighborhood contains only old values
• lower generations, lower resolutions
– pyramidal cache
• Details:– see the paper (4 pages only)☺
![Page 5: Order-Independent Texture Synthesis](https://reader030.vdocument.in/reader030/viewer/2022033106/568143a3550346895db024b6/html5/thumbnails/5.jpg)
ExampleExample
Generation 2 Generation 1 Generation 0
![Page 6: Order-Independent Texture Synthesis](https://reader030.vdocument.in/reader030/viewer/2022033106/568143a3550346895db024b6/html5/thumbnails/6.jpg)
ExampleExample
Level 3
Level 2
Level 1
Level 0
Generation 2 Generation 1 Generation 0
![Page 7: Order-Independent Texture Synthesis](https://reader030.vdocument.in/reader030/viewer/2022033106/568143a3550346895db024b6/html5/thumbnails/7.jpg)
Single PolygonSingle Polygon
Rendering Mipmap Texture
19% requested23% computed
![Page 8: Order-Independent Texture Synthesis](https://reader030.vdocument.in/reader030/viewer/2022033106/568143a3550346895db024b6/html5/thumbnails/8.jpg)
QuakeQuake
Texture 64 64Unnatural repetition
Texture 512 512Less repetition
![Page 9: Order-Independent Texture Synthesis](https://reader030.vdocument.in/reader030/viewer/2022033106/568143a3550346895db024b6/html5/thumbnails/9.jpg)
Ray CastingRay Casting
Scene Texture
![Page 10: Order-Independent Texture Synthesis](https://reader030.vdocument.in/reader030/viewer/2022033106/568143a3550346895db024b6/html5/thumbnails/10.jpg)
Simulation ResultSimulation Result
![Page 11: Order-Independent Texture Synthesis](https://reader030.vdocument.in/reader030/viewer/2022033106/568143a3550346895db024b6/html5/thumbnails/11.jpg)
Future WorkFuture Work
Implementation as fragment shader☻
![Page 12: Order-Independent Texture Synthesis](https://reader030.vdocument.in/reader030/viewer/2022033106/568143a3550346895db024b6/html5/thumbnails/12.jpg)
EndEnd
![Page 13: Order-Independent Texture Synthesis](https://reader030.vdocument.in/reader030/viewer/2022033106/568143a3550346895db024b6/html5/thumbnails/13.jpg)
![Page 14: Order-Independent Texture Synthesis](https://reader030.vdocument.in/reader030/viewer/2022033106/568143a3550346895db024b6/html5/thumbnails/14.jpg)
OverviewOverview
Procedurally Statistical Texture Synthesis– algorithm– architecture
Applications– procedural shader– interactive tools– texture mapping hardware
![Page 15: Order-Independent Texture Synthesis](https://reader030.vdocument.in/reader030/viewer/2022033106/568143a3550346895db024b6/html5/thumbnails/15.jpg)
Texture MappingTexture Mapping
• Bottleneck in graphics pipeline– computation– texture memory access
• Solutions– caching– pre-fetching– compression [VQ]
texture
image
![Page 16: Order-Independent Texture Synthesis](https://reader030.vdocument.in/reader030/viewer/2022033106/568143a3550346895db024b6/html5/thumbnails/16.jpg)
How It WorksHow It Works
noise
Input pyramid
noise
Output pyramid
Search
Copy
![Page 17: Order-Independent Texture Synthesis](https://reader030.vdocument.in/reader030/viewer/2022033106/568143a3550346895db024b6/html5/thumbnails/17.jpg)
GoalGoal
• Combine advantages from both camps– general– independent texel evaluation
![Page 18: Order-Independent Texture Synthesis](https://reader030.vdocument.in/reader030/viewer/2022033106/568143a3550346895db024b6/html5/thumbnails/18.jpg)
Order-Independent Order-Independent Texture SynthesisTexture Synthesis
• Simple modifications of our old algorithm– evaluate pixel in any order– consistent result (given the same initial value)– time complexity depends only on neighborhood size
(not on output texture size)
• interface much like procedural synthesis– greater flexibility– more computation
![Page 19: Order-Independent Texture Synthesis](https://reader030.vdocument.in/reader030/viewer/2022033106/568143a3550346895db024b6/html5/thumbnails/19.jpg)
Problem with Old AlgorithmProblem with Old Algorithm
dependency graph
cycles in the dependency graph!
level row col
0 -1 0
0 +1 0
0 0 -1
0 0 +1
-1 0 0
![Page 20: Order-Independent Texture Synthesis](https://reader030.vdocument.in/reader030/viewer/2022033106/568143a3550346895db024b6/html5/thumbnails/20.jpg)
New AlgorithmNew Algorithm
level row col generation
0 -1 0 -1
0 +1 0 -1
0 0 -1 -1
0 0 +1 -1
-1 0 0 newest
dependency graph
Keep multiple generationsAcyclic dependency graph
Order-independent evaluation
![Page 21: Order-Independent Texture Synthesis](https://reader030.vdocument.in/reader030/viewer/2022033106/568143a3550346895db024b6/html5/thumbnails/21.jpg)
Implementation : CacheImplementation : Cache
• no full pyramid required, use cache instead
• output determined solely by lowest resolution
![Page 22: Order-Independent Texture Synthesis](https://reader030.vdocument.in/reader030/viewer/2022033106/568143a3550346895db024b6/html5/thumbnails/22.jpg)
AlgorithmAlgorithm
level row col generation
L x-1 y g-1
L x+1 y g-1
L x y-1 g-1
L x y+1 g-1
L-1 x y g
evaluate (level=L, row = x, col = y, generation = g)
Cached?evaluate (L, x-1, y, g-1)
2. Collect neighborhood
3. Find best match
1. If in cache, return it
![Page 23: Order-Independent Texture Synthesis](https://reader030.vdocument.in/reader030/viewer/2022033106/568143a3550346895db024b6/html5/thumbnails/23.jpg)
Cache Footprint : Single PixelCache Footprint : Single Pixel
Level 3 Level 2 Level 1 Level 0
Generation 2
Generation 1
Generation 0
![Page 24: Order-Independent Texture Synthesis](https://reader030.vdocument.in/reader030/viewer/2022033106/568143a3550346895db024b6/html5/thumbnails/24.jpg)
Cache Footprint : SCache Footprint : S
Level 3 Level 2 Level 1 Level 0
Generation 2
Generation 1
Generation 0
![Page 25: Order-Independent Texture Synthesis](https://reader030.vdocument.in/reader030/viewer/2022033106/568143a3550346895db024b6/html5/thumbnails/25.jpg)
Cache Footprint : SphereCache Footprint : Sphere
Level 3 Level 2 Level 1 Level 0
Generation 2
Generation 1
Generation 0
![Page 26: Order-Independent Texture Synthesis](https://reader030.vdocument.in/reader030/viewer/2022033106/568143a3550346895db024b6/html5/thumbnails/26.jpg)
Cache Footprint : RandomCache Footprint : Random
Level 3 Level 2 Level 1 Level 0
Generation 2
Generation 1
Generation 0
![Page 27: Order-Independent Texture Synthesis](https://reader030.vdocument.in/reader030/viewer/2022033106/568143a3550346895db024b6/html5/thumbnails/27.jpg)
Cache Footprint: Cache Footprint: Single PixelSingle Pixel
Level 3
Level 2
Level 1
Level 0
Generation 2 Generation 1 Generation 0
1148 pixels!
![Page 28: Order-Independent Texture Synthesis](https://reader030.vdocument.in/reader030/viewer/2022033106/568143a3550346895db024b6/html5/thumbnails/28.jpg)
Cache Footprint:Cache Footprint:Poisson PointsPoisson Points
Level 3
Level 2
Level 1
Level 0
Generation 2 Generation 1 Generation 0
![Page 29: Order-Independent Texture Synthesis](https://reader030.vdocument.in/reader030/viewer/2022033106/568143a3550346895db024b6/html5/thumbnails/29.jpg)
Cache Footprint:Cache Footprint:Circular PatternCircular Pattern
Level 3
Level 2
Level 1
Level 0
Generation 2 Generation 1 Generation 0
![Page 30: Order-Independent Texture Synthesis](https://reader030.vdocument.in/reader030/viewer/2022033106/568143a3550346895db024b6/html5/thumbnails/30.jpg)
Cache Usage StatisticsCache Usage Statistics
Percentage of input requested
Per
cent
age
of c
ache
use
d
random
sphere
ideal (linear)
![Page 31: Order-Independent Texture Synthesis](https://reader030.vdocument.in/reader030/viewer/2022033106/568143a3550346895db024b6/html5/thumbnails/31.jpg)
Cache CoherenceCache Coherence
![Page 32: Order-Independent Texture Synthesis](https://reader030.vdocument.in/reader030/viewer/2022033106/568143a3550346895db024b6/html5/thumbnails/32.jpg)
Quality ComparisonQuality Comparison
old new
![Page 33: Order-Independent Texture Synthesis](https://reader030.vdocument.in/reader030/viewer/2022033106/568143a3550346895db024b6/html5/thumbnails/33.jpg)
QuakeQuake
Texture 64 64 Texture 512 512
Input
44% requested48% computed
![Page 34: Order-Independent Texture Synthesis](https://reader030.vdocument.in/reader030/viewer/2022033106/568143a3550346895db024b6/html5/thumbnails/34.jpg)
QuickTime VRQuickTime VR
Original Result
Input
invisible
![Page 35: Order-Independent Texture Synthesis](https://reader030.vdocument.in/reader030/viewer/2022033106/568143a3550346895db024b6/html5/thumbnails/35.jpg)
Simulation ResultSimulation Result
![Page 36: Order-Independent Texture Synthesis](https://reader030.vdocument.in/reader030/viewer/2022033106/568143a3550346895db024b6/html5/thumbnails/36.jpg)
Architecture DesignArchitecture Design
![Page 37: Order-Independent Texture Synthesis](https://reader030.vdocument.in/reader030/viewer/2022033106/568143a3550346895db024b6/html5/thumbnails/37.jpg)
PitfallsPitfalls
• not feasible for current hardware
• can only be applied to repeating patterns
![Page 38: Order-Independent Texture Synthesis](https://reader030.vdocument.in/reader030/viewer/2022033106/568143a3550346895db024b6/html5/thumbnails/38.jpg)
Finished WorkFinished Work
• Verification using an infinite cache
![Page 39: Order-Independent Texture Synthesis](https://reader030.vdocument.in/reader030/viewer/2022033106/568143a3550346895db024b6/html5/thumbnails/39.jpg)
Ongoing WorkOngoing Work
• Measuring and understanding various parameters– cache size, associativity, replacement policy– evaluation order for missing pixels (register
allocation)– benchmarking
• Combination with patch-based texture synthesis– patch boundaries?– complicate caching behavior
![Page 40: Order-Independent Texture Synthesis](https://reader030.vdocument.in/reader030/viewer/2022033106/568143a3550346895db024b6/html5/thumbnails/40.jpg)
![Page 41: Order-Independent Texture Synthesis](https://reader030.vdocument.in/reader030/viewer/2022033106/568143a3550346895db024b6/html5/thumbnails/41.jpg)
MotivationMotivation
Texture mapping is important
Texture mapping can be a bottleneck
Solution: Texture Mapping by Synthesis
![Page 42: Order-Independent Texture Synthesis](https://reader030.vdocument.in/reader030/viewer/2022033106/568143a3550346895db024b6/html5/thumbnails/42.jpg)
Hardware TrendHardware Trend
Computation >> Memory Speed
• Transform memory access into computation