1 / 42

Order-Independent Texture Synthesis

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

silas
Download Presentation

Order-Independent Texture Synthesis

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Order-Independent Texture Synthesis Li-Yi Wei Marc Levoy Gcafe 1/30/2003

  2. 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 less general, hard to set parameters

  3. Goal 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

  4. New Algorithm Key Ideas: • multiple generations • neighborhood contains only old values • lower generations, lower resolutions • pyramidal cache • Details: • see the paper (4 pages only)☺

  5. Example Generation 2 Generation 1 Generation 0

  6. Level 3 Level 2 Level 1 Level 0 Generation 2 Generation 1 Generation 0 Example

  7. Single Polygon 19% requested 23% computed Rendering Mipmap Texture

  8. Quake Texture 64  64 Unnatural repetition Texture 512  512 Less repetition

  9. Ray Casting Scene Texture

  10. Simulation Result

  11. Future Work Implementation as fragment shader☻

  12. End

  13. Overview Procedurally Statistical Texture Synthesis • algorithm • architecture Applications • procedural shader • interactive tools • texture mapping hardware

  14. Texture Mapping • Bottleneck in graphics pipeline • computation • texture memory access • Solutions • caching • pre-fetching • compression [VQ] texture image

  15. Copy Search noise Input pyramid Output pyramid How It Works noise

  16. Goal • Combine advantages from both camps • general • independent texel evaluation

  17. Order-Independent Texture 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

  18. Problem with Old Algorithm dependency graph level row col 0 -1 0 0 +1 0 0 0 -1 0 0 +1 -1 0 0 cycles in the dependency graph!

  19. Order-independent evaluation New Algorithm dependency graph Keep multiple generations Acyclic dependency graph level row col generation 0 -1 0 -1 0 +1 0 -1 0 0 -1 -1 0 0 +1 -1 -1 0 0 newest

  20. Implementation : Cache • no full pyramid required, use cache instead • output determined solely by lowest resolution

  21. Algorithm evaluate (level=L, row = x, col = y, generation = g) 1. If in cache, return it 2. Collect neighborhood 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 Cached? evaluate (L, x-1, y, g-1) 3. Find best match

  22. Generation 2 Generation 1 Generation 0 Level 3 Level 2 Level 1 Level 0 Cache Footprint : Single Pixel

  23. Generation 2 Generation 1 Generation 0 Level 3 Level 2 Level 1 Level 0 Cache Footprint : S

  24. Generation 2 Generation 1 Generation 0 Level 3 Level 2 Level 1 Level 0 Cache Footprint : Sphere

  25. Generation 2 Generation 1 Generation 0 Level 3 Level 2 Level 1 Level 0 Cache Footprint : Random

  26. Level 3 Level 2 Level 1 Level 0 Generation 2 Generation 1 Generation 0 Cache Footprint: Single Pixel 1148 pixels!

  27. Level 3 Level 2 Level 1 Level 0 Generation 2 Generation 1 Generation 0 Cache Footprint:Poisson Points

  28. Level 3 Level 2 Level 1 Level 0 Generation 2 Generation 1 Generation 0 Cache Footprint:Circular Pattern

  29. Cache Usage Statistics random sphere Percentage of cache used ideal (linear) Percentage of input requested

  30. Cache Coherence

  31. Quality Comparison old new

  32. Quake 44% requested 48% computed Input Texture 64  64 Texture 512  512

  33. QuickTime VR invisible Input Original Result

  34. Simulation Result

  35. Architecture Design

  36. Pitfalls • not feasible for current hardware • can only be applied to repeating patterns

  37. Finished Work • Verification using an infinite cache

  38. Ongoing 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

  39. Motivation Texture mapping is important Texture mapping can be a bottleneck Solution: Texture Mapping by Synthesis

  40. Hardware Trend •  Computation >>  Memory Speed • Transform memory access into computation

More Related