SlideShare a Scribd company logo
Optimizations with Geometry Shaders Alessandro Rigazzi Data Analysis and Visualization Group May 27, 2008
Geometry shader: what and where Programmable stage of the rendering pipeline In Open GL: takes any primitive as input, can output: Points Line Strips Triangle Strips Basically: can add geometry which is not stored Vertex Shader Geometry Shader Fragment Shader
Some potential uses Mesh refinement Send  few triangles  to video memory and refine them in shader Frustum culling Discard triangles  outside of rendered scene  before fragment processing Level Of Detail Refine  mesh  according to distance  from camera We  merge these three ideas  in  one sample application
Sample application: first stage, refinement We draw spheres: for each sphere we just send two pyramids ( eight triangles ) to the video memory and we  refine  them  three times  in the geometry shader Input Geometry Output Geometry
Sample application: second stage, LOD We  dynamically  subdivide the spheres, depending on their distance to the camera,  framerate  is  more than doubled  (four levels of detail) Input Geometry Output Geometry
Sample application: third stage, frustum culling We  do not process triangles  which are completely  outside of the frustum : the image is the same, but we get an  11x improvement  of the framerate Input Geometry Output Geometry
Benchmark
Limitations Geometry shaders require  Shader Model 4 , i.e., for Open GL two extensions are needed: GL_EXT_geometry_shader4 GL_EXT_gpu_shader4 Extensions supported in  modern graphic cards  (e.g. nVidia G80 or later) Limited number of primitive and vertices  which can be  emitted by the vertex shader  (commonly, at most 1024 floating points components can be emitted)

More Related Content

PPT
Build Your Own 3D Scanner: 3D Scanning with Swept-Planes
PPT
Build Your Own 3D Scanner: Surface Reconstruction
PPT
Build Your Own 3D Scanner: 3D Scanning with Structured Lighting
PPT
Build Your Own 3D Scanner: The Mathematics of 3D Triangulation
PPT
Build Your Own 3D Scanner: Conclusion
PPT
Ala Stolpnik's Standard Model talk
PPTX
Orb feature by nitin
PPTX
Detection and identification of cheaters in (t, n) secret
Build Your Own 3D Scanner: 3D Scanning with Swept-Planes
Build Your Own 3D Scanner: Surface Reconstruction
Build Your Own 3D Scanner: 3D Scanning with Structured Lighting
Build Your Own 3D Scanner: The Mathematics of 3D Triangulation
Build Your Own 3D Scanner: Conclusion
Ala Stolpnik's Standard Model talk
Orb feature by nitin
Detection and identification of cheaters in (t, n) secret

What's hot (20)

PPTX
PCL (Point Cloud Library)
PDF
Poster_Final
PPT
Build Your Own 3D Scanner: Introduction
PPT
Soft Shadow Maps for Linear Lights
PDF
MIRU2016 invited talk - Recovering Transparent Shape from Time-of-Flight Dist...
PDF
Practical Digital Image Processing 4
PPTX
2.5D Clip-Surfaces for Technical Visualization
PPTX
Point cloud library
PPT
Praseed Pai
PDF
Lecture 02 yasutaka furukawa - 3 d reconstruction with priors
PDF
Structure and Motion - 3D Reconstruction of Cameras and Structure
PPTX
Computer Graphics (Hidden surfaces and line removal, Curves and surfaces, Sur...
PPTX
All projects
PPTX
Application of Dijkstra Algorithm in Robot path planning
PPTX
Morphological antialiasing
PPTX
Ray casting algorithm by mhm
PPTX
Geometry Batching Using Texture-Arrays
PDF
Computer Graphics
PPT
IGARSS2011_vehicles_M_SHIMONI.ppt
PPTX
Real-Time Visual Simulation of Smoke
PCL (Point Cloud Library)
Poster_Final
Build Your Own 3D Scanner: Introduction
Soft Shadow Maps for Linear Lights
MIRU2016 invited talk - Recovering Transparent Shape from Time-of-Flight Dist...
Practical Digital Image Processing 4
2.5D Clip-Surfaces for Technical Visualization
Point cloud library
Praseed Pai
Lecture 02 yasutaka furukawa - 3 d reconstruction with priors
Structure and Motion - 3D Reconstruction of Cameras and Structure
Computer Graphics (Hidden surfaces and line removal, Curves and surfaces, Sur...
All projects
Application of Dijkstra Algorithm in Robot path planning
Morphological antialiasing
Ray casting algorithm by mhm
Geometry Batching Using Texture-Arrays
Computer Graphics
IGARSS2011_vehicles_M_SHIMONI.ppt
Real-Time Visual Simulation of Smoke
Ad

Viewers also liked (6)

PDF
Presentatie Lucas Hulsebos DWWA 2008
PDF
Presentation - Tim Smith - DWWA 2008
PDF
Presentatie Emile Van Den Berg DWWA 2008
PPT
Instancing
PDF
Presentatie Reinier Heutink DWWA 2008
PDF
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Presentatie Lucas Hulsebos DWWA 2008
Presentation - Tim Smith - DWWA 2008
Presentatie Emile Van Den Berg DWWA 2008
Instancing
Presentatie Reinier Heutink DWWA 2008
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Ad

Similar to Geometry Shader (20)

PPT
Computer Graphics involves technology to access. The Process transforms and p...
PPT
Advanced Game Development with the Mobile 3D Graphics API
PPT
Advanced Lighting for Interactive Applications
PPT
Secrets of CryENGINE 3 Graphics Technology
PPT
Introduction To Geometry Shaders
PPT
Efficient LDI Representation (TPCG 2008)
PPTX
Focused Image Creation Algorithms for digital holography
PPT
CS 354 Pixel Updating
PPTX
Class[4][19th jun] [three js-camera&light]
PPT
Shadow Techniques for Real-Time and Interactive Applications
PPT
Topic 2 Graphics Systems and Models.ppt
PDF
ee8220_project_W2013_v5
PDF
COMPARISON OF GPU AND FPGA HARDWARE ACCELERATION OF LANE DETECTION ALGORITHM
PDF
Comparison of GPU and FPGA Hardware Acceleration of Lane Detection Algorithm
PDF
new_age_graphics_android_x86
PDF
CG3_ch3+ch4computergraphicsbreesenhan.pdf
PPT
A Bit More Deferred Cry Engine3
PPTX
Chapter02 graphics-programming
PPT
Photogrammetry 1.
PPT
image processing for jpeg presentati.ppt
Computer Graphics involves technology to access. The Process transforms and p...
Advanced Game Development with the Mobile 3D Graphics API
Advanced Lighting for Interactive Applications
Secrets of CryENGINE 3 Graphics Technology
Introduction To Geometry Shaders
Efficient LDI Representation (TPCG 2008)
Focused Image Creation Algorithms for digital holography
CS 354 Pixel Updating
Class[4][19th jun] [three js-camera&light]
Shadow Techniques for Real-Time and Interactive Applications
Topic 2 Graphics Systems and Models.ppt
ee8220_project_W2013_v5
COMPARISON OF GPU AND FPGA HARDWARE ACCELERATION OF LANE DETECTION ALGORITHM
Comparison of GPU and FPGA Hardware Acceleration of Lane Detection Algorithm
new_age_graphics_android_x86
CG3_ch3+ch4computergraphicsbreesenhan.pdf
A Bit More Deferred Cry Engine3
Chapter02 graphics-programming
Photogrammetry 1.
image processing for jpeg presentati.ppt

Recently uploaded (20)

PPTX
A Presentation on Touch Screen Technology
PDF
Enhancing emotion recognition model for a student engagement use case through...
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PPTX
Tartificialntelligence_presentation.pptx
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PDF
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PPTX
A Presentation on Artificial Intelligence
PPTX
Chapter 5: Probability Theory and Statistics
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PPTX
Programs and apps: productivity, graphics, security and other tools
PPTX
cloud_computing_Infrastucture_as_cloud_p
PPTX
TLE Review Electricity (Electricity).pptx
PPTX
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
PDF
Mushroom cultivation and it's methods.pdf
PPTX
OMC Textile Division Presentation 2021.pptx
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
A comparative analysis of optical character recognition models for extracting...
A Presentation on Touch Screen Technology
Enhancing emotion recognition model for a student engagement use case through...
NewMind AI Weekly Chronicles - August'25-Week II
Tartificialntelligence_presentation.pptx
gpt5_lecture_notes_comprehensive_20250812015547.pdf
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
Univ-Connecticut-ChatGPT-Presentaion.pdf
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
SOPHOS-XG Firewall Administrator PPT.pptx
A Presentation on Artificial Intelligence
Chapter 5: Probability Theory and Statistics
Assigned Numbers - 2025 - Bluetooth® Document
Programs and apps: productivity, graphics, security and other tools
cloud_computing_Infrastucture_as_cloud_p
TLE Review Electricity (Electricity).pptx
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
Mushroom cultivation and it's methods.pdf
OMC Textile Division Presentation 2021.pptx
Digital-Transformation-Roadmap-for-Companies.pptx
A comparative analysis of optical character recognition models for extracting...

Geometry Shader

  • 1. Optimizations with Geometry Shaders Alessandro Rigazzi Data Analysis and Visualization Group May 27, 2008
  • 2. Geometry shader: what and where Programmable stage of the rendering pipeline In Open GL: takes any primitive as input, can output: Points Line Strips Triangle Strips Basically: can add geometry which is not stored Vertex Shader Geometry Shader Fragment Shader
  • 3. Some potential uses Mesh refinement Send few triangles to video memory and refine them in shader Frustum culling Discard triangles outside of rendered scene before fragment processing Level Of Detail Refine mesh according to distance from camera We merge these three ideas in one sample application
  • 4. Sample application: first stage, refinement We draw spheres: for each sphere we just send two pyramids ( eight triangles ) to the video memory and we refine them three times in the geometry shader Input Geometry Output Geometry
  • 5. Sample application: second stage, LOD We dynamically subdivide the spheres, depending on their distance to the camera, framerate is more than doubled (four levels of detail) Input Geometry Output Geometry
  • 6. Sample application: third stage, frustum culling We do not process triangles which are completely outside of the frustum : the image is the same, but we get an 11x improvement of the framerate Input Geometry Output Geometry
  • 8. Limitations Geometry shaders require Shader Model 4 , i.e., for Open GL two extensions are needed: GL_EXT_geometry_shader4 GL_EXT_gpu_shader4 Extensions supported in modern graphic cards (e.g. nVidia G80 or later) Limited number of primitive and vertices which can be emitted by the vertex shader (commonly, at most 1024 floating points components can be emitted)