0.1 Überblick Bereiche der Visualisierung - Flow-Vis - Software-Vis

Slides:



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

Anbindung mobiler Endgeräte über den Terminal Service
Fast Fourier Transformation
Programmieren im Großen von Markus Schmidt und Benno Kröger.
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil3.
Willkommen zu Vorlesung+Praktikum Graphische Datenverarbeitung
Geometrie von Objektoberflächen
PKJ 2005/1 Stefan Dissmann Vorwoche - Klasse public class Studierende { private String name, vorname, studiengang; private int matNr, semester; private.
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2011.
Datenbankzugriff im WWW (Kommerzielle Systeme)
Game Engine Architecture - J. Gregory
Werdegang, aktueller Stand,
Stefanie Selzer - Pascal Busch - Michael Kropiwoda
Microsoft Windows 2000 Terminal Services
Scratch Der Einstieg in das Programmieren. Scatch: Entwicklungsumgebung Prof. Dr. Haftendorn, Leuphana Universität Lüneburg,
Java: Objektorientierte Programmierung
Java: Grundlagen der Sprache
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Tobias Lauer.
Grundkurs Theoretische Informatik, Folie 2.1 © 2006 G. Vossen,K.-U. Witt Grundkurs Theoretische Informatik Kapitel 2 Gottfried Vossen Kurt-Ulrich Witt.
Vorlesung: 1 Betriebssysteme 2007 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebssysteme Hochverfügbarkeit (Einführung) 3. Quartal.
Vorlesung: 1 Betriebssysteme 2008 Prof. Dr. G. Hellberg Studiengang Mechatronik FHDW Vorlesung: Betriebssysteme Hochverfügbarkeit (Einführung) 2. Quartal.
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil2.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik I Vorlesung Listen-
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
Introducing the .NET Framework
Brandenburgische Technische Universität Cottbus Program Profiling Andrzej Filipiak Übung Testen von Software SoSe 2006.
OpenGL mit Delphi Allgemeines OpenGL-Funktionsbezeichnungen
1DVG3 - Paint Paint ein Zeichenprogramm. DVG3 - Paint 2 Paint – ein Zeichenprogramm.
Computergrafik Vom Dreieck zum Ego-Shooter Olaf Müller
Mehr Qualität und schnellere Marktreife durch effiziente Softwaretests
Bild 1.1 Copyright © Alfred Mertins | Signaltheorie, 2. Auflage Vieweg+Teubner PLUS Zusatzmaterialien Vieweg+Teubner Verlag | Wiesbaden.
20:00.
SKALIERBARE HARDWARE UNABHÄNGIGE LÖSUNGEN FÜR HSM, ARCHIVIERUNG UND SICHEREN DATENAUSTAUSCH YOUR DATA. YOUR CONTROL.
Integration virtueller und realer Objekte Proseminar: Anwendungen für Augmented Reality.
Computergraphik mit OpenGL Einführung. Bilder Objekt existiert im Raum unabhängig vom Betrachter Objekte sind beschrieben durch die Position verschiedener.
Übersicht Motivation Konzeption Umsetzung/ Implementierung
Your name Bedeutung von Internet- Technologien Gruppe 1 Andreas Feuerstein Philipp Hochratner Christian Weinzinger.
RATEME Suchen und Bewerten von Ausgangsorten. Inhalt RateMe - Pirmin Schürmann, Thomas Junghans - Hochschule für Technik Zürich 2 Unser Ziel.
Analyse von Ablaufdiagrammen
HORIZONT 1 XINFO ® Das IT - Informationssystem HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 /
HORIZONT 1 XINFO ® Das IT - Informationssystem PL/1 Scanner HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 / 540.
Publikation auf Knopfdruck Judith Riegelnig Michael Grüebler 19. Oktober 2010 / Statistiktage Neuenburg.
Java Server Pages Sergej Keterling
Vorlesung Mai 2000 Konstruktion des Voronoi-Diagramms II
Das IT - Informationssystem
Zahlentheorie und Zahlenspiele Hartmut Menzer, Ingo Althöfer ISBN: © 2014 Oldenbourg Wissenschaftsverlag GmbH Abbildungsübersicht / List.
LOD Levels of Detail Oliver Gassner Christian Troger.
1 (C)2006, Hermann Knoll, HTW Chur, FHO Quadratische Reste Definitionen: Quadratischer Rest Quadratwurzel Anwendungen.
Analyseprodukte numerischer Modelle
RATEME Suchen und Bewerten von Ausgangsorten. Inhalt RateMe - Pirmin Schürmann, Thomas Junghans - Hochschule für Technik Zürich 2 Unser Ziel.
Programmieren ... in C++ Prof. Dr.-Ing. Franz-Josef Behr, HfT Stuttgart Programmeiren I.
Schutzvermerk nach DIN 34 beachten 20/05/14 Seite 1 Grundlagen XSoft Lösung :Logische Grundschaltung IEC-Grundlagen und logische Verknüpfungen.
Vortrag von Rechtsanwältin Verena Nedden, Fachanwältin für Steuerrecht zur Veranstaltung Wege zum bedingungslosen Grundeinkommen der Piratenpartei Rhein-Hessen.
Untersuchungen zur Erstellung eines
Ertragsteuern, 5. Auflage Christiana Djanani, Gernot Brähler, Christian Lösel, Andreas Krenzin © UVK Verlagsgesellschaft mbH, Konstanz und München 2012.
U N I V E R S I T Ä T KOBLENZ · LANDAU Arbeitsgruppe Computergrafik 4. Mai / 35 Projektpraktikum AR mit korrekter Beleuchtung Entwicklung einer.
STLB-Bau – Vernetzung von Fachinformationen
prof. dr. dieter steinmannfachhochschule trier © prof. dr. dieter steinmann Folie 1 vom Montag, 30. März 2015.
Alois Schütte Advanced System Programming 2 Interprozeßkommunikation  2.1 JVM Ablaufumgebung  2.2 Java Native Interface (JNI)  Verwendung von.
VirtualPatt 2000 Interaktives 3D-Schachspiel
Artificial Intelligience
Das IT - Informationssystem
SAP Seminar 2007 Organisationsobjekte anlegen
Monatsbericht Ausgleichsenergiemarkt Gas – Oktober
3D Graphics APIs: OpenGL & Fixed Function Pipeline
Die Renderpipeline.
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.
Einführung in OpenGL Seminarvortrag im Rahmen des Bachelorstudiengangs „Scientific Programming“ Tural Bilalov.
 Präsentation transkript:

0.1 Überblick Bereiche der Visualisierung - Flow-Vis - Software-Vis - Tensorfield-Vis - Bio-Medical-Vis - Mobile Vis - Geospatial-Vis - Architectural Vis - Vol-Vis - InfoVis - Comparative Vis

0.1 Überblick Visualisierungs-Pipeline Simulationsdaten Startwerte, Randbedingungen (mathematisches) Modell numerische Simulation Messdaten Bilddaten Diskretisierung Sichtdefinition Transformation Projektion Rasterisierung Visualisierungsdaten Visualisierungsdaten Datenfilterung / -reduktion Mapping: mathematisches Modell  Visualisierungsmodell Simulationsdaten Simulation Visualization Rendering Durch ständig wachsende Rechenleistungen moderner Computer und gleichzeitig fallende Preisen erhält die Computertechnologie Einzug in immer mehr Bereiche der Wissenschaft. Viele Vorgänge, die früher an kosten- und zeitintensiven Prototypen durchgeführt wurden, lassen sich heute mittels rechnergestützter Simulationen schneller und günstiger durchführen. Durch die Vielzahl neuer Anwendungsfelder und die aufgrund hoher Rechenleistungen immer größer werdenden Datenmengen steigen jedoch gleichzeitig auch die Anforderungen an die Algorithmen zur computergrafischen Darstellung der Daten. Neben neuen oder verbesserten Methoden und Techniken zum Filtern und Clustern der eigentlichen Daten stellen sich hier vor allem stark erhöhte Anforderungen an die Interaktionsmöglichkeiten bei der Visualisierung. Der eigentliche Visualisierungsprozess lässt sich in sechs Schritte unterteilen: Erzeugung der Daten, z. B. durch numerische Simulation Bestimmung der Art der Visualisierung basierend auf Art und Größe der Daten sowie den Anforderungen der Betrachter Filterung der Daten, z. B. durch Reduzierung der Datenmenge Konvertierung der Simulationsdaten in Geometriedaten Rendern der Geometrie Überprüfung des Ergebnisses der Visualisierung, z. B. in Bezug auf Anspruch und Exaktheit Die Visualization Pipeline gibt eine mehr anwendungsorientierte Sicht auf diesen Prozess. Die Simulationsstufe erzeugt aus gegebenen Messwerten die Simulationsdaten, die in der Visualization-Stufe in Visualisierungsdaten transformiert werden. Die Rendering-Stufe erzeugt schließlich die zugehörigen Bilddaten. Es ist anzumerken, dass die aus den Stufen (II) und (III) gebildete Subpipeline auch unter dem Namen Rendering-Pipeline bekannt ist. Im Folgenden werden die einzelnen Stufen näher betrachtet. In die Stufe (I) gehen vor allem natur- oder ingenieurwissenschaftliche Grundlagen ein. Basierend auf Messdaten oder Erfahrungen wird hier ein (mathematisches) Modell der gegebenen Problemstellung aufgestellt. Ausgabe der ersten Pipelinestufe sind die von der numerischen Simulation hieraus generierten Simulationsdaten, die ihrerseits wieder die Eingabe der Stufe (II) sind. Da die Simulationsdaten aufgrund ihrer Größe und Multidimensionalität in der Regel nicht zur direkten Visualisierung geeignet sind, werden hier zunächst in einem Filter-Prozess die relevanten Informationen extrahiert und – falls nötig – die Menge der Daten durch geeignete Reduktionsverfahren verkleinert. Im anschließenden Mapping-Prozess wird nun ein auf den Daten und der Problemstellung basierendes Visualisierungsmodell berechnet. Die aus diesem Modell hervorgehenden Visualisierungsdaten sind lediglich Geometriebeschreibungen wie zum Beispiel geometrische Primitive, die dann in der Pipelinestufe (III) zunächst diskretisiert werden. Die diskretisierten Daten, zum Beispiel in Form von Dreiecken, werden dann basierend auf der Sichtdefinition transformiert. Im nächsten Schritt, der Projektion, entsteht dann durch Rasterisierung das eigentliche (Pixel-)Bild, d. h. die Bilddaten. Es ist offensichtlich, dass jede Stufe vom Ergebnis der vorhergehenden abhängig ist. Die für den Visualisierungsprozess benötigte Zeit ergibt sich damit aus der Summe der Ausführungszeiten der einzelnen Stufen. Prinzipiell kann der Benutzer bei jeder Stufe der Pipeline interaktiv eingreifen. In der Regel findet die eigentliche Interaktion jedoch hauptsächlich in Stufe (III) statt; die Schritte Sichtdefinition, Transformation, Projektion und Rasterisierung werden entsprechend in einer Schleife ausgeführt.

0.1 Überblick Anwendungs-Beispiel: „Kontext-sensitive Visualisierung“ (Jun. Prof. Dr. Achim Ebert) State-of-the-Art bei Visualisierungssystemen: - Systemdesign - Große monolithische Systeme - Für spezielle Verwendungszwecke entwickelt - Softwareentwicklung - Anwendung und Visualisierungssystem eng gekoppelt - Programmierung sehr aufwendig - Flexibilität - Plattformabhängigkeit - Manuelle Einstellung der Systemparameter - Keine dynamische Anpassung

0.1 Überblick Anwendungs-Beispiel: „Kontext-sensitive Visualisierung“ - Definition: kontextsensitiv - kontextbezogen, kontextadaptiv - „auf den aktuellen Zusammenhang – den Kontext – bezogen” - Definition: kontextsensitive Visualisierung - Eine Visualisierung bzw. eine Visualisierungsapplikation ist genau dann kontextsensitiv, wenn - sie vorgegebene Kontexte berücksichtigt und - flexibel auf sich dynamisch ändernde Situationen proaktiv reagiert.

0.1 Überblick Kontext-sensitive Visualisierung - Szenarien - Benutzerkontext - Individualität und Personalisierung - Benutzermodell: individuelle Benutzereigenschaften

0.1 Überblick Kontext-sensitive Visualisierung - Szenarien - Benutzerkontext - Situationskontext - Aktuelle Situation des Benutzers - Orts- und Umgebungsmerkmale - Visualisierungsanwendungen: - Location-based services - Mobile Visualisierung

0.1 Überblick Kontext-sensitive Visualisierung - Szenarien - Benutzerkontext - Situationskontext - System- und Interaktionskontext - Systemkontext: Möglichkeiten der Rechnerumgebung - Plattformunabhängigkeit - Interaktionkontext: sich dynamisch ändernde Werte - Flexibilität des Visualisierungsprozesses - Parameterwahl: Framerate vs. Qualität

0.1 Überblick Kontext-sensitive Visualisierung - Szenarien - Benutzerkontext - Situationskontext - System- und Interaktionskontext - Darstellungskontext - Ausgabemedium (Art, Größe, Auflösung) - Thematik: Wie stelle ich etwas dar?

0.1 Überblick Kontext-sensitive Visualisierung - Szenarien - Benutzerkontext - Situationskontext - System- und Interaktionskontext - Darstellungskontext - Datenkontext - Wünsche und Vorgaben des Benutzers - Parameter i.d.R. nicht im Voraus bekannt - Thematik: Was stelle ich dar?

0.1 Überblick Kontext-sensitive Visualisierung – Agentengesteuerte Visualisierungspipeline

0.1 Überblick Anwendungsbeispiel MacVis: Multi Agent- and Component-based Visualization PERFORMANCE AGENT READER MARCHING CUBE LEVEL OF DETAIL TEXTURE COORDS RENDERER USER DEMANDS ENVIRONMENT LEGEND REACTIVE AGENT PROACTIVE AGENT DATA GENERATION DATA CONVERSION DATA VISUALIZATION CONTROL LOOP REACTIVE AGENT KNOWLEDGE BASE ENVIRONMENT KNOWLEDGE BASE

0.1 Überblick Anwendungsbeispiel MacVis: CT-Datensatz eines menschlichen Kopfes - 94 Schichtaufnahmen - Abstand: 1.5 mm - Auflösung: 2562 Pixel - Pixelabstand: 0.8 mm - Farbtiefe: 12 Bit - Marching-Cubes-Algorithmus - Berechnung von Konturflächen - Approximation durch Dreiecksnetze - Im Beispiel: ca. 150.000 Dreiecke (beste Qualitätsstufe) - Level of Detail

0.1 Überblick Einschub: Marching-Cubes Algorithmus - Berechnung von Konturflächen - Erweitert Marching-Squares auf 3D - Marching Squares: - Wähle Zelle - Bestimme Zustand der Zelle -> Bitvektor - Lookup-Table -> Verlauf der Konturlinie - Berechne Schnittpunkte mit Kanten der Zelle: - Weiter mit benachbarter Zelle mit

0.1 Überblick Anwendungsbeispiel MacVis: Visual Prototyping

0.1 Überblick Anwendungsbeispiel MacVis: Volumen-Rekonstruktion aus CT-Datensätzen

0.1 Überblick Anwendungsbeispiel: VirtualTryOn – Virtueller Bekleidungskatalog - Vision - Interaktiver Bekleidungskatalog mit Kunden als 3D-Modell - Konfektionsware und Maßkonfektion - Visuelle Passformkontrolle

0.1 Überblick Anwendungsbeispiel: VirtualTryOn – Virtueller Bekleidungskatalog - VITUS 3D Body-Scanner - 360°-Scanner; Scanvolumen: 1.2m x 0.8m x 2.1m - Laserklasse: 1 (augensicher) - Scandauer: 10 - 20 Sekunden - Auflösung: 1 - 2 mm - Optional: hochauflösende Farbtexturen - Automatische Bestimmung individueller Körpermaße - Virtueller Kunde - Scan-Objekt + Maße + Featurepunkte

0.1 Überblick Anwendungsbeispiel: VirtualTryOn – Virtueller Bekleidungskatalog - Kleidungssimulation - extrem zeitaufwendig - Eingabe: 3D-Scan des Kleidungsstücks - Morphing-Agent - Regelsystem - Basis: bekleidungstechnische Größentabellen - Exakte Maßvorgaben - Lokalität: Änderung von Einzelmaßen (z.B. Ärmellänge) - Kopplung von Maßänderungen (-> Konfektionsgrößen) - Shape-Deformation, Morphing zwischen Größen

0.1 Überblick Anwendungsbeispiel: VirtualTryOn – Virtueller Bekleidungskatalog - Morphing-Technik - Segmentierung des Kleidungsstückes - Bestimmung einer geeigneten Parametrisierung für jedes Segment - Deformation - Änderung der lokalen Eckpunkt-Koordinaten bzgl. zugehöriger Parametrisierung - Gesamt-Morph - Additive lokale Deformationen

0.1 Überblick Anwendungsbeispiel: VirtualTryOn – Virtueller Bekleidungskatalog - Virtuelle Anprobe - Positionierung - Vorpositionierung: Featurepunkte aus Scanprozess - „Haltungskorrektur” zur genauen Positionierung

0.1 Überblick Anwendungsbeispiel: VirtualTryOn – Virtueller Bekleidungskatalog Ergebnisse

0.1 Überblick Anwendungsbeispiel: Mobile Visualisierung - Inhalte - Framework für ein flexibles, mobiles Informationsvisualisierungssystem - Optimale visuelle Aufbereitung der Information - Objekt- und/oder aufgabenorientierte Visualisierung - Integration von 3D-Visualisierung auf allen Plattformen - Einsatz modernster mobiler Geräte und Übertragungstechnologien - Demonstrator - Effiziente Informationsvermittlung und betriebliche Leistungssteigerung im Bereich von Abwasseranlagen - Resultat: Transparentere sowie ökonomisch und ökologisch optimierte Prozesse in der Siedlungswasserwirtschaft

0.1 Überblick Anwendungsbeispiel: Mobile Visualisierung - Technik

0.1 Überblick Anwendungsbeispiel: Mobile Visualisierung - Anwendungen - Prozessüberwachung und -visualisierung - Controlling und Benchmarking - Reparatur und Wartung - Aus- und Weiterbildung - Notfall/Unfall

0.2 Einführung in OpenGL OpenGL: Einführung/Standard - OpenGL (Open Graphics Library) ist ein Standard für 3D Rendering und 3D Hardware-Beschleunigung - OpenGL läuft unter Windows, MacOS, Linux, Unix, … - Website: http://opengl.org - Das OpenGL Architectural Review Board – ARB – bestimmt den Standard

0.2 Einführung in OpenGL OpenGL: Eigenschaften - Hohe Qualität und leistungsfähig - Anwendungen in – CAD/CAM/CAE – Spiele – Medizin – VR – Film / Fernsehen

0.2 Einführung in OpenGL OpenGL: Vorteile für Entwickler - Industriestandard, gratis - Neutral und plattformübergreifend - Stabil, kompatibel zu früheren Versionen - Zuverlässig und portierbar, unabhängig von Betriebs- und Window-System - Entwickelt sich weiter, (aktuell: Vers. 2.1) - Skalierbar: Home PC bis Supercomputer - Ausgereiftes API, das low-level Details kapselt - Ausführliche Dokumentation erhältlich

0.2 Einführung in OpenGL OpenGL: Software Entwicklung - OpenGL ist reich an Primitiven für – Geometrie und Bild, Display-Listen, Transformationen, Beleuchtung, Texturen, Anti-aliasing, Blending, … - Anbindung an C, C++, Fortran, Ada, Java, (Lisp) ausgehend von einheitlicher Spezifikation. - Läuft unter den Betriebssystemen UNIX, Linux, MacOs, Windows 95/98/2000/NT/XP, Linux, Python, BeOS - Läuft unter X-Windows (X11), Win32 - Unterstützt 2D und 3D

0.2 Einführung in OpenGL OpenGL: Hardwarebeschleunigung - Je nach Grafik-Karte werden gewisse Befehle – von reiner Software – von der Hardware – oder von Soft- und Hardware gemischt ausgeführt - Flexible Implementierung für low-cost PC bis hin zu Grosscomputern - Kartenspezifische Erweiterungen sind ebenfalls möglich

0.2 Einführung in OpenGL OpenGL: Grundlage für viele Anwendungen - Viele high-level APIs bauen auf OpenGL auf: – Open Inventor, IRIS Performer, OpenGL Optimizer, OpenSceneGraph - Applikationen die auf OpenGL basieren: – Maya – 3D Studio Max – WorldToolKit, WorldUp – CosmoWorld – Games like Unreal, Quake2, … – …

0.2 Einführung in OpenGL OpenGL: ARB - Das OpenGL Architecture Review Board (ARB), wacht über den Standard - Dem Konsortium das 1992 gegründet wurde, gehören Firmen wie IBM, Intel, HP, Microsoft, Silicon Graphics, Evans & Sutherlands, …, an - OpenGL wird laufend weiterentwickelt - Endverbraucher, Softwareverkäufer, und OpenGL API Programmierer zahlen keine Lizenzgebühren, (nur Hardware Hersteller)

0.2 Einführung in OpenGL OpenGL: Grundlagen - API für Rendering in den Bildschirmspeicher, unterstüzt keine Peripherie wie Window, Maus, Tastatur, … – Wir verwenden hierzu GLUT - Primitive (Punkt, Linie, Polygone, Pixel Rechteck) unterliegen den jeweils aktiven Modi, die über Prozeduraufrufe gesetzt werden können. - OpenGL ist ein low-level API für 3D und 2D Grafik, das das Rendering und weniger das Modellieren von komplexen Objekten unterstüzt.

0.2 Einführung in OpenGL OpenGL: Grundlagen - GL verwendet ein Client-Server Modell: Client: Programm, das das API verwendet. Server: Übernimmt das Rendering. - OpenGL als Status-Maschine: Client state Server state

0.2 Einführung in OpenGL OpenGL: Syntax - void glVertex3f(GLfloat x, GLfloat y, GLfloat z) - void glNormal3dv(GLdouble arg[3]) - Rtype glName{e 1234}{e bsifd ub us ui} – ([args,] T arg1, …, T argN [, args])

0.2 Einführung in OpenGL OpenGL: Hello World #include <GL/glut.h> int main(int argc, char** argv) { glutInit(&argc, argv); glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB); glutInitWindowSize (250, 250); glutInitWindowPosition (100, 100); glutCreateWindow ("hello"); init (); glutDisplayFunc(display); glutMainLoop(); return 0; /* ANSI C requires main to return int. */ }

0.2 Einführung in OpenGL OpenGL: Hello World void init (void) { /* select clearing color */ glClearColor (0.0, 0.0, 0.0, 0.0); /* initialize viewing values */ glMatrixMode(GL_PROJECTION); glLoadIdentity(); glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0); }

0.2 Einführung in OpenGL OpenGL: Hello World void display(void) { glClear (GL_COLOR_BUFFER_BIT); /* clear all pixels */ /* draw polygon with corners at (0.25, 0.25, 0.0) and (0.75, 0.75, 0.0) */ glColor3f (1.0, 1.0, 1.0); glBegin(GL_POLYGON); glVertex3f (0.25, 0.25, 0.0); glVertex3f (0.75, 0.25, 0.0); glVertex3f (0.75, 0.75, 0.0); glVertex3f (0.25, 0.75, 0.0); glEnd(); /* don't wait! start processing buffered OpenGL routines */ glFlush (); }

0.2 Einführung in OpenGL Aufgabe: - Übersetzen Sie das oben gegebene Beispielprogramm und führen Sie es aus. - Fügen Sie der Szene ein gelbes Dreieck mit den Ecken (0.25, 0.75, 0.0) (0.75, 0.75, 0.0) und (0.75, 0.75, 0.3) hinzu. - Statt einer orthogonalen Parallelprojektion können Sie auch eine perspektivische Projektion benutzen. Ersetzen Sie dazu im Code die „glOrtho“-Anweisung durch folgende Anweisungen: gluPerspective(fieldOfView, aspect, near, far); gluLookAt(eyeX, exeY, eyeZ, centerX, centerY, centerZ, upX, upY, upZ); Experimentieren Sie mit verschiedenen Sichten auf die Szene.

0.2 Einführung in OpenGL Literatur: Computer Graphics with OpenGL (3. Auflage), D. Hearn, M.P. Baker. Prentice Hall, 2004. ISBN: 0130153907 OpenGL: A Primer (3. Auflage), Edward Angel, Addison-Wesley, 2007 OpenGL Programming Guide (5. Auflage), OpenGL ARB, Addison- Wesley, 2005, The OpenGL Utility Toolkit (GLUT) Programming Interface API Version 3, Mark J. Kilgard, Silicon Graphics, Inc. November 13, 1996