ptex and vector displacement in amd demos karl hillesland member of technical staff, amd
DESCRIPTION
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. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Ptex and Vector Displacement in AMD Demos Karl Hillesland Member of Technical Staff, AMD](https://reader038.vdocument.in/reader038/viewer/2022102808/56812ec2550346895d946399/html5/thumbnails/1.jpg)
Ptex and Vector Displacement in AMD Demos
Karl HilleslandMember of Technical Staff, AMD
![Page 2: Ptex and Vector Displacement in AMD Demos Karl Hillesland Member of Technical Staff, AMD](https://reader038.vdocument.in/reader038/viewer/2022102808/56812ec2550346895d946399/html5/thumbnails/2.jpg)
Ptex Showings
●September 2011 – Press Event●Siggraph Asia 2011 – Sketch●Radeon HD 7970 Launch – Press Event
● Modified GL version, won’t discuss
![Page 3: Ptex and Vector Displacement in AMD Demos Karl Hillesland Member of Technical Staff, AMD](https://reader038.vdocument.in/reader038/viewer/2022102808/56812ec2550346895d946399/html5/thumbnails/3.jpg)
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
![Page 4: Ptex and Vector Displacement in AMD Demos Karl Hillesland Member of Technical Staff, AMD](https://reader038.vdocument.in/reader038/viewer/2022102808/56812ec2550346895d946399/html5/thumbnails/4.jpg)
Ptex
Ptex: Per-face Texture Mapping for Production Rendering[Burley and Lacewell, 2008]
●Per-face textures + MIPs●Adjacency for filtering
![Page 5: Ptex and Vector Displacement in AMD Demos Karl Hillesland Member of Technical Staff, AMD](https://reader038.vdocument.in/reader038/viewer/2022102808/56812ec2550346895d946399/html5/thumbnails/5.jpg)
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
![Page 6: Ptex and Vector Displacement in AMD Demos Karl Hillesland Member of Technical Staff, AMD](https://reader038.vdocument.in/reader038/viewer/2022102808/56812ec2550346895d946399/html5/thumbnails/6.jpg)
Borders for Filtering
Face A Texture Face B Texture
Kernel
Note: Quad centric
![Page 7: Ptex and Vector Displacement in AMD Demos Karl Hillesland Member of Technical Staff, AMD](https://reader038.vdocument.in/reader038/viewer/2022102808/56812ec2550346895d946399/html5/thumbnails/7.jpg)
Borders for Filtering
![Page 8: Ptex and Vector Displacement in AMD Demos Karl Hillesland Member of Technical Staff, AMD](https://reader038.vdocument.in/reader038/viewer/2022102808/56812ec2550346895d946399/html5/thumbnails/8.jpg)
Borders for Filtering
![Page 9: Ptex and Vector Displacement in AMD Demos Karl Hillesland Member of Technical Staff, AMD](https://reader038.vdocument.in/reader038/viewer/2022102808/56812ec2550346895d946399/html5/thumbnails/9.jpg)
Borders for Filtering
![Page 10: Ptex and Vector Displacement in AMD Demos Karl Hillesland Member of Technical Staff, AMD](https://reader038.vdocument.in/reader038/viewer/2022102808/56812ec2550346895d946399/html5/thumbnails/10.jpg)
Packed Ptex
Pack in one texture● Includes all MIPs● Sorted by resolution
![Page 11: Ptex and Vector Displacement in AMD Demos Karl Hillesland Member of Technical Staff, AMD](https://reader038.vdocument.in/reader038/viewer/2022102808/56812ec2550346895d946399/html5/thumbnails/11.jpg)
Runtime Shader●Compute atlas location starting with primitive ID and face UV
![Page 12: Ptex and Vector Displacement in AMD Demos Karl Hillesland Member of Technical Staff, AMD](https://reader038.vdocument.in/reader038/viewer/2022102808/56812ec2550346895d946399/html5/thumbnails/12.jpg)
Runtime Shader●Compute desired resolution using ddx and ddy of face UV
![Page 13: Ptex and Vector Displacement in AMD Demos Karl Hillesland Member of Technical Staff, AMD](https://reader038.vdocument.in/reader038/viewer/2022102808/56812ec2550346895d946399/html5/thumbnails/13.jpg)
Runtime Shader●Compute desired resolution using face UV●Clamp to base resolution
![Page 14: Ptex and Vector Displacement in AMD Demos Karl Hillesland Member of Technical Staff, AMD](https://reader038.vdocument.in/reader038/viewer/2022102808/56812ec2550346895d946399/html5/thumbnails/14.jpg)
Runtime Shader●Compute desired resolution using face UV●Clamp to base resolution●Find resolution block
![Page 15: Ptex and Vector Displacement in AMD Demos Karl Hillesland Member of Technical Staff, AMD](https://reader038.vdocument.in/reader038/viewer/2022102808/56812ec2550346895d946399/html5/thumbnails/15.jpg)
Runtime Shader●Compute desired resolution using face UV●Clamp to base resolution●Find resolution block●Find face location
![Page 16: Ptex and Vector Displacement in AMD Demos Karl Hillesland Member of Technical Staff, AMD](https://reader038.vdocument.in/reader038/viewer/2022102808/56812ec2550346895d946399/html5/thumbnails/16.jpg)
Runtime Shader●Compute desired resolution using face UV●Clamp to base resolution●Find resolution block●Find face location● Incorporate face UV for
final UV
![Page 17: Ptex and Vector Displacement in AMD Demos Karl Hillesland Member of Technical Staff, AMD](https://reader038.vdocument.in/reader038/viewer/2022102808/56812ec2550346895d946399/html5/thumbnails/17.jpg)
Constant Buffers●Indexed by resolution●Row (V) offset
● Block location
●Prefix Sum● Face resolution● Offset in bin
●Ours: 20 4-byte values
BaseCount
Prefix Sum
16 x 16 5 5
32 x 32 5 10
64 x 64 3 13
![Page 18: Ptex and Vector Displacement in AMD Demos Karl Hillesland Member of Technical Staff, AMD](https://reader038.vdocument.in/reader038/viewer/2022102808/56812ec2550346895d946399/html5/thumbnails/18.jpg)
Preprocess
●Sort primitives by resolution●Generate packed textures●Generate constant buffers
● Prefix sum of resolution count● Row (V) offset for each resolution
![Page 19: Ptex and Vector Displacement in AMD Demos Karl Hillesland Member of Technical Staff, AMD](https://reader038.vdocument.in/reader038/viewer/2022102808/56812ec2550346895d946399/html5/thumbnails/19.jpg)
Texture Compression
●Start with at least 2x2●2-texel border to get mulitple of 4x4●Prevents compression across faces
![Page 20: Ptex and Vector Displacement in AMD Demos Karl Hillesland Member of Technical Staff, AMD](https://reader038.vdocument.in/reader038/viewer/2022102808/56812ec2550346895d946399/html5/thumbnails/20.jpg)
Authoring Vector Displacement
●Author base mesh●Subdivide and edit●Export Displacement from base
![Page 21: Ptex and Vector Displacement in AMD Demos Karl Hillesland Member of Technical Staff, AMD](https://reader038.vdocument.in/reader038/viewer/2022102808/56812ec2550346895d946399/html5/thumbnails/21.jpg)
Vector Displacement Without Seams●Preprocessing
● Border values match● Corners match
●Runtime● Constant tessellation for now
![Page 22: Ptex and Vector Displacement in AMD Demos Karl Hillesland Member of Technical Staff, AMD](https://reader038.vdocument.in/reader038/viewer/2022102808/56812ec2550346895d946399/html5/thumbnails/22.jpg)
Demos
![Page 23: Ptex and Vector Displacement in AMD Demos Karl Hillesland Member of Technical Staff, AMD](https://reader038.vdocument.in/reader038/viewer/2022102808/56812ec2550346895d946399/html5/thumbnails/23.jpg)
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
![Page 24: Ptex and Vector Displacement in AMD Demos Karl Hillesland Member of Technical Staff, AMD](https://reader038.vdocument.in/reader038/viewer/2022102808/56812ec2550346895d946399/html5/thumbnails/24.jpg)
Space Efficiency
37% Black 7% Black9-23% Borders
![Page 25: Ptex and Vector Displacement in AMD Demos Karl Hillesland Member of Technical Staff, AMD](https://reader038.vdocument.in/reader038/viewer/2022102808/56812ec2550346895d946399/html5/thumbnails/25.jpg)
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
![Page 26: Ptex and Vector Displacement in AMD Demos Karl Hillesland Member of Technical Staff, AMD](https://reader038.vdocument.in/reader038/viewer/2022102808/56812ec2550346895d946399/html5/thumbnails/26.jpg)
Conclusion
●Can actually save memory●Computationally cheap●Most promising for seamless displacement