1 / 13

Tessellation Shaders

Tessellation Shaders. Bezier Surface. similar to Bezier curve, except need two parameters u and v 16 control points instead of 4 parametric matrix equation see Dr. Bailey’s tessellation shader slides 27-35. Whole-Sphere Subdivision.

justus
Download Presentation

Tessellation Shaders

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. Tessellation Shaders

  2. Bezier Surface • similar to Bezier curve, except • need two parameters u and v • 16 control points instead of 4 • parametric matrix equation • see Dr. Bailey’s tessellation shader slides 27-35

  3. Whole-Sphere Subdivision • a tessellation shader can easily be used to create a sphere given only its location and radius • a sphere can be parameterized using two angles • just use a quad

  4. Whole-Sphere Subdivision • the outer tessellation levels are useful here • low tessellation on the two outer edges at the poles • high tessellation on the two outer edges that are meridians • see Dr. Bailey’s tessellation shader slides 36-40

  5. Adapting to Screen Coverage • so far we have been using inner and outer tessellation levels that are passed in as uniform variables • this is somewhat inflexible • it would be useful if the tessellation shader could determine an “optimal” level of tessellation • one idea • adjust tessellation based on the area of the screen covered • TCS needs to be able to compute or guess what the final patch will look like on the screen for this to work

  6. Adapting to Screen Coverage • for the whole-sphere example this is straightforward • compute the extents of the three axes of the sphere in NDC or screen coordinates • use the extents to set the number of outer tessellation levels for the meridian edges • see Dr. Bailey’s tessellation shader slides 41-44

  7. Adapting to Screen Coverage

  8. Adapting to Screen Coverage

  9. Adapting to Screen Coverage

  10. Adapting to Screen Coverage

  11. PN Triangles • a method of tessellating objects made up of triangles where the per-vertex normal vectors are known (or can be calculated) • useful when your models are made up of triangles instead of smooth patches (like Bezier or B spline surfaces) • basic idea • use the vertices and normal vectors of the input triangle to compute a displacement field that produces a “Bezier triangle” • see Dr. Bailey’s tessellation shader slides 45-51 • see jdupuy’s blog posting

  12. Phong Tessellation • essentially a geometric version of Phong normal interpolation where the vertex positions are interpolated (instead of the normal vectors) http://perso.telecom-paristech.fr/~boubek/papers/PhongTessellation/

  13. Phong Tessellation • simpler than PN triangles and produces similar results • see jdupuy’s blog posting for a shader • see original paper for full details http://perso.telecom-paristech.fr/~boubek/papers/PhongTessellation/

More Related