shader › ... › unik_s_gpgpu_shader_folien_ss2006.pdf · shader 9 fixed function pipeline (7)...
TRANSCRIPT
![Page 1: Shader › ... › unik_s_gpgpu_shader_folien_ss2006.pdf · Shader 9 Fixed Function Pipeline (7) App. Memory Per-Vertex Operations Fragment Processing Clip Project Viewport Cull Rasterize](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f14215ac4b7e14b2138bc26/html5/thumbnails/1.jpg)
10.05.06Research Group Programming Languages / Methodologies
Shader
1
Shader
Johannes SpohrChristian Niemand
![Page 2: Shader › ... › unik_s_gpgpu_shader_folien_ss2006.pdf · Shader 9 Fixed Function Pipeline (7) App. Memory Per-Vertex Operations Fragment Processing Clip Project Viewport Cull Rasterize](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f14215ac4b7e14b2138bc26/html5/thumbnails/2.jpg)
10.05.06Research Group Programming Languages / Methodologies
Shader
2
Inhalt
1. Fixed Function Pipeline2. Entwicklung3. Kommunikation 4. Anwendung
![Page 3: Shader › ... › unik_s_gpgpu_shader_folien_ss2006.pdf · Shader 9 Fixed Function Pipeline (7) App. Memory Per-Vertex Operations Fragment Processing Clip Project Viewport Cull Rasterize](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f14215ac4b7e14b2138bc26/html5/thumbnails/3.jpg)
10.05.06Research Group Programming Languages / Methodologies
Shader
3
Fixed Function Pipeline (1)
App.Memory
Per-Vertex Operations
FragmentProcessing
ClipProject
ViewportCull
Rasterize
PrimitiveAssembly
Per-Fragment
Operations
FrameBuffer
Operations
FrameBuffer
TextureMemory
(Geometry)
(Pixel)
(Pixel)
(Geometry)
Pixel(Un)PackTransfer
![Page 4: Shader › ... › unik_s_gpgpu_shader_folien_ss2006.pdf · Shader 9 Fixed Function Pipeline (7) App. Memory Per-Vertex Operations Fragment Processing Clip Project Viewport Cull Rasterize](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f14215ac4b7e14b2138bc26/html5/thumbnails/4.jpg)
10.05.06Research Group Programming Languages / Methodologies
Shader
4
Fixed Function Pipeline (2)
App.Memory
Per-Vertex Operations
FragmentProcessing
ClipProject
ViewportCull
Rasterize
PrimitiveAssembly
Per-Fragment
Operations
FrameBuffer
Operations
FrameBuffer
TextureMemory
(Geometry)
(Pixel)
(Pixel)
(Geometry)
Pixel(Un)PackTransfer
![Page 5: Shader › ... › unik_s_gpgpu_shader_folien_ss2006.pdf · Shader 9 Fixed Function Pipeline (7) App. Memory Per-Vertex Operations Fragment Processing Clip Project Viewport Cull Rasterize](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f14215ac4b7e14b2138bc26/html5/thumbnails/5.jpg)
10.05.06Research Group Programming Languages / Methodologies
Shader
5
Fixed Function Pipeline (3)
App.Memory
Per-Vertex Operations
FragmentProcessing
ClipProject
ViewportCull
Rasterize
PrimitiveAssembly
Per-Fragment
Operations
FrameBuffer
Operations
FrameBuffer
TextureMemory
(Geometry)
(Pixel)
(Pixel)
(Geometry)
Pixel(Un)PackTransfer
![Page 6: Shader › ... › unik_s_gpgpu_shader_folien_ss2006.pdf · Shader 9 Fixed Function Pipeline (7) App. Memory Per-Vertex Operations Fragment Processing Clip Project Viewport Cull Rasterize](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f14215ac4b7e14b2138bc26/html5/thumbnails/6.jpg)
10.05.06Research Group Programming Languages / Methodologies
Shader
6
Fixed Function Pipeline (4)
App.Memory
Per-Vertex Operations
FragmentProcessing
ClipProject
ViewportCull
Rasterize
PrimitiveAssembly
Per-Fragment
Operations
FrameBuffer
Operations
FrameBuffer
TextureMemory
(Geometry)
(Pixel)
(Pixel)
(Geometry)
Pixel(Un)PackTransfer
![Page 7: Shader › ... › unik_s_gpgpu_shader_folien_ss2006.pdf · Shader 9 Fixed Function Pipeline (7) App. Memory Per-Vertex Operations Fragment Processing Clip Project Viewport Cull Rasterize](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f14215ac4b7e14b2138bc26/html5/thumbnails/7.jpg)
10.05.06Research Group Programming Languages / Methodologies
Shader
7
Fixed Function Pipeline (5)
App.Memory
Per-Vertex Operations
FragmentProcessing
ClipProject
ViewportCull
Rasterize
PrimitiveAssembly
Per-Fragment
Operations
FrameBuffer
Operations
FrameBuffer
TextureMemory
(Geometry)
(Pixel)
(Pixel)
(Geometry)
Pixel(Un)PackTransfer
![Page 8: Shader › ... › unik_s_gpgpu_shader_folien_ss2006.pdf · Shader 9 Fixed Function Pipeline (7) App. Memory Per-Vertex Operations Fragment Processing Clip Project Viewport Cull Rasterize](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f14215ac4b7e14b2138bc26/html5/thumbnails/8.jpg)
10.05.06Research Group Programming Languages / Methodologies
Shader
8
Fixed Function Pipeline (6)
App.Memory
Per-Vertex Operations
FragmentProcessing
ClipProject
ViewportCull
Rasterize
PrimitiveAssembly
Per-Fragment
Operations
FrameBuffer
Operations
FrameBuffer
TextureMemory
(Geometry)
(Pixel)
(Pixel)
(Geometry)
Pixel(Un)PackTransfer
![Page 9: Shader › ... › unik_s_gpgpu_shader_folien_ss2006.pdf · Shader 9 Fixed Function Pipeline (7) App. Memory Per-Vertex Operations Fragment Processing Clip Project Viewport Cull Rasterize](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f14215ac4b7e14b2138bc26/html5/thumbnails/9.jpg)
10.05.06Research Group Programming Languages / Methodologies
Shader
9
Fixed Function Pipeline (7)
App.Memory
Per-Vertex Operations
FragmentProcessing
ClipProject
ViewportCull
Rasterize
PrimitiveAssembly
Per-Fragment
Operations
FrameBuffer
Operations
FrameBuffer
TextureMemory
(Geometry)
(Pixel)
(Pixel)
(Geometry)
Pixel(Un)PackTransfer
![Page 10: Shader › ... › unik_s_gpgpu_shader_folien_ss2006.pdf · Shader 9 Fixed Function Pipeline (7) App. Memory Per-Vertex Operations Fragment Processing Clip Project Viewport Cull Rasterize](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f14215ac4b7e14b2138bc26/html5/thumbnails/10.jpg)
10.05.06Research Group Programming Languages / Methodologies
Shader
10
Fixed Function Pipeline (8)
App.Memory
Per-Vertex Operations
FragmentProcessing
ClipProject
ViewportCull
Rasterize
PrimitiveAssembly
Per-Fragment
Operations
FrameBuffer
Operations
FrameBuffer
TextureMemory
(Geometry)
(Pixel)
(Pixel)
(Geometry)
Pixel(Un)PackTransfer
![Page 11: Shader › ... › unik_s_gpgpu_shader_folien_ss2006.pdf · Shader 9 Fixed Function Pipeline (7) App. Memory Per-Vertex Operations Fragment Processing Clip Project Viewport Cull Rasterize](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f14215ac4b7e14b2138bc26/html5/thumbnails/11.jpg)
10.05.06Research Group Programming Languages / Methodologies
Shader
11
Fixed Function Pipeline (9)
App.Memory
Per-Vertex Operations
FragmentProcessing
ClipProject
ViewportCull
Rasterize
PrimitiveAssembly
Per-Fragment
Operations
FrameBuffer
Operations
FrameBuffer
TextureMemory
(Geometry)
(Pixel)
(Pixel)
(Geometry)
Pixel(Un)PackTransfer
![Page 12: Shader › ... › unik_s_gpgpu_shader_folien_ss2006.pdf · Shader 9 Fixed Function Pipeline (7) App. Memory Per-Vertex Operations Fragment Processing Clip Project Viewport Cull Rasterize](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f14215ac4b7e14b2138bc26/html5/thumbnails/12.jpg)
10.05.06Research Group Programming Languages / Methodologies
Shader
12
Problematik
• Unflexibel• Kein dynamischer Workflow• Performance
–Speichertransfers
![Page 13: Shader › ... › unik_s_gpgpu_shader_folien_ss2006.pdf · Shader 9 Fixed Function Pipeline (7) App. Memory Per-Vertex Operations Fragment Processing Clip Project Viewport Cull Rasterize](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f14215ac4b7e14b2138bc26/html5/thumbnails/13.jpg)
10.05.06Research Group Programming Languages / Methodologies
Shader
13
Programmable Pipeline
App.Memory
ClipProject
ViewportCull
Rasterize
PrimitiveAssembly
Per-Fragment
Operations
FrameBuffer
Operations
FrameBuffer
TextureMemory
(Geometry)
(Pixel)
(Pixel)
(Geometry)
Pixel(Un)PackTransfer
VertexProcessor
FragmentProcessor
![Page 14: Shader › ... › unik_s_gpgpu_shader_folien_ss2006.pdf · Shader 9 Fixed Function Pipeline (7) App. Memory Per-Vertex Operations Fragment Processing Clip Project Viewport Cull Rasterize](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f14215ac4b7e14b2138bc26/html5/thumbnails/14.jpg)
10.05.06Research Group Programming Languages / Methodologies
Shader
14
Vertex Processor
• Vertex Shader• Per Vertex• Transformation• Beleuchtung• Texturkoordinaten• Texture Lookup
(SM 3.0)
• Pixel Shader• Per Pixel• Texture Lookup• Blending• Beleuchtung
FragmentProcessor
![Page 15: Shader › ... › unik_s_gpgpu_shader_folien_ss2006.pdf · Shader 9 Fixed Function Pipeline (7) App. Memory Per-Vertex Operations Fragment Processing Clip Project Viewport Cull Rasterize](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f14215ac4b7e14b2138bc26/html5/thumbnails/15.jpg)
10.05.06Research Group Programming Languages / Methodologies
Shader
15
Beleuchtung nach Phong
Quelle [P1]
![Page 16: Shader › ... › unik_s_gpgpu_shader_folien_ss2006.pdf · Shader 9 Fixed Function Pipeline (7) App. Memory Per-Vertex Operations Fragment Processing Clip Project Viewport Cull Rasterize](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f14215ac4b7e14b2138bc26/html5/thumbnails/16.jpg)
10.05.06Research Group Programming Languages / Methodologies
Shader
16
Effekt: Detail ohne komplexe Geometrie (1)
Quelle [P6]
![Page 17: Shader › ... › unik_s_gpgpu_shader_folien_ss2006.pdf · Shader 9 Fixed Function Pipeline (7) App. Memory Per-Vertex Operations Fragment Processing Clip Project Viewport Cull Rasterize](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f14215ac4b7e14b2138bc26/html5/thumbnails/17.jpg)
10.05.06Research Group Programming Languages / Methodologies
Shader
17
Effekt: Detail ohne komplexe Geometrie (2)
Quelle [P6]
![Page 18: Shader › ... › unik_s_gpgpu_shader_folien_ss2006.pdf · Shader 9 Fixed Function Pipeline (7) App. Memory Per-Vertex Operations Fragment Processing Clip Project Viewport Cull Rasterize](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f14215ac4b7e14b2138bc26/html5/thumbnails/18.jpg)
10.05.06Research Group Programming Languages / Methodologies
Shader
18
Effekt: Detail ohne komplexe Geometrie (3)
Quelle [P6]
![Page 19: Shader › ... › unik_s_gpgpu_shader_folien_ss2006.pdf · Shader 9 Fixed Function Pipeline (7) App. Memory Per-Vertex Operations Fragment Processing Clip Project Viewport Cull Rasterize](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f14215ac4b7e14b2138bc26/html5/thumbnails/19.jpg)
10.05.06Research Group Programming Languages / Methodologies
Shader
19
Effekt: Detail ohne komplexe Geometrie (4)
Quelle [P6]
![Page 20: Shader › ... › unik_s_gpgpu_shader_folien_ss2006.pdf · Shader 9 Fixed Function Pipeline (7) App. Memory Per-Vertex Operations Fragment Processing Clip Project Viewport Cull Rasterize](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f14215ac4b7e14b2138bc26/html5/thumbnails/20.jpg)
10.05.06Research Group Programming Languages / Methodologies
Shader
20
Vergleich
Quelle [P6]
![Page 21: Shader › ... › unik_s_gpgpu_shader_folien_ss2006.pdf · Shader 9 Fixed Function Pipeline (7) App. Memory Per-Vertex Operations Fragment Processing Clip Project Viewport Cull Rasterize](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f14215ac4b7e14b2138bc26/html5/thumbnails/21.jpg)
10.05.06Research Group Programming Languages / Methodologies
Shader
21
Kurze Zusammenfassung
• Fixed Function Pipeline• Programmable Pipeline
–Programmierbare Vertex- und Fragmentprozessoren
![Page 22: Shader › ... › unik_s_gpgpu_shader_folien_ss2006.pdf · Shader 9 Fixed Function Pipeline (7) App. Memory Per-Vertex Operations Fragment Processing Clip Project Viewport Cull Rasterize](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f14215ac4b7e14b2138bc26/html5/thumbnails/22.jpg)
10.05.06Research Group Programming Languages / Methodologies
Shader
22
Kommunikation
• CPU -> Grafikspeicher (Objektstruktur, Texturen)
• CPU -> GPU (Code, Parameter)• Vertex Shader -> Pixel Shader• Pixel Shader -> Framebuffer
![Page 23: Shader › ... › unik_s_gpgpu_shader_folien_ss2006.pdf · Shader 9 Fixed Function Pipeline (7) App. Memory Per-Vertex Operations Fragment Processing Clip Project Viewport Cull Rasterize](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f14215ac4b7e14b2138bc26/html5/thumbnails/23.jpg)
10.05.06Research Group Programming Languages / Methodologies
Shader
23
Kommunikation
• CPU -> Grafikspeicher (Objektstruktur, Texturen)
• CPU -> GPU (Code, Parameter)• Vertex Shader -> Pixel Shader• Pixel Shader -> Framebuffer
![Page 24: Shader › ... › unik_s_gpgpu_shader_folien_ss2006.pdf · Shader 9 Fixed Function Pipeline (7) App. Memory Per-Vertex Operations Fragment Processing Clip Project Viewport Cull Rasterize](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f14215ac4b7e14b2138bc26/html5/thumbnails/24.jpg)
10.05.06Research Group Programming Languages / Methodologies
Shader
24
Vertexdaten
• Applikation erstellt Vertexbuffer• Vertexformat / -struktur
–Position, Normalen, Texturkoordinaten...
–Abhängig vom gewünschten Effekt
• Übergabe an API: Drawcall–Zeichnen einer Primitivenliste
![Page 25: Shader › ... › unik_s_gpgpu_shader_folien_ss2006.pdf · Shader 9 Fixed Function Pipeline (7) App. Memory Per-Vertex Operations Fragment Processing Clip Project Viewport Cull Rasterize](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f14215ac4b7e14b2138bc26/html5/thumbnails/25.jpg)
10.05.06Research Group Programming Languages / Methodologies
Shader
25
Texturen2D Textur 3D Textur Cubemap
Quelle [P5]
Quelle [P5]
Quelle [P4]
Quelle [P7]
![Page 26: Shader › ... › unik_s_gpgpu_shader_folien_ss2006.pdf · Shader 9 Fixed Function Pipeline (7) App. Memory Per-Vertex Operations Fragment Processing Clip Project Viewport Cull Rasterize](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f14215ac4b7e14b2138bc26/html5/thumbnails/26.jpg)
10.05.06Research Group Programming Languages / Methodologies
Shader
26
Kommunikation
• CPU -> Grafikspeicher (Objektstruktur, Texturen)
• CPU -> GPU (Code, Parameter)• Vertex Shader -> Pixel Shader• Pixel Shader -> Framebuffer
![Page 27: Shader › ... › unik_s_gpgpu_shader_folien_ss2006.pdf · Shader 9 Fixed Function Pipeline (7) App. Memory Per-Vertex Operations Fragment Processing Clip Project Viewport Cull Rasterize](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f14215ac4b7e14b2138bc26/html5/thumbnails/27.jpg)
10.05.06Research Group Programming Languages / Methodologies
Shader
27
Code
• Programmiersprachen–RenderMan–Assembler–GLSL–Cg / HLSL
• Compiler–Kompilierung zur Ladezeit
• Assembler
![Page 28: Shader › ... › unik_s_gpgpu_shader_folien_ss2006.pdf · Shader 9 Fixed Function Pipeline (7) App. Memory Per-Vertex Operations Fragment Processing Clip Project Viewport Cull Rasterize](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f14215ac4b7e14b2138bc26/html5/thumbnails/28.jpg)
10.05.06Research Group Programming Languages / Methodologies
Shader
28
Einschränkungen (1)
Shader 1.1 Shader 2.0 Shader 3.0Pixel Shader Instruktionen 8 96 32000Vertex Shader Instruktionen 128 256 32000Dynamisches Branching Nein Nein JaVerschachtelte Schleifen Nein Ja Ja
Quelle [L1]
![Page 29: Shader › ... › unik_s_gpgpu_shader_folien_ss2006.pdf · Shader 9 Fixed Function Pipeline (7) App. Memory Per-Vertex Operations Fragment Processing Clip Project Viewport Cull Rasterize](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f14215ac4b7e14b2138bc26/html5/thumbnails/29.jpg)
10.05.06Research Group Programming Languages / Methodologies
Shader
29
Einschränkungen (2)
• Eingeschränkte Ein-/Ausgabe–Keine Dateianbindung–Kein RAM-Zugriff–Keine Benutzereingabe–Keine Standardausgabe
![Page 30: Shader › ... › unik_s_gpgpu_shader_folien_ss2006.pdf · Shader 9 Fixed Function Pipeline (7) App. Memory Per-Vertex Operations Fragment Processing Clip Project Viewport Cull Rasterize](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f14215ac4b7e14b2138bc26/html5/thumbnails/30.jpg)
10.05.06Research Group Programming Languages / Methodologies
Shader
30
Parameter
• Einfache Datentypen– float, int, bool–Vektor, Matrix
• Parametertypen–Uniform–Varying–Attribute
![Page 31: Shader › ... › unik_s_gpgpu_shader_folien_ss2006.pdf · Shader 9 Fixed Function Pipeline (7) App. Memory Per-Vertex Operations Fragment Processing Clip Project Viewport Cull Rasterize](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f14215ac4b7e14b2138bc26/html5/thumbnails/31.jpg)
10.05.06Research Group Programming Languages / Methodologies
Shader
31
Uniform
• Applikation -> Shader• Innerhalb eines Drawcalls konstant• In Anwendung & Shader deklariert
–Anwendung schreibt–Shader liest
![Page 32: Shader › ... › unik_s_gpgpu_shader_folien_ss2006.pdf · Shader 9 Fixed Function Pipeline (7) App. Memory Per-Vertex Operations Fragment Processing Clip Project Viewport Cull Rasterize](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f14215ac4b7e14b2138bc26/html5/thumbnails/32.jpg)
10.05.06Research Group Programming Languages / Methodologies
Shader
32
Kommunikation
• CPU -> Grafikspeicher (Objektstruktur, Texturen)
• CPU -> GPU (Code, Parameter)• Vertex Shader -> Pixel Shader• Pixel Shader -> Framebuffer
![Page 33: Shader › ... › unik_s_gpgpu_shader_folien_ss2006.pdf · Shader 9 Fixed Function Pipeline (7) App. Memory Per-Vertex Operations Fragment Processing Clip Project Viewport Cull Rasterize](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f14215ac4b7e14b2138bc26/html5/thumbnails/33.jpg)
10.05.06Research Group Programming Languages / Methodologies
Shader
33
Varying
• Vertex Shader -> Pixel Shader• Berechnung durch Vertex Shader• Interpolation über Dreiecksfläche• Pixel Shader erhält interpolierten
Wert für den jeweiligen Pixel• In beiden Shadern deklariert
Quelle [P8]
![Page 34: Shader › ... › unik_s_gpgpu_shader_folien_ss2006.pdf · Shader 9 Fixed Function Pipeline (7) App. Memory Per-Vertex Operations Fragment Processing Clip Project Viewport Cull Rasterize](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f14215ac4b7e14b2138bc26/html5/thumbnails/34.jpg)
10.05.06Research Group Programming Languages / Methodologies
Shader
34
Attribute
• Vertex Buffer -> Vertex Shader• Mehrere Attribute je Vertex• In Anwendung & Vertex Shader
deklariert
![Page 35: Shader › ... › unik_s_gpgpu_shader_folien_ss2006.pdf · Shader 9 Fixed Function Pipeline (7) App. Memory Per-Vertex Operations Fragment Processing Clip Project Viewport Cull Rasterize](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f14215ac4b7e14b2138bc26/html5/thumbnails/35.jpg)
10.05.06Research Group Programming Languages / Methodologies
Shader
35
Vertex Shader
• Wird pro Vertex angewendet• Transformiert Vertex relativ zum
Betrachter• Berechnet Beleuchtung• Texturkoordinaten• Texture Lookup (SM 3.0)
![Page 36: Shader › ... › unik_s_gpgpu_shader_folien_ss2006.pdf · Shader 9 Fixed Function Pipeline (7) App. Memory Per-Vertex Operations Fragment Processing Clip Project Viewport Cull Rasterize](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f14215ac4b7e14b2138bc26/html5/thumbnails/36.jpg)
10.05.06Research Group Programming Languages / Methodologies
Shader
36
Morphing
• Ein Objekt oder ein Bild wird in ein anderes Objekt bzw. Bild umgeformt
• Demo
![Page 37: Shader › ... › unik_s_gpgpu_shader_folien_ss2006.pdf · Shader 9 Fixed Function Pipeline (7) App. Memory Per-Vertex Operations Fragment Processing Clip Project Viewport Cull Rasterize](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f14215ac4b7e14b2138bc26/html5/thumbnails/37.jpg)
10.05.06Research Group Programming Languages / Methodologies
Shader
37
Skinning• Eingesetzt bei
Charakteranimation
• Objektstruktur wird über animierte Bones (Knochen) gelegt
• Bones haben Einflussvolumen auf Vertices
Quelle [P2] und [P3]
![Page 38: Shader › ... › unik_s_gpgpu_shader_folien_ss2006.pdf · Shader 9 Fixed Function Pipeline (7) App. Memory Per-Vertex Operations Fragment Processing Clip Project Viewport Cull Rasterize](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f14215ac4b7e14b2138bc26/html5/thumbnails/38.jpg)
10.05.06Research Group Programming Languages / Methodologies
Shader
38
Pixel Shader
• Wird pro Pixel angewendet• Texture Lookup• Blending• Beleuchtung
![Page 39: Shader › ... › unik_s_gpgpu_shader_folien_ss2006.pdf · Shader 9 Fixed Function Pipeline (7) App. Memory Per-Vertex Operations Fragment Processing Clip Project Viewport Cull Rasterize](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f14215ac4b7e14b2138bc26/html5/thumbnails/39.jpg)
10.05.06Research Group Programming Languages / Methodologies
Shader
39
Per Vertex Lighting
Screenshot aus RenderMonkey
![Page 40: Shader › ... › unik_s_gpgpu_shader_folien_ss2006.pdf · Shader 9 Fixed Function Pipeline (7) App. Memory Per-Vertex Operations Fragment Processing Clip Project Viewport Cull Rasterize](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f14215ac4b7e14b2138bc26/html5/thumbnails/40.jpg)
10.05.06Research Group Programming Languages / Methodologies
Shader
40
Per Pixel Lighting
Screenshot aus RenderMonkey
![Page 41: Shader › ... › unik_s_gpgpu_shader_folien_ss2006.pdf · Shader 9 Fixed Function Pipeline (7) App. Memory Per-Vertex Operations Fragment Processing Clip Project Viewport Cull Rasterize](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f14215ac4b7e14b2138bc26/html5/thumbnails/41.jpg)
10.05.06Research Group Programming Languages / Methodologies
Shader
41
Bump Mapping
Screenshot aus RenderMonkey
![Page 42: Shader › ... › unik_s_gpgpu_shader_folien_ss2006.pdf · Shader 9 Fixed Function Pipeline (7) App. Memory Per-Vertex Operations Fragment Processing Clip Project Viewport Cull Rasterize](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f14215ac4b7e14b2138bc26/html5/thumbnails/42.jpg)
10.05.06Research Group Programming Languages / Methodologies
Shader
42
Zusammenfassung (1)
• Shader sind kleine Programme• Operieren auf Vertices oder Pixeln
![Page 43: Shader › ... › unik_s_gpgpu_shader_folien_ss2006.pdf · Shader 9 Fixed Function Pipeline (7) App. Memory Per-Vertex Operations Fragment Processing Clip Project Viewport Cull Rasterize](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f14215ac4b7e14b2138bc26/html5/thumbnails/43.jpg)
10.05.06Research Group Programming Languages / Methodologies
Shader
43
Zusammenfassung (2)
Vertex Shader
Uniform
Pixel Shader
Geometrie
Varying
Texturen
Framebuffer
![Page 44: Shader › ... › unik_s_gpgpu_shader_folien_ss2006.pdf · Shader 9 Fixed Function Pipeline (7) App. Memory Per-Vertex Operations Fragment Processing Clip Project Viewport Cull Rasterize](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f14215ac4b7e14b2138bc26/html5/thumbnails/44.jpg)
10.05.06Research Group Programming Languages / Methodologies
Shader
44
Quellenangabe (1)• Literatur
– [L1] http://www.bit-tech.net/hardware/2005/07/25/guide_to_shaders/5.html
– [L2] OpenGL Shading Language – Addison Wesley – Autor: Randi J. Rost
– [L3] The Cg Tutorial – Addison Wesley – Autor: Randima Fernando and Mark J. Kilgard
![Page 45: Shader › ... › unik_s_gpgpu_shader_folien_ss2006.pdf · Shader 9 Fixed Function Pipeline (7) App. Memory Per-Vertex Operations Fragment Processing Clip Project Viewport Cull Rasterize](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f14215ac4b7e14b2138bc26/html5/thumbnails/45.jpg)
10.05.06Research Group Programming Languages / Methodologies
Shader
45
Quellenangabe (2)• Abbildungen
– [P1] http://www.ixbt.com/cpu/cpurm/general/phong.gif
– [P2] http://www.janikarvonen.com/gfx/3d/elephant_10_skinning_shot_wip.jpg
– [P3] http://www.janikarvonen.com/gfx/3d/elephant_10_skinning_wip.jpg
– [P4] http://wwwisg.cs.uni-magdeburg.de
– [P5] http://www.cambrianlabs.com/mattias/
– [P6] http://graphics.cs.brown.edu/games/SteepParallax/index.html
– [P7] http://www.photoshop-weblog.de/
– [P8] http://www.cscs.ch/~mvalle/Libro/color-interpolation.jpg
![Page 46: Shader › ... › unik_s_gpgpu_shader_folien_ss2006.pdf · Shader 9 Fixed Function Pipeline (7) App. Memory Per-Vertex Operations Fragment Processing Clip Project Viewport Cull Rasterize](https://reader035.vdocuments.mx/reader035/viewer/2022081406/5f14215ac4b7e14b2138bc26/html5/thumbnails/46.jpg)
10.05.06Research Group Programming Languages / Methodologies
Shader
46
Vielen Dank für ihre Aufmerksamkeit