1 / 9

Geometry shader

Geometry shader . Mateusz Sołtys. Geometry shader. Geometry shader jest to shader odpowiedzialny za przetwarzanie prymitywów (podstawowych obiektów sceny). Zaprezentowany w listopadzie 2006 r. Wprowadzony do wersji core w OpenGl 3.2 (wcześniej był dostępny jako rozszerzenie).

evadne
Download Presentation

Geometry shader

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. Geometry shader Mateusz Sołtys

  2. Geometry shader • Geometry shader jest to shader odpowiedzialny za przetwarzanie prymitywów (podstawowych obiektów sceny). • Zaprezentowany w listopadzie 2006 r. • Wprowadzony do wersji core w OpenGl 3.2 (wcześniej był dostępny jako rozszerzenie).

  3. Geometry shader • W przeciwieństwie do vertex shadera geometry shader może tworzyć nowe prymitywy. • Geometry shader jest opcjonalny i nie musi zostać użyty w programie. • Output Vertex Shadera = Input Geometry Shadera • Outpu Geometry Shadera = Input Fragment Shadera

  4. Po co? • Do generowania punktowych spritów • Tesselacji • Renderowania do mapy sześciennej • Shadow volume • Przybliżanie krzywych • Modyfikowanie złożoności siatki

  5. Prymitywy wejściowe • Punkty (GL_POINTS) – 1 wierzchołek • Linie (GL_LINES) - 2 • Trójkąty (GL_TRIANGLES) - 3 • Linie z przyległymi wierzchołkami (GL_LINES_ADJACENCY) – 4 • Trójkąty z przyległymi wierzchołkami (GL_TRIANGLE_ADJACENCY) – 6

  6. Prymitywy wyjściowe • Punkty (GL_POINTS) – 1 wierzchołek • Łamana (GL_LINE_STRIP) – >1 • Pasek trójkątów (GL_TRIANGLE_STRIP) - >3

  7. Geometry shader może zmieniać następujące zmienne: • Gl_Position • Gl_TexCoord[] • Gl_FrontColor • Gl_BackColor • Gl_PointSize • Gl_Layer • Gl_PrimitiveID

  8. Funkcje • EmitVertex() – określa że vertex jest skończony i jest dodany do aktualnego prymitywu • EndPrimative() – określa że obecny prymityw wyjścia jest skończony i że następny może być rozpoczęty

  9. Pytania na kolokwium • W jakiej kolejności wykonywane są shadery • Jakie 2 główne funkcje są specyficzne dla geometry shadera

More Related