OpenGL mit Delphi Allgemeines OpenGL-Funktionsbezeichnungen

Slides:



Advertisements
Ähnliche Präsentationen
Konzeptioneller Vergleich von VRML, Java3D und OpenGL hinsichtlich ihrer Eignung zur Erstellung von Animationen von Christian Stein.
Advertisements

Die neue Crestron Touchpanel Familie
Lineare Interpolation - Beispiel
Geometrie Programmierung beginnend bei 0 ist
Grundlagen der Geometrie
On a Buzzword: Hierachical Structure David Parnas.
Vergleich von 3D Game Engines
Java2D Richard Göbel.
Einführung in die Programmierung von 3D-Grafiken Basis ist Java3D
1A: POSIX POSIX (Portable Operating System) ist ein Standard für UNIX-Systeme. Er dient dazu, Programme portabel unter UNIX und Derivaten zu tauschen und.
Koordinatensysteme und Transformationen
Java3d „Licht und Material“
Das Java-Hamstermodell
Entwurfsmuster EDV Entwurfsmuster.
Quaternionen Eugenia Schwamberger.
Special Effects Realistischeres Rendern einer Scene.
ODBC (Open Database Connectivity)
FHP - Fachbereich Bauingenieurwesen
Computergraphik mit OpenGL Einführung. Bilder Objekt existiert im Raum unabhängig vom Betrachter Objekte sind beschrieben durch die Position verschiedener.
Einsteigerkurs Andy Reimann - Mai Intro Trailer.
0.1 Überblick Bereiche der Visualisierung - Flow-Vis - Software-Vis
Präsentation von Fabio, Luca, Frangi, Sacha
DivX3 IT Referat DIVX 3.
Betriebssystem Linux Von Sofia & Yasemin WG 12/3.
Präsentation von Alexander Schönfeld
BILDFORMATE von Margarita Isjurowa.
Computergraphische Visualisierungs- verfahren für 3D-Stadtmodelle
Game Development mit LUA Integration und Kommunikation von LUA mit C++ Referat von Paul van Hemmen Seminar: Reusable Content in 3D und Simulationssystemen.
A RBEITEN MIT T HREADS. P ROZESSE UND T HREADS Prozess Eine einzelne CPU kann immer nur einen einzelnen Prozess bearbeiten. Rechenzeit wird an Prozesse.
Von der Planung bis zum Hauptmenü Seminar: Softwaretechnologie II Dozent: Prof. Manfred Thaller Referent: Jan Bigalke.
BIT – Schaßan – WS 02/03 Basisinformationstechnologie HK-Medien Teil 1, 11.Sitzung WS 02/03.
Signal-Prozessoren DSV1, 2009, Hhrt, 1 Mikro-Prozessor Von Neumann-Architektur Daten und Programmcode im gleichen Speicher => Sequenzieller Zugriff auf.
Medizinische Visualisierung
Camera, Lights, Action… Dirk Primbs Developer Evangelist
Von Patrick Schmid und Christian Piwecki
Multivariate Statistische Verfahren
Kommandozeile und Batch-Dateien Molekulare Phylogenetik – Praktikum
1 Proseminar TUM Informatik PalmPilot und Handspring: Technik, Programmierung, Anwendung Hacks Daniel Schweighart
Virtuelle Strip.
Allgemeine Technologien I Dozentin: Susanne Kurz M. A. WS 2009/10 Referentinnen: Julia Lohmann & Claudia Geißler.
Kurzreferat über Funktionen und Prozeduren Von Alexander RothHomepage:
Lisa Blum - Kathrin Kunze - Michael Kreil
Erfahrungen mit Microsoft DirectX 8 W. Krug, April 2002.
Microsoft-Office versus OpenOffice © Walter Riedle, Computeria-Urdorf, 2008 Walter Thomi stellte an der Computeria vom 5. November 2008 Linux als alternatives.
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.
1 Bauhaus-Universität Weimar ArchitekturProgrammierung Generative Entwurfsmethoden Processing Grundlagen Professur Informatik in der Architektur.
Betriebssysteme: Windows-OS
3D Graphics APIs: OpenGL & Fixed Function Pipeline
SQL-Prozeduren Charakteristika: Kapselung von SQL-Anweisungen in Prozeduren, die wiederholt aufgerufen werden können. Dazu Verbergen parametrisierter SQL-
Open Source und Open Office Referenten: Anja Stadler & Fabian Gebauer.
JAVA 3D 1 Einführung in die Java3D API JAVA 3D2 Was ist Java3D? Standard-Extension-Klassenbibliothek für Java X (X >= 1.2) Ermöglicht.
The Programming Language Pascal
und Informationen über den Scanner
Objektorientierte (OO) Programmierung
 Einführung  Szenengraphen  Bestandteile  Eingabe  JOGL  LWJGL  Beispiele  ARDOR3D Games 04/23/12Ardor 3D – Holzwarth/Kau 2.
...ist die kleinste darstellbare Datenmenge. Es wird in der Informatik, der Informationstechnik und in der Nachrichtentechnik entweder durch 0 oder durch.
Johanna Denfeld Hannes Holzfuß
Betriebssysteme allgemein
Programmierung von CNC-Messgeräten mit genetischen Algorithmen Simeon Perlov.
Human Plant Interfaces Pflanzenschrei Workshop by Florian Weil - Potsdam
Einführung in OpenGL Seminarvortrag im Rahmen des Bachelorstudiengangs „Scientific Programming“ Tural Bilalov.
1 Grundsätze objektorientierter Programmierung. Dr. Wolfram Amme, Grundsätze objektorientierter Programmierung, Informatik II, FSU Jena, SS Objektorientierte.
Vergleich verschiedener 3D-Bibliotheken am Beispiel einer Massendarstellung von Zylindern Gehalten von : Thomas Nowicki Gehalten am : Geodätisches.
Desktop-Publishing Grafik- und Bildformate. F. Müller Übersicht Bitmaps – Pixel, Größe – Auflösung – Optimierung – Farbtiefe – Speicherformate – Animationen.
Aufbau und Funktion von 3D- Grafikkarten von Christian Reis.
Units und Übung 7 Barbara Scheuner
Betriebssystem, BIOS, Firmware, Treiber, Systemtools
Magische Wand Ein Spiel zum Thema: Betriebssysteme.
Parametrisierte Prozeduren und Funktionen
Klicke auf eine Zahl..
 Präsentation transkript:

OpenGL mit Delphi Allgemeines OpenGL-Funktionsbezeichnungen Aufbau eines OpenGL-Programms Unser erstes Dreieck Farben Transformationen

Allgemeines 3D Grafik API 1992 von SGI aus IrisGL hervorgegangen Schnittstelle zur 3D Programmierung Unterstützung für Hardwarebeschleunigung Unabhängig vom Betriebssystem 1992 von SGI aus IrisGL hervorgegangen Offener Standard

Vorteile und Nachteile Läuft unter verschiedenen Betriebssystemen wie Windows, Linux oder MacOS Weit verbreitet Von führenden Grafikkartenherstellern anerkannt Nachteile: Nur Grafik, im Gegensatz zu DirectX Teilweise sehr unübersichtlich

OpenGL-Funktionsbezeichnungen Alle OpenGL-Funktionen besitzen eine standardisierte Namensgebung: glVertex3f(x, y, z); Parameter Aufgabe der Funktion Anzahl der Parameter Typ der Parameter

Aufbau eines OpenGL-Programms } function InitGL begin ... end function Render glClear(GL_COLOR_BUFFER_BIT) glBegin([Primitiventyp]) glVertex(1, 2, 3) glEnd() OpenGL initialisieren

Primitiven GL_POINTS GL_LINES GL_LINE_STRIP GL_TRIANGLES GL_TRIANGLE_STRIP GL_TRIANGLE_FAN GL_QUAD GL_POLYGON

Unser erstes Dreieck Procedure Draw; begin glClear(GL_COLOR_BUFFER_BIT); glBegin(GL_TRIANGLES); glVertex3f(1.5,-1.5,-5); glVertex3f(0,1.5,-5); glVertex3f(-1.5,-1.5,-5); glEnd(); SwapBuffers(DC); end;

Farben Procedure Draw; begin glClear(GL_COLOR_BUFFER_BIT); glBegin(GL_TRIANGLES); glColor3f(1,0,0); glVertex3f(1.5,-1.5,-5); glColor3f(0,1,0); glVertex3f(0,1.5,-5); glColor3f(0,0,1); glVertex3f(-1.5,-1.5,-5); glEnd(); SwapBuffers(DC); end;

Transformationen OpenGL benutzt Matrizen um Objekte zu verschieben, drehen und zu skalieren. Dafür gibt es: glTranslatef(x,y,z) glRotatef(Winkel,x,y,z) glScalef(x,y,z) glLoadIndentity() setzt die Matrix in ihre Ursprungsform zurück. Vorsicht! Das Kommutativgesetz gilt bei der Matrizenrechnung nicht, d.h. es ist nicht egal in welcher Reihenfolge die Funktionen aufgerufen werden.

Beispiel zu Transformationen glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT); glLoadIdentity; glTranslatef(0,0,-5); glRotatef(Rotation,0,1,0); glScalef(0.5,0.5,0.5); glBegin(GL_TRIANGLES); glColor3f(1,0,0); glVertex3f(1.5,-1.5,0); glColor3f(0,1,0); glVertex3f(0,1.5,0); glColor3f(0,0,1); glVertex3f(-1.5,-1.5,0); glEnd(); SwapBuffers(DC); Rotation ist eine Variable, die einen Winkel im Gradmaß enthält und mit einem Delphi-Timer verändert wird.

Gute OpenGL-Tutorials http://nehe.gamedev.net/