Einführung in OpenGL Seminarvortrag im Rahmen des Bachelorstudiengangs „Scientific Programming“ Tural Bilalov.

Slides:



Advertisements
Ähnliche Präsentationen
Computer Graphics Shader
Advertisements

Konzeptioneller Vergleich von VRML, Java3D und OpenGL hinsichtlich ihrer Eignung zur Erstellung von Animationen von Christian Stein.
Einführung in HTML (Hypertext Markup Language)
Grundlagen der Geometrie
Graphische Datenverarbeitung IV Dr. Markus Heitz.
Einführung Richard Göbel.
FH-Hof Texturen Richard Göbel. FH-Hof Anwendungen von Texturen Darstellung von 2D-Bildern Gestaltung von Oberflächen Simulation komplexer Geometrien...
FH-Hof Georeferenzieren Richard Göbel. FH-Hof Geographische Positionen in Bilddaten Bilddaten werden von Kameras (Sensoren): auf Flugzeugen oder auf Satelliten.
Phong Shading (Normaleninterpolation)
Simulation und 3D-Programmierung Praxis: Dreiecke, Texturen, Vertex-Buffer Universität zu Köln Historisch Kulturwissenschaftliche Informationsverarbeitung.
Viewing: Sichtbarkeitsbestimmung
Koordinatensysteme und Transformationen
Java3d „Licht und Material“
Diskrete Mathematik I Vorlesung Arrays-
OpenGL mit Delphi Allgemeines OpenGL-Funktionsbezeichnungen
Computergrafik Vom Dreieck zum Ego-Shooter Olaf Müller
FH-Hof Algorithmen und Datenstrukturen - Einführung Richard Göbel.
Abschlusspräsentation
Einführung Inhalte dieses Kurses Generationen der Programmiersprachen
FHP - Fachbereich Bauingenieurwesen
Computergraphik mit OpenGL Einführung. Bilder Objekt existiert im Raum unabhängig vom Betrachter Objekte sind beschrieben durch die Position verschiedener.
Teil II Objekte ergeben ein Ganzes
Dateien Datei = File (engl.) Mögliche Inhalte einer Datei
Wissenschaftliche Programmierung mit Python - für Meteorologie und Atmosphärenforschung Martin G. Schultz Teil 3: Numpy.
Sesame Florian Mayrhuber
Aufgabe Modellieren Sie mittels Bézier-Kurven einen Kreis.
Chair of Software Engineering Einführung in die Programmierung Prof. Dr. Bertrand Meyer Lektion 9: Abstraktion.
Geometrie : Rekonstruktion
Lindenmayer-Systeme: Fraktale rekursiv zeichnen
Camera, Lights, Action… Dirk Primbs Developer Evangelist
Von Patrick Schmid und Christian Piwecki
121 Grafiken und ZeichenobjekteInhalt 21Grafiken und Zeichenobjekte 21.1Grafiken einfügen und bearbeiten 21.2Objekte erstellen 21.3Besonderheiten bei Objekten.
Seminar: Grundlagen Wissenschaftlichen Arbeitens
ÜBERSCHRIFTEN <H1> Überschrift 1 </H1>
U N I V E R S I T Ä T KOBLENZ · LANDAU Arbeitsgruppe Computergrafik 4. Mai / 35 Projektpraktikum AR mit korrekter Beleuchtung Entwicklung einer.
Augmented Reality mit korrekter Beleuchtung Thorsten Grosch
Cascading Style Sheets
Inf K1/2 Sj 13/14 GZG FN W.Seyboldt 1 SFZ FN Sj. 13/14 Python Klassen und Objekte.
Lisa Blum - Kathrin Kunze - Michael Kreil
Einzugsarten Linker Ohne Einzug Einzug Hängender Einzug Erstzeilen-
Erfahrungen mit Microsoft DirectX 8 W. Krug, April 2002.
Zeichnen Mit den Officeprogrammen kann man sehr viele einfache Grafiken direkt im Programm erstellen. Es handelt sich um ein Zeichenprogramm Malprogramme.
Die Welt der Shader Universität zu Köln WS 14/15 Softwaretechnologie II (Teil 1) Prof. Dr. Manfred Thaller Referent: Lukas Kley Fortgeschrittene Techniken.
SINUS-Transfer NRW Projekt 2 Klaus Gerber
Der Begriff Grafik Computergrafik ist die Erstellung und Verarbeitung von Grafiken mit Hilfe eines Computers. Hierzu benötigt man: Eingabegeräte wie zum.
3D Graphics APIs: OpenGL & Fixed Function Pipeline
Die Renderpipeline.
Multimedia und Virtual Reality Vorlesung am Martin Kurze Multimedia in 3D.
Diskrete Mathematik I Vorlesung 2 Arrays.
Proseminar – Computer Graphics Nikolaos Tsanakas computer graphics & visualization OpenGL Shading Language.
Grundlagen der Geometrie
Universität zu Köln Institut für Historisch- Kulturwissenschaftliche- Informationsverarbeitung SS 2011 Dozent: Prof. Dr. Manfred Thaller AM3 Seminar „Softwaretechnologie.
Graphik-Programmierung mit OpenGL
Microsoft Silverlight Autor: Christian Pirker. Inhalt Einführung Silverlight Einführung XAML Silverlight 1.0 und 1.1 Silverlight 2.0 Silverlight 3.0 Ausblick.
AutoCAD und StadtCAD Supportfälle
Fakultät Architektur, Lehrstuhl für Bauökonomie und Computergestütztes Entwerfen Informationstechnologien (IT) in der Architektur Raster- oder Vektorgrafik.
© 2012 TravelTainment Einführung in Enterprise JavaBeans Seminarvortrag von Ralf Penners Folie 1 von 34.
Lehrstuhl für Arbeits- und Kognitionspsychologie - RWTH Aachen Univ.-Prof. Dr. Jochen Müsseler Laszlo Bardos Kolloquium: Untersuchung von Effekten.
Patrick Richterich Lattwein GmbH Web Services Softwareentwicklung mit SOAP.
Operator Overloading, Mehrfachvererbung, Safe Pointer, Observer.
Tutorium Software-Engineering SS14 Florian Manghofer.
Vergleich verschiedener 3D-Bibliotheken am Beispiel einer Massendarstellung von Zylindern Gehalten von : Thomas Nowicki Gehalten am : Geodätisches.
Seminarvortrag Möglichkeiten zur dreidimensionalen Darstellung von Straßenoberflächen Matthias Baumgarten.
Aufbau und Funktion von 3D- Grafikkarten von Christian Reis.
Hello World! Javakurs 2013 Arne Kappen
ARIS Interactive Guide 9- Modell
Business Process Excuction Lanaguage
Java-Kurs Übung Klassen und Objekte: Vererbung (Fortsetzung)
Erstellen eines Sitzplans
Übersicht und Benutzung von Sphinx
 Präsentation transkript:

Einführung in OpenGL Seminarvortrag im Rahmen des Bachelorstudiengangs „Scientific Programming“ Tural Bilalov

Inhalt Was ist OpenGL? OpenGL Sprache Rendering OpenGL Primitive 3D Objekte Modellierungstransformation ◦ Beispiel Darstellungstransformation Projektionen Beleuchtung Fazit

Was ist OpenGL? OpenGL (Open Graphics Library) ist eine Bibliothek für eine plattform- und programmiersprachenunabhängige Programmierung und Entwicklung von 2D- und 3D Computergrafik Das eingentliche OpenGL ist eine sehr hardwarenahe Schnittstelle aus etwa 200 Kommandos Eingie Besonderheiten: >> Effizienz >> Plattformunabhängigkeit >> niedrige Call-Draw Kosten >> Zustandsautomat >> reine Grafikbibliothek

OpenGL Sprache Syntax  Befehle (z.B. glClearColor() )  Konstanten(z.B. GL_COLOR_BUFFER_BIT ) Formate  Nicht-Vektor Version glColor3f (1.0, 0.0, 0.0);  Vektor Version GLfloat color_array[] = {1.0, 0.0, 0.0}; glColor3fv (color_array); Datentypen  GLbyte, GLshort, GLint, GLfloat, GLdouble, GLboolean, Glenum

Rendering Löschen des Fensterinhalts glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); Darstellungs- und Modellierungstransformationen glTranslatef( 0.0, 0.0, ); glRotatef( xRot, 1.0, 0.0, 0.0 ); Zeichnen von Objekten glBegin(GL_QUADS); glVertex3f(-1, 1, -1); glVertex3f(-1, 1, 1); glVertex3f(-1, -1, 1); glVertex3f(-1, -1, -1); glEnd();

OpenGL Primitive Anordnung von Eckpunkten glBegin( ); glEnd(); Koordinaten glVertex3f() Eckpunktspezifische Daten ◦ Farbe, Normalvektor, Texturkoordinaten Zustandsvariablen ◦ Farbe, Linienbreite, Linienmuster, Schattierungmethode, Nebel usw. Shading Model

3D-Objekte Verdeckte Tiefe ◦ glEnable(GL_DEPTH_TEST), glClear(GL_DEPTH_BUFFER_BIT) Komplexe Objekte aus kleinen Primitiven Ausschnittsflächen Display Lists ◦ glNewList(name,mode) ◦ glCallList(name)

Modellierungstransformation Positionieren und Ausrichten des Models Einsatz von Matrizen glMatrixMode(GLenum mode)  GL_MODELVIEW, GL_PROJECTION und GL_TEXTURE glTranslate(TYPE x, TYPE y, TYPE z) glRotate(TYPE angle, TYPE x, TYPE y, TYPE z) glScale(TYPE x, TYPE y, TYPE z)

Besipiel Erst Drehen danach Verschieben (Pos. x-axis) Erst Verschieben und danach Drehen (Pos. Y=x) Matrix Stacks ( glPushMatrix(), glPopMatrix() )

Darstellungstransformation Positionieren und Fokusieren einer Kamera Einsatz von Matrizen glMatrixMode(GL_PROJECTION ) Zwei Arten :  Perspektivische Projektion  Orthografische Projektion

Projektionen  Perspektivische Projektion ◦ Realistische Darstellung ◦ glFrustum(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble near,GLdouble far)  Orthografische Projektion  Maßen der Objekte von großer Bedeutung  glOrtho(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble near,GLdouble far)

Beleuchtung Richtungslichtquellen (directional) Positionslichtquellen (positional) glLightfv(Glenum light, Glenum name, Glenum param) ◦ Position  GL_POSITION ◦ Farbbestandteile  GL_AMBIENT; GL_DIFFUSE; GL_SPECULAR glMaterialfv(Glenum face, Glenum name, Glenum param) Normale Vektoren

Fazit Prozedurales, low-level API Grafik-Pipeline (OpenGL State-Machine) Riesige Funktionalität Extensions-Chaos Multi-Platform Open-Source

Vielen Dank!