Geometry Shader. Ausarbeitung im Rahmen des Seminars Echtzeit Rendering" Von Sebastian Jackel Franz Peschel. Geometry Shader 1
|
|
- Ingrid Kappel
- vor 5 Jahren
- Abrufe
Transkript
1 Geometry Shader Ausarbeitung im Rahmen des Seminars Echtzeit Rendering" Von Sebastian Jackel Franz Peschel Geometry Shader 1
2 Inhalt I Einführung II Facts Renderpipeline III Funktionsweise Geometry Shader in GLSL Geometry Shader 2
3 Einführung 2006 führt NVidia den Geometry Shader ein Neue programmierbare Shadereinheit Kann aus vorhandenen Primitiven neue erzeugen Geometry Shader 3
4 Einführung Motivation: Neues Treibermodel mit verbesserter Performance Viele neue Features Flexibilität: Neue Wege der Programmierung Geometry Shader 4
5 Einführung Effiziente Routinen für bekannte Algorithmen der CG Marching Cubes komplett auf GPU, vorher nur auf der CPU möglich Shadow Volumes Silhouette detection Subdivision GPGPU Anwendungen: Fins generation (Fell) Stoffsimulation Geometry Shader 5
6 Inhalt I Einführung II Facts Renderpipeline III Funktionsweise Geometry Shader in GLSL Geometry Shader 6
7 Facts Shader Model 4.0: seit DirectX10 unter Windows Vista OpenGL-Erweiterung von und nur durch NVidia GL_EXT_geometry_shader4 GL_EXT_gpu_shader4 Untersützt von Grafikprozessoren NVidia: ab Geforce 8 Serie ATI: ab Radeon HD2000 Serie Geometry Shader 7
8 Facts Emulationsprogramm für ältere GPUs von NVidia Quelle: 5 Geometry Shader 8
9 Inhalt I Einführung II Facts Renderpipeline III Funktionsweise Geometry Shader in GLSL Geometry Shader 9
10 Renderpipeline Objekt-Koordinaten Kamerakoordinaten Clipping-Koordinaten Gerätekoordinaten Quelle: Geometry Shader 10
11 Renderpipeline Quelle: 2 Geometry Shader 11
12 Programmierbare Stationen (Fast) beliebige Kombinationen von Vertex- Geometry- und Fragment-Shader sind möglich Quelle: 3 Geometry Shader 12
13 Renderpipeline Geometrie Shader werden....nach der Vertex Transformation und....vor dem Color Clamping, Flat Shading und Clipping ausgeführt Quelle: 4 Geometry Shader 13
14 Inhalt I Einführung II Facts Renderpipeline III Funktionsweise Geometry Shader in GLSL Geometry Shader 14
15 Funktionsweise Der GS beginnt mit einem einzelnen Primitiv (Punkt, Linie, Dreieck) Er kann alle Attribute jedes Vertex in dem Primitiv lesen und diese zur Erzeugung neuer Primitive nutzen Quelle: 3 Geometry Shader 15
16 Funktionsweise Ein GS hat einen festen output primitive type GS Output-Primitive Punkte Linienverbund Dreieckverbund ausgegeben können auch Null mehrere Primitive Quelle: 3 Geometry Shader 16
17 Funktionsweise GS Input-Primitive: Standard Primitive Punkt Linie Dreieck Quelle: 3 Geometry Shader 17
18 Funktionsweise GS Input-Primitive: 4 neue Primitive Linie mit Nachbarschaft Quelle: 3 Dreieck mit Nachbarschaft Linien/Dreiecksverbund mit Nachbarschaft Quelle: 3 Quelle: 3 Geometry Shader 18
19 Funktionsweise Die 4 Zusätzlichen Argumente für glbegin() : GL_LINES_ADJACENCY_EXT Quelle: 3 GL_LINE_STRIP_ADJACENCY_EXT GL_TRIANGLES_ADJACENCY_EXT GL_TRIANGLE_STRIP_ADJACENCY_EXT Quelle: 3 Geometry Shader 19
20 Funktionsweise Der GS erzeugt Vertices um ein neues Primitiv zu definieren Er kann mehrere nichtverbundene Primitive erzeugen Ein so erzeugtes Primitiv wird genau wie ein äquivalentes OpenGL-Primitiv wie in der jeweiligen Applikation vorgeschrieben geclippt und verarbeitet Quelle: 3 Geometry Shader 20
21 Inhalt I Einführung II Facts Renderpipeline III Funktionsweise Geometry Shader in GLSL Geometry Shader 21
22 Geometry Shader in GLSL Zuerst nötige Extensions angeben: GL_EXT_geometry_shader4 GL_EXT_gpu_shader4 Bisher nur durch NVidia-Treiber implementiert Geometry Shader 22
23 Geometry Shader erstellen Erstellen des Geometry Shaders glcreateshader(gl_geometry_shader_ext); Quellcode laden und compilieren mit glshadersource(); und glcompileshader(); An Programm binden mit glattachshader(); Geometry Shader 23
24 Max Output Vertices setzen Dem Shaderprogramm die maximal emittierten Vertices setzen: GLint n; glprogramparameteriext(prog, GL_GEOMETRY_VERTICES_OUT_EXT, n); Geometry Shader 24
25 Input Type setzen Primitive Input Type bestimmen: GLenum type; //one of: -GL_POINTS, -GL_LINES, -GL_LINES_ADJACENCY_EXT, -GL_TRIANGLES, -GL_TRIANGLES_ADJACENCY_EXT glprogramparameteriext(prog, GL_GEOMETRY_INPUT_TYPE_EXT, type); Geometry Shader 25
26 Output Type setzen Genau wie beim Primitive Input Type den Primitive Output Type festlegen: GLenum type; //one of: -GL_POINTS, -GL_LINE_STRIP, -GL_TRIANGLE_STRIP glprogramparameteriext(prog, GL_GEOMETRY_OUTPUT_TYPE_EXT, type); Geometry Shader 26
27 Beispiel Programm Einträge mit # markieren GLSL- Präprozessor-Direktiven gl_verticesin gibt Anzahl der Eingabepunkte an #version 120 #extension GL_EXT_geometry_shader4 : enable // a passthrough geometry shader for color and position int main() { for (int i=0; i<gl_verticesin; ++i) { // copy color gl_frontcolor = gl_frontcolorin[i]; // copy position gl_position = gl_positionin[i]; } // done with the vertex EmitVertex(); } EndPrimitive(); Geometry Shader 27
28 Beispiel Programm copy position: gl_positionin[] enthält Eckpunkte des Eingabeprimitives Ausgabevertices werden wie beim Vertex Shader in gl_position gespeichert #version 120 #extension GL_EXT_geometry_shader4 : enable // a passthrough geometry shader for color and position int main() { for (int i=0; i<gl_verticesin; ++i) { // copy color gl_frontcolor = gl_frontcolorin[i]; // copy position gl_position = gl_positionin[i]; } // done with the vertex EmitVertex(); } EndPrimitive(); Geometry Shader 28
29 Beispiel Programm äquivalent: copy color Mit EmitVertex() wird ein Vertex in ein Slot im Primitive Assembly step kopiert #version 120 #extension GL_EXT_geometry_shader4 : enable // a passthrough geometry shader for color and position int main() { for (int i=0; i<gl_verticesin; ++i) { // copy color gl_frontcolor = gl_frontcolorin[i]; // copy position gl_position = gl_positionin[i]; } // done with the vertex EmitVertex(); } EndPrimitive(); Geometry Shader 29
30 Beispiel Programm Mit EndPrimitive() werden alle im Primitive Assembly step gespeicherten Vertices zu einem Primitiv zusammengefügt und zum rasterisieren weitergereicht. Es gibt keine BeginPrimitive() Routine EndPrimitive() optional #version 120 #extension GL_EXT_geometry_shader4 : enable // a passthrough geometry shader for color and position int main() { for (int i=0; i<gl_verticesin; ++i) { // copy color gl_frontcolor = gl_frontcolorin[i]; // copy position gl_position = gl_positionin[i]; } // done with the vertex EmitVertex(); } EndPrimitive(); Geometry Shader 30
31 Gut zu wissen glprogramparameter müssen aufgerufen werden bevor die Shader gelinkt werden Der GS kann auf alle standard OpenGL-definierten Variablen, wie z.b. Transformationsmatrizen (gl_modelviewprojectionmatrix) zugreifen. Die Transformation muss also nicht im Vertex Shader durchgeführt werden. Der GS kann genau wie der Vertex und Fragment Shader auf uniforme Variablen zugreifen Geometry Shader 31
32 Gut zu wissen Geometry Shader 32
33 Gut zu wissen Mit dem Präfix varying versehene Variable sind Variable, mit denen der Fragment Shader interpolierte Daten empfangen kann. GLSL hat ein paar default varying Variable wie z.b. gl_color Benutzerdefinierte varying Variable sind möglich, müssen aber im Vertex und Fragment Shader definiert sein Varying Variable müssen im Vertex Shader geschrieben werden, da hier alle Werte für Variablen berechnet werden. Im Fragment Shader können die Variablen nur gelesen werden. Geometry Shader 33
34 Gut zu wissen Zusätzliche Variable gl_primitiveidin gibt die Anzahl bearbeiteter Primitive seit dem letzten Aufruf von glbegin() an Kann an Fragment Shader als gl_primitiveid weitergereicht werden Geometry Shader 34
35 Fehlerquellen Ein Geometry Shader setzt einen Vertex Shader vorraus Für den GS muss GL_GEOMETRY_VERTICES_OUT_EXT spezifiziert sein. Ohne die #version und #extension pragmas wird der shader nicht korrekt compilieren Immer Input- und Output-type des GS spezifizieren. Können verschieden sein Default GL_TRIANGLES. Geometry Shader 35
36 Fragen... Geometry Shader 36
37 Quellen [1] NVidia - P. Brown,B. Lichtenbelt GL_EXT_geometry_shader4 [2] NVidia - SIGGRAPH Sarah Tariq - DirectX10 Effects [3] NVidia - GDC Evan Hart - GeForce8800 OpenGL Extensions [4] Oregon State University Mike Bailey - GLSL Geometry Shaders [5] CUHK Yongming Xie Geometry Shader Tutorials Geometry Shader 37
38 Ende Geometry Shader 38
39 Gut zu wissen varying bedeutet für Vertex, Geometry und Fragment Shader 4 verschiedene Dinge V varying : per-vertex, one-at-a-time G varying in [] : per-vertex, in einem array vereint varying out : per-vertex, one-at-a-time, von EmitVertex() F varying : per-fragment, one-at-a-time Geometry Shader 39
Seminar. Echtzeit-Rendering SS Geometry Shader. Franz Peschel
Fachbereich 4: Informatik Seminar Echtzeit-Rendering SS 2008 Geometry Shader vorgelegt von Franz Peschel Betreuer: Prof. Dr. Stefan Müller (Institut für Computervisualistik, AG Computergrafik) Koblenz,
MehrComputergrafik Universität Osnabrück, Henning Wenke,
Computergrafik Universität Osnabrück, Henning Wenke, 2012-05-14 Kapitel V: Modeling Transformation & Vertex Shader 5.1 Vertex Definitionen: Vertex Vertex Computergrafik Mathematischer Punkt auf einer Oberfläche
MehrGPU Programmierung 6. Juli 2004 M. Christen, T. Egartner, P. Zanoni
GPU Programmierung 6. Juli 2004 M. Christen, T. Egartner, P. Zanoni 1 Ablauf GPU Programm Vertex und Fragment Shader 2 3 4 5 Image Processing 6 Ablauf GPU Programm Ablauf GPU Programm Vertex und Fragment
Mehr3D Programmierpraktikum: OpenGL Shading Language (GLSL)
3D Programmierpraktikum: OpenGL Shading Language (GLSL) Praktikum 3D Programmierung Sebastian Boring, Otmar Hilliges Donnerstag, 13. Juli 2006 LMU München Medieninformatik Boring/Hilliges 3D Programmierpraktikum
MehrProgrammierpraktikum 3D Computer Grafik
Dipl.Inf. Otmar Hilliges Programmierpraktikum 3D Computer Grafik GLSL Agenda Rendering Pipeline Prozessoren: Vertex Prozessor Fragment Prozessor OpenGL Setup für GLSL Shader-Grundlagen Beispiele Die Rendering-Pipeline
MehrShader. Computer Graphics: Shader
Computer Graphics Computer Graphics Shader Computer Graphics: Shader Inhalt Pipeline Memory Resources Input-Assembler Vertex-Shader Geometry-Shader & Stream-Output Rasterizer Pixel-Shader Output-Merger
MehrGrafikkarten-Architektur
> Grafikkarten-Architektur Parallele Strukturen in der GPU Name: Sebastian Albers E-Mail: s.albers@wwu.de 2 > Inhalt > CPU und GPU im Vergleich > Rendering-Pipeline > Shader > GPGPU > Nvidia Tesla-Architektur
Mehr(5) GPU Programmierung
(5) GPU Programmierung Vorlesung Computergrafik II Stefan Müller Dank an Niklas Henrich, Thorsten Grosch KOBLENZ LANDAU Fantastische Effekte in Echtzeit... Real-Time Fur Over Arbitrary Surfaces, Lengyel
MehrDiplomarbeit. Neue Möglichkeiten durch programmierbare Shader. Unter der Leitung von: Prof. Dr.-Ing. Detlef Krömker
Diplomarbeit 5HDO7LPH6SHFLDO (IIHFWV Neue Möglichkeiten durch programmierbare Shader Unter der Leitung von: Prof. Dr.-Ing. Detlef Krömker Betreut von: Paul Grimm, Ralf Dörner Beginn: 01.04.02 Abgabe: 30.09.02
MehrComputergrafik Universität Osnabrück, Henning Wenke,
Computergrafik Universität Osnabrück, Henning Wenke, 2012-06-04 Kapitel VIII: Per Primitive Operations Primitive I 3 Primitive II Elementare grafische Grundform Besteht in OpenGL aus Folge von 1-3 Vertices
MehrComputer Graphics Shader
Computer Graphics Shader Sven Janusch Inhalt Fixed Function Pipeline Programmable Pipeline Implementierung Applikation Beispiel Sven Janusch 2 Fixed Function Pipeline T&L Pipeline (Transformation and Lighting)
MehrEntwicklung einer Beispielapplikation mit Hilfe von Geometrie-Shadern. Studienarbeit
Fachbereich 4: Informatik Entwicklung einer Beispielapplikation mit Hilfe von Geometrie-Shadern Studienarbeit im Studiengang Computervisualistik vorgelegt von Andreas Michael von Arb Betreuer: Prof. Dr.-Ing.
MehrRST-Labor WS06/07 GPGPU. General Purpose Computation On Graphics Processing Units. (Grafikkarten-Programmierung) Von: Marc Blunck
RST-Labor WS06/07 GPGPU General Purpose Computation On Graphics Processing Units (Grafikkarten-Programmierung) Von: Marc Blunck Ablauf Einführung GPGPU Die GPU GPU Architektur Die Programmierung Programme
MehrEinführung in GLSL - OpenGL Shading Language. Athanasios Karamalis
Einführung in GLSL - OpenGL Shading Language Athanasios Karamalis Allgemein zur Shader-Programmierung Vor 2001 konnte nur die sogenannte Fixed Functionality der Graphik API und Graphikkarte verwendet werden
MehrAdvanced Computer Graphics 1. Übung
Advanced Computer Graphics 1. Übung M.Sc. Tristan Nauber Advanced Computer Graphics: Übung 1 1 Gliederung 1. Erzeugen, Binden und Löschen von OpenGL Objekten 2. Geometrie: Vertex Arrays, Buffers und Attributes
Mehr(10) Deferred Shading
(10) Deferred Shading Vorlesung Computergrafik II Stefan Müller Dank an Niklas Henrich, Gerrit Lochmann Wdh. 1: Framebufferobjects (FBOs) Statt in den Framebuffer direkt zu rendern, kann man Texturen attachen,
MehrSS08, LS12, Friedrich-Alexander-Universität Erlangen Florian Hänel, Frederic Pollmann HS Multicore Architectures and Programming GPU EVOLUTION
SS08, LS12, Friedrich-Alexander-Universität Erlangen Florian Hänel, Frederic Pollmann HS Multicore Architectures and Programming GPU EVOLUTION (until Geforce 7 Series) 1 ÜBERSICHT Grafikpipeline Verlagerung
Mehr(6) Fortgeschrittene GPU- Programmierung
(6) Fortgeschrittene GPU- Programmierung Vorlesung Computergrafik II Stefan Müller Dank an Niklas Henrich Beleuchtung Vertex void main() { N Eckpunkt Lichtquelle lightvec vec4 vertex = gl_modelviewmatrix
MehrWiederholung. Vorlesung GPU Programmierung Thorsten Grosch
Wiederholung Vorlesung Thorsten Grosch Klausur 2 Zeitstunden (26.7., 8:30 10:30 Uhr, G29/307) Keine Hilfsmittel Kein Bleistift / Rotstift verwenden 3 Aufgabentypen Wissensfragen zur Vorlesung (ca. 1/3)
MehrAdvanced Computer Graphics 4. Übung
Advanced Computer Graphics 4. Übung M.Sc. Tristan Nauber Advanced Computer Graphics: Übung 4 1 Gliederung 1. OpenGL Shader Programme 2. Erzeugen, Kompilieren und Linken von OpenGL Shadern 3. Vertex Shader
MehrProseminar: Virtuelle Präsenz
Montag 20. Juni 2005 Proseminar: Virtuelle Präsenz Steve Rechtenbach steve.rechtenbach@informatik.uni-ulm.de Inhaltsverzeichnis Einführung 3 Beispiel 4 Das Architecture Review Board 6 Shader - OpenGL Shading
Mehr(5) GPU Einführung. Vorlesung Computergraphik II Stefan Müller. Dank an Markus Geimer, Thorsten Grosch und Niklas Henrich KOBLENZ LANDAU
(5) GPU Einführung Vorlesung Computergraphik II Stefan Müller Dank an Markus Geimer, Thorsten Grosch und Niklas Henrich Die Rendering-Pipeline Rasterisierung (2D) Zerlege den 2D-Polygonzug in Pixel Pro
MehrPRIP-Preis. Effizientes Object Tracking durch Programmierung von Mehrkernprozessoren und Grafikkarten
Masterarbeit @ PRIP-Preis Effizientes Object Tracking durch Programmierung von Mehrkernprozessoren und Grafikkarten Michael Rauter Pattern Recognition and Image Processing Group Institute of Computer Aided
MehrSpiegelgasse 1 CH 4051 Basel. Vorführung der laufenden Programme im Tutorium Woche 3 (Abgabe ).
UNIVERSITÄT BASEL Prof. Dr. Thomas Vetter Departement Mathematik und Informatik Spiegelgasse 1 CH 4051 Basel Patrick Kahr (patrick.kahr@unibas.ch) Clemens Büchner (clemens.buechner@unibas.ch) Computer
MehrGL ShadingLanguage(GLSL)
Was ist GLSL C/Java ähnliche Hochsprache zur Erstellung von GPU-basierter Software (Shader) An die Open Graphics Library (OpenGL) gebunden Darstellung komplexer 2D- und 3D-Szenen auf Basis von Echtzeitberechnungen
MehrComputergrafik Universität Osnabrück, Henning Wenke,
Computergrafik Universität Osnabrück, Henning Wenke, 212-5-7 Noch Kapitel III: Transformationen 2D Rotation um freies Rotationszentrum y α P(p x, p y ) Ziel: Rotiere Punkte r i um Winkel α um P und erhalte
MehrThema: Hardware-Shader
Seminar Grafikprogrammierung Thema: Hardware-Shader Christian Bauer 03.07.08 Überblick Entwicklung Die Shader im Detail Programmierung GPGPU Zusammenfassung & Ausblick 1/19 Entwicklung (1) Früher: Berechnung
MehrMedizinische Visualisierung
Medizinische Visualisierung Vorlesung 6 05.12.2012, Universität Koblenz-Landau Dr. Matthias Raspe SOVAmed GmbH Agenda Grundlagen GPU-Programmierung Evolution Moderne OpenGL-Programmierung Shaderprogrammierung
MehrGeneral Purpose Computation on GPUs
General Purpose Computation on GPUs Matthias Schneider, Robert Grimm Universität Erlangen-Nürnberg {matthias.schneider, robert.grimm}@informatik.stud.uni-erlangen.de M. Schneider, R. Grimm 1 Übersicht
MehrAdaptives Displacement Mapping unter Verwendung von Geometrieshadern
Fakultät Informatik Institut für Software- und Multimediatechnik, Professur für Computergraphik und Visualisierung Adaptives Displacement Mapping unter Verwendung von Geometrieshadern Diplomarbeit Timo
MehrProseminar: Virtuelle Präsenz. Vortrag: Steve Rechtenbach
Proseminar: Virtuelle Präsenz Vortrag: Steve Rechtenbach Themen: 2/22 Einführung Was ist OpenGL? / Entwicklung Fakten Kleines(!) Beispiel Hello OpenGL Shader Zusammenfassung OpenGL vs Direct3D Einführung:
MehrGPGPU Basiskonzepte. von Marc Kirchhoff GPGPU Basiskonzepte 1
GPGPU Basiskonzepte von Marc Kirchhoff 29.05.2006 GPGPU Basiskonzepte 1 Inhalt Warum GPGPU Streams, Kernels und Prozessoren Datenstrukturen Algorithmen 29.05.2006 GPGPU Basiskonzepte 2 Warum GPGPU? Performance
MehrSeminar Game Development Game Computer Graphics. Einleitung
Einleitung Gliederung OpenGL Realismus Material Beleuchtung Schatten Echtzeit Daten verringern Grafik Hardware Beispiel CryEngine 2 Kristian Keßler OpenGL Was ist OpenGL? Grafik API plattform- und programmiersprachenunabhängig
MehrEine Einführung Computergrafik SS14 Timo Bourdon
Eine Einführung Computergrafik SS14 Timo Bourdon Organisatorisches Übung am Freitag den 11. Juli entfällt! Zum OpenGL-Übungsblatt OpenGL 3.0 oder höher notwendig (Shading Language 1.50 oder höher) CIP
MehrComputergrafik SS 2012 Probeklausur Universität Osnabrück Henning Wenke, M. Sc. Sascha Kolodzey, B. Sc., Nico Marniok, B. Sc.
Computergrafik SS 2012 Probeklausur 1 06.07.2012 Universität Osnabrück Henning Wenke, M. Sc. Sascha Kolodzey, B. Sc., Nico Marniok, B. Sc. Aufgabe 1 (19 Punkte) Beantworten Sie die folgenden Fragen prägnant.
MehrDie Halde. Verwendung in der Speicherbelegung Visualisierung der Halde Call by Value & Call by Reference
Die Halde Verwendung in der Speicherbelegung Visualisierung der Halde Call by Value & Call by Reference Die Halde Grafische Darstellung des Speichers enthält Name des Datentypes alle Membervariablen mit
MehrGraphische Primitive Punkte Geradenstücke (Liniensegmente) Polygone
Graphische Primitive Punkte Geradenstücke (Liniensegmente) Polygone Punkte glvertex3f (50.0, 50.0, 0.0) glvertex2f (50.0, 50.0) glvertex4f (50.0, 50.0, 0.0,1.0) GLfloat vect[3] = {50.0, 50.0, 0.0} glvertex3fv
MehrDie Shading Language
Seminar Analyse, Planung und Konstruktion computergraphischer Systeme Die Shading Language Stephan Brumme 7. Januar 2004 Lehrstuhl für Computergraphische Systeme 7. Januar 2004 Stephan Brumme: Die OpenGL
MehrOpenGL und die Fixed-Function-Pipeline
OpenGL und die Fixed-Function-Pipeline Proseminar Game Design WS 07/08 Jan-Hendrik Behrmann Einführung In modernen Computerspielen hat sich inzwischen die Darstellung der Spielwelt in dreidimensionaler
MehrKapitel 4: Schattenberechnung
Kapitel 4: Schattenberechnung 1 Überblick: Schattenberechnung Motivation Schattenvolumen Shadow Maps Projektive Schatten 2 Motivation Wesentlich für die Wahrnehmung einer 3D-Szene Eigentlich ein globaler
MehrVisualisierung und Volumenrendering 2
Institut für Computervisualistik Universität Koblenz 06.07.2012 Inhaltsverzeichnis 1 Literatur 2 Wiederholung 3 DVR Volumen Literatur Real-Time Volume Graphics Volumenrendering CG Shader Beispiele Volumen
MehrÜbungsblatt 10: Klausurvorbereitung
Übungsblatt 10: Klausurvorbereitung Abgabe: Dieses spezielle Übungsblatt hat keine Abgabefrist und wird auch nicht korrigiert. Die Lösung gibt es wie immer auf der Homepage der Vorlesung oder in den Übungen
Mehr(7) Normal Mapping. Vorlesung Computergraphik II S. Müller. Dank an Stefan Rilling U N I V E R S I T Ä T KOBLENZ LANDAU
(7) Normal Mapping Vorlesung Computergraphik II S. Müller Dank an Stefan Rilling Einleitung Die Welt ist voller Details Viele Details treten in Form von Oberflächendetails auf S. Müller - 3 - Darstellung
MehrComputergrafik SS 2010 Henning Wenke. Kapitel 21: OpenGL 3.1 (Fortsetzung)
Computergrafik SS 2010 Henning Wenke Kapitel 21: OpenGL 3.1 (Fortsetzung) 1 OpenGL Aufgaben der GL-Befehle Konfigurieren der Graphics Pipeline Datenübergabe an Server Steuern des Datenflusses Java OpenGL
MehrMichael Bender Martin Brill. Computergrafik. Ein anwendungsorientiertes Lehrbuch. 2., überarbeitete Auflage HANSER
Michael Bender Martin Brill Computergrafik Ein anwendungsorientiertes Lehrbuch 2., überarbeitete Auflage HANSER Inhaltsverzeichnis Vorwort XI 1 Einleitung 1 1.1 Die Entwicklung der Computergrafik 1 1.2
MehrComputergrafik. Michael Bender, Manfred Brill. Ein anwendungsorientiertes Lehrbuch ISBN Inhaltsverzeichnis
Computergrafik Michael Bender, Manfred Brill Ein anwendungsorientiertes Lehrbuch ISBN 3-446-40434-1 Inhaltsverzeichnis Weitere Informationen oder Bestellungen unter http://www.hanser.de/3-446-40434-1 sowie
MehrArchitektur moderner GPUs. W. Sczygiol - M. Lötsch
Architektur moderner GPUs W. Sczygiol - M. Lötsch Überblick Chipentwicklung Aktuelle Designs Nvidia: NV40 (ATI: R420) Vertex-Shader Pixel-Shader Shader-Programmierung ROP - Antialiasing Ausblick Referenzen
MehrPraktikum Augmented Reality Fernrohr -Felix Löhr-
Praktikum Augmented Reality Fernrohr -Felix Löhr- Allgemein Features Der Aufbau von Ogre Der Bezug zum Projektpraktikum Szenegraph Licht & Schatten Quaternionen Material Performance OGRE Object-Oriented
MehrEinführung in die API OpenGL
Einführung in die API OpenGL LMU München - LFE Medieninformatik Folie 1 Überblick Was ist OpenGL? OpenGL und Windows 3D Grafik Grundlagen OpenGL benutzen Transformationen, Licht, Texture Mapping Ein kleines
MehrGrundlagen der Spieleprogrammierung
Grundlagen der Spieleprogrammierung Teil I: 3D-Graphik Kapitel 8: Hardware Peter Sturm Universität Trier Outline 1. Übersicht und Motivation 2. Mathematische Grundlagen 3. Das Ideal: Photorealistisch (Raytracing,
Mehr(13) Hot Topics. Vorlesung Computergrafik T. Grosch
(13) Hot Topics Vorlesung Computergrafik T. Grosch Heute Vorstellung der besten Flugsimulatoren Hot Topics T. Grosch - - Warum Hot Topics? Typischerweise i Computergrafik 1 : Grundlagen, konstant Computergrafik
MehrC++ - Objektorientierte Programmierung Konstruktoren und Destruktoren
C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren hat eine Kantenlänge hat eine Füllfarbe Kantenlänge setzen Füllfarbe lesen Volumen berechnen Leibniz Universität IT Services Anja Aue
MehrYilmaz, Tolga MatNr: Mesaud, Elias MatNr:
Yilmaz, Tolga MatNr: 157317 Mesaud, Elias MatNr: 151386 1. Aufbau und Funktionsweise einer Grafikkarte 2. CPU vs. GPU 3. Software 4. Beispielprogramme Kompilierung und Vorführung 5. Wo wird Cuda heutzutage
MehrKapitel 5: Graphikhardware und Parallelisierung
Kapitel 5: Graphikhardware und Parallelisierung 1 Überblick Taxonomie für Graphikhardware Historie der Graphikhardware Architektur-Beispiele Programmierbare Hardware Taxonomie von Parallelisierungsansätzen
MehrGrundlegende Darstellungsfunktionen
Grundlegende Darstellungsfunktionen Zeichenoperationen und Transformationen Die folgenden Folien beschreiben eine Reihe von grundlegenden Darstellungsfunktionen, die zur Modellierung einer Szene und zur
MehrJörn Loviscach Hochschule Bremen
Programmierbare Hardware-Shader Jörn Loviscach Hochschule Bremen Überblick Vertex- und Pixel-Shader Anwendungsbeispiele fx-dateien Anwendungsbeispiele Zusammenfassung Puffer Vertex- und Pixel-Shader Hardware-Renderpipeline
MehrGeometrische Primitive und Hidden Surface Removal
C A R L V O N O S S I E T Z K Y Geometrische Primitive und Hidden Surface Removal Johannes Diemke Übung im Modul OpenGL mit Java Wintersemester 2010/2011 Wiederholung Geometrische Primitive in OpenGL Mit
MehrSpezialprozessoren zur Übernahme Grafik-spezifischer Aufgaben, vorrangig der Bildschirmausgabe
Grafikprozessoren Spezialprozessoren zur Übernahme Grafik-spezifischer Aufgaben, vorrangig der Bildschirmausgabe 2D: Berechnung der Bildes aus einfachen Grafikprimitiven 3D: Bildaufbau aus räumlicher Beschreibung
MehrComputergraphik I Die Graphik-Pipeline &
Computergraphik I Die Graphik-Pipeline & Einführung in OpenGL 3+ G. Zachmann University of Bremen, Germany cgvr.informatik.uni-bremen.de OpenGL OpenGL ist ein Software-Interface für Graphik-Hardware mit
MehrEchtzeitfähige hige Verfahren in der Computergrafik. Lehrstuhl für f r Informatik Computer Grafik und Visualisierung TUM
Echtzeitfähige hige Verfahren in der Computergrafik Prof. Dr. Rüdiger R Westermann Lehrstuhl für f r Informatik Computer Grafik und Visualisierung TUM Lehr- und Forschungsinhalte Visualisierung Darstellung
MehrSeminar: GPU-Methoden für die Visualisierung und Computergraphik
Seminar: GPU-Methoden für die Visualisierung und Computergraphik Markus Huber, Grzegorz Karch, Michael Krone, Rudolf Netzel, Thomas Ertl Vorbesprechung 00.012 03.02.2016 Organisatorisches Das Seminar findet
MehrEinführung in die Programmierung für NF MI. Übung 04
Einführung in die Programmierung für NF MI Übung 04 Inhalt Arrays Einführung in Objekte Einführung in die Programmierung für NF Übung 04 2 Arrays Arrays repräsentieren Reihungen von Objekten, z.b. Variablen
Mehr7.4 Tesselierung von Polygonen
Anwendungsgebiet - OpenGL kann direkt nur einfache konvexe Polygone anzeigen - Polygone sind einfach, wenn - sie selbstdurchdringungsfrei sind - sie keine doppelten Ecken enthalten - an einer Ecke genau
MehrCUDA. Moritz Wild, Jan-Hugo Lupp. Seminar Multi-Core Architectures and Programming. Friedrich-Alexander-Universität Erlangen-Nürnberg
CUDA Seminar Multi-Core Architectures and Programming 1 Übersicht Einleitung Architektur Programmierung 2 Einleitung Computations on GPU 2003 Probleme Hohe Kenntnisse der Grafikprogrammierung nötig Unterschiedliche
MehrOpenGL. (Open Graphic Library)
OpenGL (Open Graphic Library) Agenda Was ist OpenGL eigentlich? Geschichte Vor- und Nachteile Arbeitsweise glscene OpenGL per Hand Debugging Trend Was ist OpenGL eigentlich? OpenGL ist eine Spezifikation
MehrGPU Programmierung. Thorsten Grosch
Thorsten Grosch Willkommen zur ersten Vorlesung! g Heute Organisatorisches Vorstellung von Team und Vorlesung Historischer Rückblick zu GPUs 2 Das Team Vorlesung Jun.-Prof. Thorsten Grosch AG Computervisualistik
MehrGPU-Programmierung: OpenCL
Seminar: Multicore Programmierung Sommerstemester 2009 04.06.2009 Inhaltsverzeichnis 1 GPU-Programmierung von Grafikkarten von GPU-Computing 2 Architektur Spracheigenschaften Vergleich mit CUDA Beispiel
MehrAufgabe. - Beispiel "Fahrt durch Blutgefäße":
Aufgabe Modellierung der statischen Anteile Ihres Projekts - Definieren Sie die statischen Anteile der Szene Ihres Projekts - Erstellen Sie eine geeignete Klassen-Repräsentation - Beispiel "Fahrt durch
MehrAktuelle Grafikleistungen
Aktuelle Grafikleistungen Alexander Hötzendorfer Universität Ulm 03. Juli 2007 Inhalt Übersicht Aktuelle Techniken HDR-Lighting Tessellation Aufbau der Rendering-Pipeline Shader Vertex-Shader Geometry-Shader
MehrComputergrafik. Peter Rösch Hochschule Augsburg University of Applied Sciences. Sommersemester 2014. Version: 24. März 2014
Peter Rösch Hochschule Augsburg University of Applied Sciences Sommersemester 2014 Version: 24. März 2014 Sommer 2014, HS Augsburg, Peter Rösch Inhalt [1] 1. Einführung 2. WebGL und GLSL 3. Geometrie und
MehrVolumenrendering mit CUDA
Volumenrendering mit CUDA Arbeitsgruppe Visualisierung und Computergrafik http://viscg.uni-muenster.de Überblick Volumenrendering allgemein Raycasting-Algorithmus Volumen-Raycasting mit CUDA Optimierung
MehrComputergrafik SS 2010 Henning Wenke. Kapitel 21: OpenGL 3.1
Computergrafik SS 2010 Henning Wenke Kapitel 21: OpenGL 3.1 1 Einordnung 2 Über OpenGL API für Rastergrafik Prozedural Hardwarenah Plattform-, Betriebssystem- und Sprachunabhängig Spezifikationen variieren
MehrCAUSTICS & GODRAYS. Jacob Skuratovski
CAUSTICS & GODRAYS Jacob Skuratovski Kaustiken Kaustik, caustic (engl.), Brennlinie, Brennfläche Bereich, in dem Lichtstrahlen gebündelt werden 3 verschiedene Arten Katakaustik Diakaustik Regenbogen Eine
MehrWellenla ngen Basiertes Beleuchtungs Modell im Shader
1/ 25 Wellenla ngen Basiertes Beleuchtungs Modell im Shader Abschlussvortrag Goethe Universita t Frankfurt 6. Oktober 2008 Wellenla ngen Basiertes Beleuchtungs Modell im Shader Einleitung 2/ 25 Überblick
MehrDiplomarbeit. zur Erlangung des akademischen Grades Diplom-Informatiker. Timo Kunze (Geboren am 8. April 1982 in Leisnig)
TECHNISCHE UNIVERSITÄT DRESDEN FAKULTÄT INFORMATIK INSTITUT FÜR SOFTWARE- UND MULTIMEDIATECHNIK PROFESSUR FÜR COMPUTERGRAPHIK UND VISUALISIERUNG PROF. DR. STEFAN GUMHOLD Diplomarbeit zur Erlangung des
MehrÜbungsstunde 7 zu Computergrafik 1
Institut für Computervisualistik Universität Koblenz 10. und 11. Dezember 2012 Inhaltsverzeichnis 1 Licht und Material Licht in OpenGL Material in OpenGL 2 in C++ Licht in OpenGL Lichtquellen In OpenGL
Mehr3D Programmierpraktikum: Szenegraphen und Texturierung
3D Programmierpraktikum: Szenegraphen und Praktikum 3D Programmierung Sebastian Boring, Otmar Hilliges Donnerstag, 1. Juni 2006 LMU München Medieninformatik Boring/Hilliges 3D Programmierpraktikum SS2006
MehrGrafik-APIs für den Einsatz in der Augentherapie. Verteidigung der Diplomarbeit von Sascha Seewald
Grafik-APIs für den Einsatz in der Augentherapie Verteidigung der Diplomarbeit von Sascha Seewald Überblick 1. Einleitung 2. Vergleich freier Grafik-APIs 3. Entwicklung eines therapeutischen Malspiels
MehrEine Kommando-Oberfläche für.net
Institut für Systemsoftware O.Univ.-Prof. Dr. Hanspeter Mössenböck Eine Kommando-Oberfläche für.net In.NET (wie auch in vielen anderen Systemen) haben Programme nur einen einzigen Eintrittspunkt (ihre
MehrZwischenvortrag zum Entwicklungsstand der Bachelor-Arbeit. Direct 3D-Output für ein Rendering Framework
Zwischenvortrag zum Entwicklungsstand der Bachelor-Arbeit Direct 3D-Output für ein Rendering Framework von Benjamin Betting unter der Betreuung von Daniel Schiffner 1 Gliederung Kapitel I und II: Motivation,Einführung,Grundlagen
MehrAbteilung Bild- und Signalverarbeitung Prof. Dr. Gerik Scheuermann. Tutorial - CGViewer
Universität Leipzig Sommersemester 2007 Institut für Informatik Computergrafik-Vorlesung Abteilung Bild- und Signalverarbeitung Betreuer: Heike Jänicke Prof. Dr. Gerik Scheuermann Tutorial - CGViewer 1
MehrPraktikum Computergrafik
Praktikum Computergrafik Steven Schlegel Abteilung für Bild- und Signalverarbeitung Betreuer: Steven Schlegel (schlegel@informatik.uni-leipzig.de) Einführung in OpenGL und GLSL OpenGL OpenGL (Open Graphics
MehrOpenGL 2.0 Vertex Arrays
OpenGL 2.0 Vertex Arrays Boguslaw Sylla Interaktive 3D-Computergrafik SS 2010 Hochschule RheinMain Inhalt des Vortrags 1 Ein- / Ausschalten von Arrays EnableClientState, DisableClientState 2 Spezifizieren
MehrGame Engine Architecture and Development. Effekte (Sound, Partikel, Physik)
Game Engine Architecture and Development Effekte (Sound, Partikel, Physik) Wer hat schon was? Sound s Soundsysteme Einfach zu benutzen Leveldesigner müssen sehr einfach Sounds hinzufügen können (Gamplay
MehrFraktale Terrainerzeugung. Fraktale. Ziel der Ausarbeitung. fbm) Fractional Brownian Motion (fbm( Eigenschaften von fbm
Ziel der Ausarbeitung Fraktale Terrainerzeugung Jürgen Platzer,, 0025360 Mario Ruthmair,, 9826157 Institute of Computer Graphics and Algorithms 2/ 34 Fraktale Warum Fraktale? Effiziente Erzeugung von Details
MehrShader für Geometrische Grundprimitive. Beispielszene mit vielen Kegeln unterschiedlicher Größe und Farbe
Shader für Geometrische Grundprimitive Beispielszene mit vielen Kegeln unterschiedlicher Größe und Farbe 0. Gliederung Gliederung: 1. Motivation 2. Verwandte Arbeiten 3. Überblick über das Vorgehen 3.1
MehrGrafikprogrammierung (Echtzeitrendering)
(Echtzeitrendering) erfordert Unterstützung für beide Aufgaben der Computergrafik Geometrische Modellierung Datenstrukturen für geometrische Modelle Schnittstellen für deren Kombination Bildsynthese Rendering
MehrGrundlagen der Spieleprogrammierung
Grundlagen der Spieleprogrammierung Teil I: 3D-Graphik Kapitel 9: Engines, Cg und anderes Peter Sturm Universität Trier Outline 1. Übersicht und Motivation 2. Mathematische Grundlagen 3. Das Ideal: Photorealistisch
MehrObjekte. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 5. 1 Modulübersicht 3
Programmieren mit Java Modul 5 Objekte Theorieteil Inhaltsverzeichnis 1 Modulübersicht 3 2 Klassen und Objekte 3 2.1 Klassen.................................... 4 2.2 Objektvariablen und Methoden.......................
MehrAufgabe 2: Zweifacher de Casteljau
Aufgabe 2: Zweifacher de Casteljau Evaluationen auf Bézier Patches können mit dem de Casteljau Algorithmus berechnet werden Prinzipiell einfach den normalen Algorithmus für Kurven mehrfach anwenden, denn
MehrGeometry- und Tessellation Shader. 5. Vorlesung GPU Programmierung
Geometry- und Tessellation Shader 5. Vorlesung Thorsten Grosch Geometry / Tessellation Shader Letzte Woche Vertex Shader Programm pro Eckpunkt Fragment Shader hd Programm pro Pixel Heute Geometry Shader
MehrHardware Tessellation in DirectX11 zur Berechnung von Levels of Detail in Echtzeitanwendungen
MASTER THESIS zur Erlangung des akademischen Grades Master of Science in Engineering im Studiengang 585 Hardware Tessellation in DirectX11 zur Berechnung von Levels of Detail in Echtzeitanwendungen Ausgeführt
MehrPraktische Informatik 1
Praktische Informatik 1 Imperative Programmierung und Objektorientierung Karsten Hölscher und Jan Peleska Wintersemester 2011/2012 Session 2 Programmierung Begriffe C/C++ Compiler: übersetzt Quellcode
MehrProbelektion zum Thema. Shadow Rendering. Shadow Maps Shadow Filtering
Probelektion zum Thema Shadow Rendering Shadow Maps Shadow Filtering Renderman, 2006 CityEngine 2011 Viewport Real reconstruction in Windisch, 2013 Schatten bringen viel Realismus in eine Szene Schatten
Mehr7.1 Polygon Offset. Anwendung - Darstellung von Polygonen als Teil von Oberflächen - Beispiel: Gradlinien auf der Erde - Schwierigkeit:
7.1 Polygon Offset Anwendung - Darstellung von Polygonen als Teil von Oberflächen - Beispiel: Gradlinien auf der Erde - Schwierigkeit: - Polygone sollen einmal als Fläche und einmal in Wireframe-Darstellung
MehrTag 8 Repetitorium Informatik (Java)
Tag 8 Repetitorium Informatik (Java) Dozent: Michael Baer Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Informatik-Repetitorium
MehrSoftwareprojekt Spieleentwicklung
Softwareprojekt Spieleentwicklung Prototyp I (2D) Prototyp II (3D) Softwareprojekt 12.04. 19.04. 26.04. 03.05. 31.05. Meilenstein I 28.06. Meilenstein II Prof. Holger Theisel, Tobias Günther, OvGU Magdeburg
MehrEinführung. GPU-Versuch. Andreas Schäfer Friedrich-Alexander-Universität Erlangen-Nürnberg
GPU-Versuch andreas.schaefer@cs.fau.de Friedrich-Alexander-Universität Erlangen-Nürnberg Praktikum Parallele Rechnerarchitekturen SS2014 Outline 1 Einführung 2 Outlook 1 Einführung 2 Eine kurze Geschichte
MehrJava 3D. Linien, Flächen und Objekte Axel Bartsch, Okt. 2002
Java 3D Linien, Flächen und Objekte Axel Bartsch, Okt. 2002 Virtual World Koordinaten System Grundlagen zur Definition visueller Objekte Shape3D Unterklasse der Leaf-Klasse Eigenschaften des visuellen
Mehr