Chapter XVIII Surface Tessellation

Slides:



Advertisements
Similar presentations
Tesselation Shaders. Tesselation  dictionary definition of tesselate is the forming of a mosaic.
Advertisements

D3D11 Tessellation Sarah Tariq NVIDIA
 The success of GL lead to OpenGL (1992), a platform-independent API that was  Easy to use  Close enough to the hardware to get excellent performance.
Damon Rocco.  Tessellation: The filling of a plane with polygons such that there is no overlap or gap.  In computer graphics objects are rendered as.
Status – Week 277 Victor Moya.
3D Rendering & Algorithms__ Sean Reichel & Chester Gregg a.k.a. “The boring stuff happening behind the video games you really want to play right now.”
GPU Graphics Processing Unit. Graphics Pipeline Scene Transformations Lighting & Shading ViewingTransformations Rasterization GPUs evolved as hardware.
GEOMETRY SHADER. Breakdown  Basics  Review – graphics pipeline and shaders  What can the geometry shader do?  Working with the geometry shader  GLSL.
Computer Graphics: Programming, Problem Solving, and Visual Communication Steve Cunningham California State University Stanislaus and Grinnell College.
CHAPTER 4 Window Creation and Control © 2008 Cengage Learning EMEA.
Week 2 - Wednesday CS361.
Chris Kerkhoff Matthew Sullivan 10/16/2009.  Shaders are simple programs that describe the traits of either a vertex or a pixel.  Shaders replace a.
1 Graphics CSCI 343, Fall 2015 Lecture 4 More on WebGL.
3D Graphics for Game Programming Chapter IV Fragment Processing and Output Merging.
CS 480/680 Intro Dr. Frederick C Harris, Jr. Fall 2014.
Stream Processing Main References: “Comparing Reyes and OpenGL on a Stream Architecture”, 2002 “Polygon Rendering on a Stream Architecture”, 2000 Department.
Computer Graphics The Rendering Pipeline - Review CO2409 Computer Graphics Week 15.
GRAPHICS PIPELINE & SHADERS SET09115 Intro to Graphics Programming.
Maths & Technologies for Games DirectX 11 – New Features Tessellation & Displacement Mapping CO3303 Week 19.
1 3D API OPENGL ES v1.0 Owned by Silicon Graphics (SGL) Control was then transferred to Khronos Group Introduction.
OpenGL-ES 3.0 And Beyond Boston Photo credit :Johnson Cameraface OpenGL Basics.
Computer Graphics 3 Lecture 6: Other Hardware-Based Extensions Benjamin Mora 1 University of Wales Swansea Dr. Benjamin Mora.
Week 3 Lecture 4: Part 2: GLSL I Based on Interactive Computer Graphics (Angel) - Chapter 9.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
Programming with OpenGL Part 2: Complete Programs Ed Angel Professor of Emeritus of Computer Science University of New Mexico.
Programming with OpenGL Part 2: Complete Programs Ed Angel Professor of Emeritus of Computer Science University of New Mexico.
© David Kirk/NVIDIA and Wen-mei W. Hwu, ECE408, University of Illinois, Urbana-Champaign 1 Programming Massively Parallel Processors Lecture.
What are Computer Graphics Basically anything that is on you Monitor – This includes the text that you will see Text isn’t Advanced Graphics But…. Understanding.
Ray Tracing using Programmable Graphics Hardware
What are shaders? In the field of computer graphics, a shader is a computer program that runs on the graphics processing unit(GPU) and is used to do shading.
UW EXTENSION CERTIFICATE PROGRAM IN GAME DEVELOPMENT 2 ND QUARTER: ADVANCED GRAPHICS The GPU.
Computer Graphics Through OpenGL: From Theory to Experiments, Second Edition Chapter 21.
GLSL I.  Fixed vs. Programmable  HW fixed function pipeline ▪ Faster ▪ Limited  New programmable hardware ▪ Many effects become possible. ▪ Global.
GLSL Review Monday, Nov OpenGL pipeline Command Stream Vertex Processing Geometry processing Rasterization Fragment processing Fragment Ops/Blending.
Chapter 8.1 vocabulary Relation Is a pairing of numbers or a set of ordered pair {(2,1) (3,5) (6, 3)} Domain: first set of numbers Range: Second set of.
Our Graphics Environment Landscape Rendering. Hardware  CPU  Modern CPUs are multicore processors  User programs can run at the same time as other.
By Joey Green. What is a geometry shader? Demo Go over code More geometry shader info Transform Feedback Render To Cube Map Final Project.
Tessellation Shaders.
GPU Architecture and Its Application
Shaders, part 2 alexandri zavodny.
- Introduction - Graphics Pipeline
Real-Time Rendering Buffers in OpenGL 3.3
Graphics Processing Unit
Introduction to OpenGL
Chapter 6 GPU, Shaders, and Shading Languages
The Graphics Rendering Pipeline
CS451Real-time Rendering Pipeline
Introduction to Computer Graphics with WebGL
Chapters VIII Image Texturing
Introduction to Computer Graphics with WebGL
Relations and Functions
Day 05 Shader Basics.
UMBC Graphics for Games
Chapter VI OpenGL ES and Shader
Chapter IX Bump Mapping
Graphics Processing Unit
Chapter III Modeling.
Chapter V Vertex Processing
Lecture 13 Clipping & Scan Conversion
Chapter XIV Normal Mapping
Computer Graphics Practical Lesson 10
Programming with OpenGL Part 3: Shaders
Computer Graphics Introduction to Shaders
CIS 441/541: Introduction to Computer Graphics Lecture 15: shaders
03 | Creating, Texturing and Moving Objects
Introduction to OpenGL
OpenGL-Rendering Pipeline
Functions What is a function? What are the different ways to represent a function?
CS 480/680 Fall 2011 Dr. Frederick C Harris, Jr. Computer Graphics
CIS 6930: Chip Multiprocessor: GPU Architecture and Programming
Presentation transcript:

Chapter XVIII Surface Tessellation

Hardware Tessellation The most notable feature of OpenGL ES 3.2 is the support for hardware tessellation. It enables the GPU to decompose a primitive into a large number of smaller ones. GPU tessellation involves two new programmable stages, the tessellation control shader (henceforth, simply control shader) and the tessellation evaluation shader (henceforth, evaluation shader), and a new hard-wired stage, the tessellation primitive generator (henceforth, tessellator).

Displacement Mapping The input is called a patch. It is either a triangle or a quad. For the paved-ground example, the control shader takes a quad as the base surface and passes it, as is, to the evaluation shader. The control shader determines the tessellation levels and passes them to the tessellator, which accordingly tessellates the domain of the quad into a 2D triangle mesh. Running once for each vertex of the 2D mesh, the evaluation shader takes the quad as a bilinear patch, evaluates a point using (u,v), and displaces it using the height map.

Displacement Mapping (cont’d) Vertex shader Observe that the vertex shader is exempt from the duty of computing gl_Position, the clip-space vertex position. It will be done by the evaluation shader.

Displacement Mapping (cont’d) Multiple control shaders work in parallel, and an invocation of the control shader outputs the variables “of a vertex” in the patch. The number of output vertices is specified using the keyword, vertices. An invocation of the control shader rocesses a vertex, and the vertex ID is stored in the built-in variable gl_InvocationID.

Displacement Mapping (cont’d) Tessellation levels

Displacement Mapping (cont’d) Evaluation shader

Displacement Mapping (cont’d) Evaluation shader

Displacement Mapping (cont’d) Example (16 quads)