Geometry shader

9
Geometry shader Mateusz Sołtys

description

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). - PowerPoint PPT Presentation

Transcript of Geometry shader

Page 1: Geometry shader

Geometry shader Mateusz Sołtys

Page 2: Geometry shader

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).

Page 3: Geometry shader

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

Page 4: Geometry shader

Po co?•Do generowania punktowych spritów

•Tesselacji

•Renderowania do mapy sześciennej

•Shadow volume

•Przybliżanie krzywych

•Modyfikowanie złożoności siatki

Page 5: Geometry shader

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

Page 6: Geometry shader

Prymitywy wyjściowe

•Punkty (GL_POINTS) – 1 wierzchołek

•Łamana (GL_LINE_STRIP) – >1

•Pasek trójkątów (GL_TRIANGLE_STRIP) -

>3

Page 7: Geometry shader

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

Page 8: Geometry shader

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

Page 9: Geometry shader

Pytania na kolokwium•W jakiej kolejności wykonywane są

shadery•Jakie 2 główne funkcje są specyficzne

dla geometry shadera