Praktikum Computergrafik
|
|
|
- Heinz Sternberg
- vor 9 Jahren
- Abrufe
Transkript
1 Praktikum Computergrafik Steven Schlegel Abteilung für Bild- und Signalverarbeitung Betreuer: Steven Schlegel
2 Einführung in OpenGL und GLSL
3 OpenGL OpenGL (Open Graphics Library) plattform- und programmiersprachenunabhängige Programmierschnittstelle zur Entwicklung von 2D- und 3D-Computergrafik ermöglicht die Darstellung komplexer 3D-Szenen in Echtzeit Implementierung ist normalerweise durch Grafikkartentreiber gewährleistet (hardwarebeschleunigt), ansonsten auf der CPU Windows-Pendant: Direct3D
4 OpenGL Bekannte Engines: GrimE-Engine (Escape From Monkey Island) Id Tech 4/5 Engine (Doom 3, Brink, Rage) Aurora Engine (Neverwinter Nights) Source Engine (Half Life 2) Unreal Engine (Goat Simulator)
5 OpenGL Einführung - Geometrie Komplexe 3D-Modelle bestehen immer aus geometrischen Primitiven Im Praktikum: Beschränkung auf Dreiecke (GL_TRIANGLES) Primitive bestehen immer aus Vertices (Eckpunkte). Jeder Vertex kann mehrere Attribute haben (Position, Farbe, Normale...).
6 OpenGL Einführung - Geometrie 0, 1, 0 Bsp: Zeichnen des Dreiecks -1, -1, 0 1, -1, 0 Bildschirmkoordinaten: 1, 1-1, -1 Positionen der Vertices in Array speichern: GLfloat pos_data[] = { -1.0f, -1.0f, 0.0f, 1.0f, -1.0f, 0.0f, 0.0f, 1.0f, 0.0f, };
7 OpenGL Einführung - Geometrie Diese Daten werden als sogenannte Buffer auf der Grafikkarte gespeichert: GLuint positionbuffer; //Buffer erstellen glgenbuffers(1, &positionbuffer); //Buffer als aktiv setzen (OpenGL ist eine State Machine) glbindbuffer(gl_array_buffer, positionbuffer); //den Buffer mit den Positionsdaten befüllen glbufferdata(gl_array_buffer, sizeof(pos_data), pos_data, GL_STATIC_DRAW); Zeichnen der Daten mittels gldrawarrays: glbindbuffer(gl_array_buffer, positionbuffer); //VertexAttribute festlegen glvertexattribpointer(0, //wichtig für shader (später) 3, //Größe eines Vertexattributes GL_FLOAT, //Datentyp GL_FALSE, //normalisiert 0, //stride (void*) 0 //Offset im Buffer ); //Zeichnen gldrawarrays(gl_triangles, 0, 3);
8 OpenGL Einführung - Geometrie Ergebnis:
9 OpenGL Einführung - Geometrie Ergebnis: Langweilig!
10 OpenGL Einführung - Geometrie Frage: Wie macht man so etwas?
11 OpenGL Einführung - Geometrie Frage: Wie macht man so etwas? oder so etwas?
12 OpenGL Einführung - Geometrie Frage: Wie macht man so etwas? oder so etwas? oder auch das?
13 OpenGL Einführung - Shader Antwort: mit Shadern Shader sind Programme, die direkt auf der Grafikkarte ausgeführt werden die Grafikkarte ist eine frei programmierbare Multiprozessorplatform Mehrere Arten von Shadern hier Beschränkung auf die 2 wichtigsten Shader: Vertex- und Fragmentshader (es gibt noch Geometry-, Tesselation- und Computeshader)
14 OpenGL Einführung - Shader Shader Pipeline: OpenGL übergibt Vertex mit verschiedenen Eigenschaften (Position, Farbe, Texturkoordinaten usw.) Vertexshader bearbeitet den Vertex und evtl. die übergebenen Eigenschaften Pixelshader bekommt die interpolierten Eigenschaften (z.b. Vertexfarbe) und färbt das Pixel im Framebuffer
15 OpenGL Einführung - Shader GLSL: Programmiersprache für Shader DirectX-Pendant: HLSL Syntax entspricht im Wesentlichen ANSI-C wurde um spezielle Datentypen erweitert, wie z.b. Vektoren, Matrizen und Sampler (für Texturzugriffe) Tutorial z.b. unter
16 OpenGL Einführung - Shader Bsp: Vertex Shader
17 OpenGL Einführung - Shader Bsp: Fragment Shader
18 OpenGL Einführung - Shader Ergebnis: Eingabe Vertexattribute 0, 1, 0-1, -1, 0 1, -1, 0 GLfloat pos_data[] = { -1.0f, -1.0f, 0.0f, 1.0f, -1.0f, 0.0f, 0.0f, 1.0f, 0.0f, }; GLfloat col_data[] = { 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 1.0f, 1.0f, 0.0f, 0.0f, }; Uniforms: somematrix = Einheitsmatrix; scale = 1.0f;
19 OpenGL Einführung - Shader Ergebnis: Eingabe Vertexattribute 0, 1, 0-1, -1, 0 1, -1, 0 GLfloat pos_data[] = { -1.0f, -1.0f, 0.0f, 1.0f, -1.0f, 0.0f, 0.0f, 1.0f, 0.0f, }; GLfloat col_data[] = { 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 1.0f, 1.0f, 0.0f, 0.0f, }; Uniforms: somematrix = Einheitsmatrix; scale = 1.0f;
20 OpenGL Einführung - QGL Problem: OpenGL API z.t. recht umständlich Keine native Unterstützung für spezielle GLSL Datentypen (Vectoren, Matrizen) es existieren viele Wrapper für OpenGL, die versuchen diese Nachteile aufzuwiegen
21 OpenGL Einführung - QGL Problem: OpenGL API z.t. recht umständlich Keine native Unterstützung für spezielle GLSL Datentypen (Vectoren, Matrizen) es existieren viele Wrapper für OpenGL, die versuchen diese Nachteile aufzuwiegen Wir benutzen Qt
22 OpenGL Einführung - QGL Qt: platformunabhängiges Anwendungs und UI Framework hauptsächlich benutzt zum Erstellen von GUI-Anwendungen mit C++ CGViewer ist mit Qt geschrieben Unterstützt auch die die Darstellung GPU-beschleunigter Inhalte mittels OpenGL besitzt auch OpenGL-Wrapperklassen und eigene Vector/Matrix Klassen, die entsprechend mit den OpenGL-Wrappern zusammenarbeiten
23 OpenGL Einführung - QGL Qt Klassen: Vectoren: z.b. QVector2D, QVector3D, QVector4D Matrizen: z.b. QMatrix3x3, QMatrix4x4 Buffer: QGLBuffer //translation matrix QMatrix4x4 translation; translation.translate(dx, dy, dz); QGLBuffer positionbuffer = QGLBuffer( QGLBuffer::VertexBuffer ); positionbuffer.setusagepattern( QGLBuffer::StaticDraw ); positionbuffer.create(); positionbuffer.allocate( &positions[0], positions.size()*sizeof(qvector3d) ); //bind the buffer positionbuffer.bind(); Shader program: QGLShaderProgram (creation) QGLShaderProgram pr; pr.addshaderfromsourcefile(qglshader::vertex, vertexshadersource); pr.addshaderfromsourcefile(qglshader::fragment, fragmentshadersource); pr.link();
24 OpenGL Einführung - QGL Qt Klassen: Shader program (Frts.): QGLShaderProgram (drawing) //set the program active pr.bind(); //set the uniforms in the shader QMatrix4x4 matrix; pr.setuniformvalue( pr.uniformlocation("somematrix"), matrix ); pr.setuniformvalue( pr.uniformlocation("scale"), 1.0f ); //enable the vertex attributes (one for positions, one for colors) pr.enableattributearray( pr.attributelocation("position") ); pr.enableattributearray( pr.attributelocation("color") ); //tell the shader, which data the vertex attributes should use positionbuffer.bind(); pr.setattributebuffer( pr.attributelocation("position"), GL_FLOAT, 0, 3 ); colorbuffer.bind(); pr.setattributebuffer( pr.attributelocation("color"), GL_FLOAT, 0, 3 ); //draw gldrawarrays(gl_triangles, 0, 3); //deactivate program pr.release();
25 CGViewer Framework, welches im Laufe des Praktikums erweitert werden soll
26 CGViewer Framework, welches im Laufe des Praktikums erweitert werden soll Features triangulierte Modelle im Wavefront OBJ-Format laden ( Modelle können frei in der Szene bewegt, rotiert und skaliert werden Hinzufügen von mehreren Lichtquellen zur Szene Laden und Speichern von Szenen Anzeigen der Szene erfolgt mittels OpenGL und der im Praktikum erstellten Shader
27 CGViewer Wichtige Dateien/Klassen Klasse Model Dateien Model.h, Model.cpp besitzt statische Funktion zum laden von Modellen verwaltet ein geladenes Modell mitsamt aller nötiger Buffer verwaltet die Modellbewegung in der Szene (Koordinaten) Besitzt eine render-funktion, um sich zu zeichnen der render-funktion wird ein Shaderprogram übergeben, mit dem sich das Modell rendern soll
28 CGViewer Wichtige Dateien/Klassen Klasse Light (erbt von Model) Dateien Light.h, Light.cpp wird immer als Kugel dargestellt besitzt zudem Funktionen zum setzen und auslesen von Farb/LichtInformationen
29 CGViewer Wichtige Dateien/Klassen Klasse Scene (erbt von QGLWidget) Dateien Scene.h, Scene.cpp reagiert auf Mauseingaben des Nutzers (z.b. für Kamerabewegungen) verwaltet das Shaderprogram (QGLShaderProgram *m_program) verwaltet die geladenen Modelle (std::vector< std::shared_ptr<model> > models) zeichnet die Szene alle 33ms neu Funktion void paintgl(), ruft die render-funktion aller geladenen Modelle auf
30 CGViewer Wichtige Dateien/Klassen Datei CGTypes.h beinhaltet ein paar spezielle Datentypen wichtig ist vor allem die struct Material wird in den entsprechenden Aufgabenstellungen näher erläutert
31 CGViewer Wichtige Dateien/Klassen Shader sind im Unterverzeichnis Shader abgelegt: VertexShader: vertex.glsl FragmentShader: fragment.glsl werden von der Scene automatisch geladen: void reloadshader() während der Aufgaben werden neue Shaderdateien hinzugefügt
3D 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
Computer 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)
Advanced 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
Programmierpraktikum 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
Shader. 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
Computergrafik 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
Proseminar: 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:
Computergrafik 1 Übung
Prof. Dr. Andreas Butz Dipl.-Medieninf. Hendrik Richter Dipl.-Medieninf. Raphael Wimmer Computergrafik 1 Übung 4 1 Was ist OpenGL? OpenGL = Open Graphics Library API für Echtzeit-3D-Grafik Hardwarebeschleunigt
Seminar 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
Spieleprogrammierung mit DirectX und C++
Ulrich Kaiser, Philipp Lensing Spieleprogrammierung mit DirectX und C++ 2D-, 3D- und Netzwerkspiele, viele Spezialeffekte Galileo Press Einleitung 11 Danksagung 13 Vorwort zur zweiten Auflage 14 1 Vorbereitung
GL 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
Computergraphik 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
Praktikum: Spieleengine im Eigenbau
Seite 1/17 Praktikum Spieleengine im Eigenbau Alexander Weggerle, Tobias Bäuerle 19.10.09 http://www.saschawillems.de Praktikum: Spieleengine im Eigenbau Seite 2/17 Praktikum Spieleengine im Eigenbau Alexander
Praktikum 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
Computergrafik II. OpenGL Einführung
Computergrafik II OpenGL Einführung OpenGL Rein prozedurales Interface Keine direkten Klassen/Objekte Verwaltung von OpenGL-Strukturen mittels Identifier Explizites funktionales Erzeugen/Löschen von Objekten
OpenGL auf Mac OS X und ios
OpenGL auf Mac OS X und ios Torsten Kammer 28.4.2011 CocoaHeads Aachen Grundlagen API für hardwarebeschleunigte 3D-Grafik Kann auch für schnelles 2D verwendet werden Grundlage von Core Image, Core Animation,
Wiederholung. 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)
Zwischenvortrag 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
SS08, 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
OpenGL 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
Game 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
Grafikkarten-Architektur
> Grafikkarten-Architektur Parallele Strukturen in der GPU Name: Sebastian Albers E-Mail: [email protected] 2 > Inhalt > CPU und GPU im Vergleich > Rendering-Pipeline > Shader > GPGPU > Nvidia Tesla-Architektur
Computergrafik Universität Osnabrück, Henning Wenke,
Computergrafik Universität Osnabrück, Henning Wenke, 2012-06-18 Kapitel XIII Texturing Definition: Textur (Computergrafik) Geometrieunabhängige Oberflächeneigenschaft Typischerweise höher aufgelöst als
Ü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
Gliederung. Blending Licht Anwendungsbeispiel Optimierung OpenGL heute und morgen Wilfried Mascolus - OpenGL Teil II 2/20
OpenGL II Gliederung Blending Licht Anwendungsbeispiel Optimierung OpenGL heute und morgen 26.07.10 Wilfried Mascolus - OpenGL Teil II 2/20 Blending Entscheidung, was passiert, wenn sich zwei Objekte überlappen
Kapitel 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
Einfü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
Computergrafik. 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
Softwareprojekt 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
Probelektion 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
Jö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
Die Welt der Shader. Fortgeschrittene Techniken III
Die Welt der Shader Fortgeschrittene Techniken III Universität zu Köln WS 14/15 Softwaretechnologie II (Teil 1) Prof. Dr. Manfred Thaller Referent: Lukas Kley Gliederung 1. Was ist ein Shader? 2. Verschiedene
Jens Konerow. Managed DirectX und C#
Jens Konerow Managed DirectX und C# Jens Konerow Managed DirectX und C# Einstieg und professioneller Einsatz Jens Konerow: Managed DirectX und C# Einstieg und professioneller Einsatz ISBN-10: 3-935082-17-4
(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
Grundlagen 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
Einführung in Truevision3D
Einführung in Truevision3D Einleitung: In diesem Artikel werden wir uns mit der Truevision Engine beschäftigen, ihr werdet lernen wie man in C# auf die Engine zugreift und wie man einfache 2D Ausgaben
Computergrafik Universität Osnabrück, Henning Wenke, 2012-05-08
Computergrafik Universität Osnabrück, Henning Wenke, 2012-05-08 Noch Kapitel IV: OpenGL Zielsetzungen Hardwarenah aber unabhängig Verschiedene Anwendungsbereiche Wissenschaft, Visualisierung & Entwicklung
Übung: Computergrafik 1
Prof. Dr. Andreas Butz Prof. Dr. Ing. Axel Hoppe Dipl.-Medieninf. Dominikus Baur Dipl.-Medieninf. Sebastian Boring Übung: Computergrafik 1 Geometrische Primitive OpenGL Zeichenarten Kurven Primitive Übung
Übungsstunde 5 zu Computergrafik 1
Institut für Computervisualistik Universität Koblenz 19. un 20. November 2012 Inhaltsverzeichnis 1 Transformationen Translation Skalierung Rotation 2 Reihenfolge von Transformationen Beispiele 3 Programmieraufgabe
Eine 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
Integration von 3D-Visualisierungstechniken in 2D-Grafiksystemen
Mitglied der Helmholtz-Gemeinschaft Inhaltsverzeichnis Integration von 3D-Visualisierungstechniken in 2D-Grafiksystemen Motivation Ergebnisse Ausblick 24. August 2012 Florian Rhiem 24. August 2012 PGI/JCNS
Diplomarbeit. 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
(9) Modernes OpenGL. Vorlesung Computergraphik III S. Müller U N I V E R S I T Ä T KOBLENZ LANDAU
(9) Modernes OpenGL Vorlesung Computergraphik III S. Müller OpenGL Shading Language (GLSL) Teil des OpenGL 2.0 Standards Syntax orientiert sich an C / C++ Funktionen Einfache Datentypen (float, int, bool)
HTBLuVA Innsbruck DIPLOMARBEIT. 3D Grafik (Game) Tutorial mit OpenGL R Trainings-LiveCD. Teil 2: Tutorial
HTBLuVA Innsbruck Höhere Lehranstalt für Elektronik Ausbildungsschwerpunkt Technische Informatik DIPLOMARBEIT 3D Grafik (Game) Tutorial mit OpenGL R Trainings-LiveCD Teil 2: Tutorial Ausgeführt im Schuljahr
Seminar: Programmierung von Grafikkarten (SS 2006)
Seminar: Programmierung von Grafikkarten (SS 2006) Shader Christian Niemand ([email protected]) Johannes Spohr ([email protected]) Universität Kassel, FB 16 Research Group Programming Languages
Shader zur Bildbearbeitung
15. Oktober 2009 1 / 23 Übersicht 1 Motivation 2 Grundlagen 3 State of the Art 4 Konzeption 5 Implementierung 6 Benchmarks 7 Fazit 2 / 23 Motivation: GPU >> CPU Moores Law: Hardware verbessert sich rapide
Architektur 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
Computer Graphik (CS231) Projektübungsblatt 3
UNIVERSITÄT BASEL Prof. Dr. Thomas Vetter Departement Mathematik und Informatik Bernoullistrasse 16 CH 456 Basel Clemens Blumer Tobias Maier Fabian Brix http://informatik.unibas.ch/lehre/fs13/cs231/ Computer
OpenGL. (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
Asteroids3D Seminar: Game Programming. Anita Dieckhoff, Pedro Flemming, Jan Ole Vollmer Betreuung: Christine Lehmann
Asteroids3D Seminar: Game Programming Anita Dieckhoff, Pedro Flemming, Jan Ole Vollmer Betreuung: Christine Lehmann Gliederung 2 1. Live-Demo und Spielidee 2. Softwarearchitektur und Szenengraph Übersicht
DirectX und OpenGL. Proseminar Multimedia-Hardwareerweiterungen Michel Weimerskirch, 15. Februar 2006
DirectX und OpenGL Proseminar Multimedia-Hardwareerweiterungen Michel Weimerskirch, 15. Februar 2006 2 Inhalt Einleitung Übersicht DirectX und Komponenten Übersicht OpenGL Sprachlicher Aufbau OpenGL Sprachlicher
General 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
Computergrafik Universität Osnabrück, Henning Wenke,
Computergrafik Universität Osnabrück, Henning Wenke, 2012-07-09 Noch Kapitel XVI Realtime Ray Tracing KD-Tree: Surface Area Heuristic Ziele der Aufteilung in Child Nodes: 1. Möglichst gleich viele Objekte
Workshop: Einführung in die 3D-Computergrafik. Julia Tolksdorf Thies Pfeiffer Christian Fröhlich Nikita Mattar
Workshop: Einführung in die 3D-Computergrafik Julia Tolksdorf Thies Pfeiffer Christian Fröhlich Nikita Mattar 1 Organisatorisches Tagesablauf: Vormittags: Theoretische Grundlagen Nachmittags: Bearbeitung
3D 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
Geometrische 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
Bitmaps. - Definition eigener Zeichenmuster - Definition eigener Schriften. Zeichnen auf Pixel- und Bitmap-Ebene
Bitmaps Grundlagen - Bitmaps sind rechteckige Arrays bestehend aus 0 und 1 Werten - Sie dienen als Zeichenmaske in einem rechteckigen Fensterbereich - Bei gegebner Zeichenfarbe f=(r, B, G) werden die Pixel,
Visualisierung 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
UV Texturen (UV Mapping)
UV Texturen (UV Mapping) 2000 08 02 Da Blender 2.0 - 'gameblender' - vor der Tür stand, hat NaN das UV-Texturenwerkzeug zur Blender 1.x Serie hinzugefügt, um den Benutzern eine Möglichkeit zu geben, sich
7.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
Universität Trier FB IV Mathematik PS Mathematics for 3D Game Programming & Computer Graphics - WS 07/08 Seminarleiter: Prof. Dr.
The Rendering Pipeline Universität Trier FB IV Mathematik PS Mathematics for 3D Game Programming & Computer Graphics - WS 07/08 Seminarleiter: Prof. Dr. Volker Schulz Referent: Carsten Kurz Datum 25.10.07
Blatt 8. Einführung in vmd. Grundlagen. Gestaltung. Beispiel. Blatt 8. Weitere
Blatt 8 16.06.2010 starten Dateien vorbereiten und starten: POSCAR und XDATCAR.zip herunterladen XDATCAR.zip mit unzip XDATCAR.zip entpacken module load vis/ startet (einfacher: im gleichen Ordner wie
EPA-Präsentation Tim Keller
EPA-Präsentation 06.07.2007 Tim Keller Inhalt Was ist Cairo? Wo wird Cairo eingesetzt? Was kann Cairo? Schichtenarchitektur von Cairo Entwicklung einer Anwendung Ein bisschen Stack Cairo und OpenGL Cairo
Kapitel 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
Computergrafik 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
(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
Thema: 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
Prozedurale Texturen >>Was nicht passt wird passend gemacht...<<
Prozedurale Texturen >>Was nicht passt wird passend gemacht...
CAUSTICS & 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
PRIP-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
Szenengraphen. Codruţa Cosma. Universität Ulm Sommersemester 2005
Szenengraphen Codruţa Cosma Universität Ulm Sommersemester 2005 Übersicht Einführung VRML OpenSceneGraph Java3D vs. VRML OpenGL vs. Java3D und VRML Zusammenfassung 2/26 Was sind Szenengraphen? Datenstruktur
Shader 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
PostScript-Ausgabe von OpenGL
PostScript-Ausgabe von OpenGL Arne Dür Institut für Mathematik Februar 2003 Aufgabenstellung: Gegeben: 3D Objekt, generiert mit Hilfe von OpenGL Gesucht: Programm, das ein Bild des Objekts als PostScript-
Interaktives Wasser in 3D. Jörn Loviscach Hochschule Bremen
Interaktives Wasser in 3D Jörn Loviscach Hochschule Bremen Ringwellen (Kapillar- und Schwerewellen) Kelvin-Schiffswellen Reflexionen von Himmel (Frensel-Effekt) und Sonne Kaustiken mit korrekten Schatten
3D Programmierpraktikum: Schattenberechnung in Echtzeit
3D Programmierpraktikum: Schattenberechnung in Echtzeit Praktikum 3D Programmierung Sebastian Boring, Otmar Hilliges Donnerstag, 20. Juli 2006 LMU München Medieninformatik Boring/Hilliges 3D Programmierpraktikum
Scalable Vector Graphics (SVG)
Scalable Vector Graphics () Beschreibungssprache für Vektorgraphiken. Basiert auf XML, daher ähnlich zu (X)HTML, SMIL, VRML, RSS, etc.
