TESSELATION 1 OUTLINE Tessellation in OpenGL Tessellation of - - PowerPoint PPT Presentation

tesselation
SMART_READER_LITE
LIVE PREVIEW

TESSELATION 1 OUTLINE Tessellation in OpenGL Tessellation of - - PowerPoint PPT Presentation

TESSELATION 1 OUTLINE Tessellation in OpenGL Tessellation of Bezier Surfaces Tessellation for Terrain/Height Maps Level of Detail 2 THE PIPELINE Remember the pipeline? OPENGL PIPELINE Tessellation is done in


slide-1
SLIDE 1

1

TESSELATION

slide-2
SLIDE 2

OUTLINE

2

  • Tessellation in OpenGL
  • Tessellation of Bezier Surfaces
  • Tessellation for Terrain/Height Maps
  • Level of Detail
slide-3
SLIDE 3

THE PIPELINE

  • Remember the pipeline?
slide-4
SLIDE 4

OPENGL PIPELINE

  • Tessellation is done in three pipeline stages:
  • Tessellation Control Shader (TCS)
  • Allows us to configure the types of triangles generated
  • Tessellator
  • Produces a fixed grid of triangles
  • Tessellation Evaluation Shader (TES)
  • Allows us to manipulate the grid
  • TCS and TES are programmable
  • Middle stage, tessellator, is not programmable
slide-5
SLIDE 5

THE EXAMPLE

slide-6
SLIDE 6

TESSELLATION LEVELS

slide-7
SLIDE 7

VERTEX SHADER

#version 430 uniform mat4 mvp; void main(void) { }

slide-8
SLIDE 8

TESSELLATION CONTROL SHADER

#version 430 uniform mat4 mvp; layout (vertices = 1) out; void main(void) { gl_TessLevelOuter[0] = 6; gl_TessLevelOuter[2] = 6; gl_TessLevelOuter[1] = 6; gl_TessLevelOuter[3] = 6; gl_TessLevelInner[0] = 12; gl_TessLevelInner[1] = 12; }

slide-9
SLIDE 9

TESSELLATION EVALUATION SHADER

#version 430 layout (quads, equal_spacing, ccw) in; uniform mat4 mvp; void main (void) { float u = gl_TessCoord.x; float v = gl_TessCoord.y; gl_Position = mvp * vec4(u,0,v,1); }

slide-10
SLIDE 10

FRAGMENT SHADER

#version 430

  • ut vec4 color;

uniform mat4 mvp; void main(void) { color = vec4(1.0, 1.0, 0.0, 1.0); }

slide-11
SLIDE 11
slide-12
SLIDE 12

TESSELLATION FOR BEZIER SURFACES

slide-13
SLIDE 13

THE EXAMPLE

slide-14
SLIDE 14

TESSELLATION FOR TERRAIN / HEIGHT MAPS

slide-15
SLIDE 15

OVERLY JAGGED

slide-16
SLIDE 16

HEIGHT MAP AND NORMAL MAP

slide-17
SLIDE 17

WITH NORMAL MAP AND LIGHTING

slide-18
SLIDE 18

LEVEL OF DETAIL

slide-19
SLIDE 19

SUMMARY

19

  • Tessellation in OpenGL
  • Tessellation of Bezier Surfaces
  • Tessellation for Terrain/Height Maps
  • Level of Detail