1 / 26

Ptex and Vector Displacement in AMD Demos Karl Hillesland Member of Technical Staff, AMD

Ptex and Vector Displacement in AMD Demos Karl Hillesland Member of Technical Staff, AMD. Ptex Showings. September 2011 – Press Event Siggraph Asia 2011 – Sketch Radeon HD 7970 Launch – Press Event Modified GL version , won’t discuss. Ptex.

mikasi
Download Presentation

Ptex and Vector Displacement in AMD Demos Karl Hillesland Member of Technical Staff, AMD

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. Ptex and Vector Displacement in AMD DemosKarl HilleslandMember of Technical Staff, AMD

  2. Ptex Showings • September 2011 – Press Event • Siggraph Asia 2011 – Sketch • Radeon HD 7970 Launch – Press Event • Modified GL version, won’t discuss

  3. Ptex Ptex: Per-face Texture Mapping for Production Rendering [Burley and Lacewell, 2008] • No UV setup (it’s implicit) • No Seams • Per-Patch Resolution Control • Out-of-core Performance Advantages

  4. Ptex Ptex: Per-face Texture Mapping for Production Rendering [Burley and Lacewell, 2008] • Per-face textures + MIPs • Adjacency for filtering

  5. McDonald and Burley Per-face texture mapping for real-time rendering, McDonald and Burley, SIGGRAPH 2011 Talk. Practical Ptex for Games, John McDonald, Game Developer Magazine, January, 2012

  6. Borders for Filtering Face A Texture Face B Texture Kernel Note: Quad centric

  7. Borders for Filtering

  8. Borders for Filtering

  9. Borders for Filtering

  10. Packed Ptex Pack in one texture • Includes all MIPs • Sorted by resolution

  11. Runtime Shader • Compute atlas location starting with primitive ID and face UV

  12. Runtime Shader • Compute desired resolution using ddx and ddy of face UV

  13. Runtime Shader • Compute desired resolution using face UV • Clamp to base resolution

  14. Runtime Shader • Compute desired resolution using face UV • Clamp to base resolution • Find resolution block

  15. Runtime Shader • Compute desired resolution using face UV • Clamp to base resolution • Find resolution block • Find face location

  16. Runtime Shader • Compute desired resolution using face UV • Clamp to base resolution • Find resolution block • Find face location • Incorporate face UVfor final UV

  17. Constant Buffers • Indexed by resolution • Row (V) offset • Block location • Prefix Sum • Face resolution • Offset in bin • Ours: 20 4-byte values

  18. Preprocess • Sort primitives by resolution • Generate packed textures • Generate constant buffers • Prefix sum of resolution count • Row (V) offset for each resolution

  19. Texture Compression • Start with at least 2x2 • 2-texel border to get mulitple of 4x4 • Prevents compression across faces

  20. Authoring Vector Displacement • Author base mesh • Subdivide and edit • Export Displacement from base

  21. Vector Displacement Without Seams • Preprocessing • Border values match • Corners match • Runtime • Constant tessellation for now

  22. Demos

  23. Time Cost – Displaced Leo • 1920 x 1200 • Albedo, AO, Spec, Normal • Radeon HD 7970 • Wall Clock • Average frame time: 1.3 ms • Average frame cost: ~10 microseconds • Perf Query • Average frame time: 2.8 ms • Average frame cost: 0.6 ms

  24. Space Efficiency 37% Black 7% Black 9-23% Borders

  25. Problems • GS or Tessellation for per-face UVs • Some sorting restrictions • Indirection solves that at a cost • Anisotropic cost • Ties between geometry and texture • Quads only so far

  26. Conclusion • Can actually save memory • Computationally cheap • Most promising for seamless displacement

More Related