OpenGL ES 2.0. OpenGL ist eine Bibliothek zur Ansteuerung von Grafikhardware

Größe: px
Ab Seite anzeigen:

Download "OpenGL ES 2.0. OpenGL ist eine Bibliothek zur Ansteuerung von Grafikhardware"

Transkript

1 Begriffsbestimmung Was ist OpenGL (Open Graphics Library) OpenGL ist eine Bibliothek zur Ansteuerung von Grafikhardware Plattform- und Programmiersprachenunabhängig Darstellung komplexer 2D- und 3D-Szenen auf Basis von Echtzeitberechnungen Heute als Standardschnittstelle auf praktisch allen Plattformen mit 3D-Unterstützung verfügbar (Auf Microsoft-Systemen allerdings Dominanz von DirectX)

2 Begriffsbestimmung Was ist OpenGL ES (Open Graphics Library for Embedded Systems) OpenGL ES ist eine abgerüstete Version der Open GL Grafikbibliothek optimiert für Systeme mit begrenzten Hardwareressourcen und beschränkter Performance durch: - Entfernung von Funktionen mit hohem Ressourcenverbrauch - Beschränkung auf die Verarbeitung von Basisdatentypen (Integer, Float) - Restrukturierung interner Verarbeitungsabläufe Einsatzgebiete: - Smartphone und Tablet PC (Android, ios) - Home Entertainment (Smart TV etc.) - Eingebettete Systeme auf Linux-Basis (Medizintechnik, Industriesteuerung, ) Versionen: ab Android ab Android 2.2 (API level 8) 3.0 ab Android 4.3 (API level 18)

3 Begriffsbestimmung Persönliche!! Einschätzung zu OpenGL ES + Gute Performance auf Systemen mit geringen Hardwareressourcen + Reproduzierbare, stabile Applikationsausführung ohne Überraschungen o ausschließlich Grafikbibliotheken, keine Synchronisation mit Sound, Netzwerk - starke Brüche (Paradigmenwechsel) zwischen verfügbaren Versionen (1.X, 2.X) - Prinzipien der objektorientierten Programmierung werden teilweise durchbrochen bzw. unsauber implementiert - Merkliche Inkonsistenzen zwischen einzelnen Teilen (möglicherweise durch unterschiedliche Entwickler) - Vergleichsweise wenig entwicklerfreundlich (hoher Aufwand zur Erstellung der notwendigen Grundstrukturen, begrenzte Entwicklerunterstützung, kryptisch, )

4 Grundphilosophie Die Basis für jede grafische Darstellung unter OpenGL bilden Vertices (Einzahl Vertex ). Vertices sind Raumvektoren in einem kartesischen Koordinatensystem. OpenGL verwendet ausschließlich das rechtshändige (right-handed) Koordinatensystem. Ein vollständiger 3D-Vertex besitzt also je eine X, Y und Z Komponente, die seine Lage im Koordinatensystem (im Zusammenhang mit der Konstruktion grafischer Objekte auch als Model Space bezeichnet) eineindeutig bestimmen. Die Z-Komponente muss dabei nicht zwingend definiert werden. Dies vereinfacht das Handling bei der ebenfalls möglichen 2D-Darstellung. Vertices müssen für die weitere Verarbeitung in einer speziellen Datenstruktur, dem Vertex Buffer, zur Verfügung stehen.

5 Grundphilosophie Die Verarbeitung der Daten aus dem Model Space in Bildpunkte für die Darstellung auf dem Display erfolgt in einem mehrstufigen Prozess (Rendering) auf der Grafikhardware (GPU) in Form von Hardware/Firmware (Rasterizer, Output Merging) bzw. Software (Vertex Shader Software im Vertex Processor, Fragment Shader Software im Fragment Processor ). Vertex-Daten (X,Y,Z) Bildpunkt-Koordinaten (X,Y) Bildpunkt-Farbwerte (R,G,B) Seit der Version 2.0 von OpenGL ES müssen die Shaderprogramme vom Entwickler bereit gestellt werden (keine Unterstützung von Hardware-Shadern). Dafür wird in der Regel die Entwicklungssprache GLSL (Graphics Library Shader Language) eingesetzt.

6 Grundphilosophie Vertex Processing Pipeline Der Rasterizer Im Rasterizer erfolgt die Umwandlung der Vertex-Daten aus dem Model Space(s) in bildpunktbezogene Daten (Screen Space). Im ersten Schritt erfolgt hierbei die Zusammenfassung von einem oder mehreren Vertices zu Primitiven (Primitives). Wie dies geschieht, ist vom erwarteten Primitiven- Typ (Primitive Type) abhängig, der bei der Initialisierung des Renderprozesses dem Rasterizer als Parameter zur Verfügung gestellt werden muss. OpenGL ES 2.0 kennt folgende Primitive Types:

7 Grundphilosophie Vertex Processing Pipeline Der Rasterizer Im zweiten Verarbeitungsschritt werden die primitivenspezifischen Bildpunktkoordinaten für die Darstellung auf dem Display errechnet. Hierfür muss bekannt sein, ob das gesamte Diplay (Fullscreen) oder nur ein rechteckiger Ausschnitt davon (Viewport) für die Darstellung verwendet werden soll. Dies geschieht durch die Übergabe eines graphischen OpenGL Context an den Rasterizer. Der Context ist Architekturabhängig und muss vom Betriebssystem bereitgestellt werden. Der Kontext verweist auf einen Speicherbereich im Grafikspeicher, der entweder das gesamte Display oder einen Ausschnitt davon (in der Regel ein systemspezifisches Fenster) repräsentiert und beinhaltet einen oder mehrere Viewports. Auf diesen Viewport wird ein nullzentrierter würfelförmiger Bereich des Model Space (Clipping Volume) gemappt.

8 Grundphilosophie Vertex Processing Pipeline Der Rasterizer Model Space Viewport Y X 1 W i d t h 1 1 X H e i g h t Z Clipping Cube Y

9 Grundphilosophie Vertex Processing Pipeline Der Vertex Shader Der Vertex Shader dient dem Aufbereiten der Vertexdaten für die Weiterverarbeitung im Rasterizer. Dies geschieht, indem die Komponentenwerte (X,Y,Z) mit Hilfe mathematischer Operationen gezielt verändert werden. Damit lassen sich Operationen wie: - Verschieben / Bewegen - Skalieren - Drehen / Spiegeln etc. realisieren. Auch alle für die Erzeugung eines möglichst realistischen 3D-Eindrucks notwendigen Operationen werden mit Hilfe der Vertex Shader Software erzeugt. Eine Vertex Shader Software muss vom Entwickler in jedem Fall zur Verfügung gestellt werden, auch wenn keine der genannten Operationen ausgeführt wird, da anderenfalls der Rasterizer keine Datenquelle besitzt. Eine detaillierte Beschreibung der Arbeitsweise des Vertex Shaders erfolgt zu einem späteren Zeitpunkt.

10 Grundphilosophie Vertex Processing Pipeline Der Fragmant Shader Dem Fragment Shader werden vom Rasterizer die 2D Koodinaten aller auf dem Viewport zun zeichnenden Bildpunkte übermittelt. Aufgabe des Fragment Shaders ist es, für diese Bildpunkte den jeweiligen Farbwert (R,G,B) zu ermitteln und diesen an die Output Merging Einheit weiterzugeben. Im einfachsten Fall gibt der Fragment Shader für jeden Bildpunkt den gleichen, vom Entwickler festgelegten, Farbwert weiter. Es entsteht dann ein einfarbiges Primitive (Punkt, Linie, Fläche). Im aufwendigsten Fall ermittelt der Fragment Shader den Farbwert eines zugehörigen Pixels einer Bilddatei (Texturierung) und verarbeitet diesen weiter, um spezielle Effekte (Licht, Spiegelung, Glanz, Transparenz, Nebel, Schatten, ) zu erzeugen. Auch auf die Funktionsweise des Fragment Shaders wird nachfolgend detaillierter eingegangen.

11 Grundphilosophie Vertex Processing Pipeline Output Merging Das Output Merging ist notwendig, da aus Performancegründen häufig mehrere Shader gleichzeitig Primitive für den gleichen Viewport verarbeiten, die dann koordiniert zur Darstellung gebracht werden müssen. Dafür ist es notwendig, dass der Rasterizer erkennt, ob ein Bildpunkt des Viewport im aktuellen Rendervorgang bereits verändert wurde. In diesem Fall muss er entscheiden ob: - Der bestehende Inhalt des Bildpunktes beibehalten werden muss, - Der bestehende Inhalt des Bildpunktes durch den neuen Inhalt überschrieben werden muss, - Der bestehende Inhalt des Bildpunktes mit dem neuen Inhalt kombiniert werden muss und ggf. wie Darüber hinaus sorgt das Output Merging dafür, dass die Daten neu gerenderter Bilder nur dann zum Display gelangen, wenn Sie den visuellen Eindruck nicht stören (Synchronisation).

12 Basisklassen Die Klasse GLSurfaceView Die Klasse GLSurfaceView ist eine speziell auf die Darstellung vom mittels OpenGL erzeugten grafischen Inhalten angepasste Implementierung der Android-Klasse SurfaceView. Sie bietet u.a. folgende Features: - Bereitstellung eines Surface für Android - Bereistellung des Interface GLSurfaceView.Renderer zur Verbindung des Surface mit dem Renderer - Bereitstellung eines eigenen Threads für das Rendering - Initiierung und Steuerung des Renderprozesses (on-demand oder kontinuierlich) Das Interface GLSurfaceView.Renderer muss vom Entwickler zwingend implementiert werden.

13 Basisklassen Das Interface GLSurfaceView.Renderer Das abstrakte Interface GLSurfaceView.Renderer implementiert drei wichtige Methoden zur Steuerung des Renderprozesses: public abstract interface Renderer { void onsurfacecreated(gl10 gl, EGLConfig config); /* Wird aufgerufen, wenn ein neuer Zeichenbereich erzeugt wurde */ void onsurfacechanged(gl10 gl, int width, int height); /* Wird aufgerufen, wenn sich der Zeichenbereich geändert hat */ void ondrawframe(gl10 gl); /* Wird aufgerufen, wenn ein neues Bild gezeichnet werden soll */ } Sie müssen zwingend vom Entwickler überschrieben werden, auch wenn kein Inhaltscode notwendig/gewünscht ist.

14 Texturierung Das Aufbringen einer Textur (Bild, Grafik) ist die häufigste Art der Gestaltung von grafischen Objekten. Grundsätzlich können alle unterstützten Primitives texturiert werden. Allerdings ist die Sinnhaftigkeit bei Punkten und Linien selten gegeben. Zur Erzeugung einer Textur für OpenGL ES wird unter Android die Systemklasse Bitmap verwendet. Die Bilddaten können dabei entweder aus einer grafischen Systemressource oder unmittelbar aus einer auf Datenträger befindlichen Datei (.jpg,.png, ) bezogen werden.

15 Texturierung Über Texturkoordinaten (s,t) wird gesteuert, wie eine Textur auf ein Primitive, z.b. ein Polygon übertragen wird. Dazu werden einer Textur unabhängig von ihrer tatsächlichen Größe normierte Dimesionswerte zugewiesen. Der Ursprung der Textur erhält die Texturkoordinaten 0,0. Ihre Ausdehnung in X- und Y- Richtung beträgt jeweils 1 (auch wenn die Textur nicht quadratisch ist!). Die den Vertices eines Polygons zugeordneten Texturkoordinaten legen nun fest, welcher Punkt der Textur welchem Eckpunkt des Polygons zugeordnet wird. Die Zwischenbereiche des Polygons werden mit den (eventuell) interpolierten Zwischenwerten der Textur gefüllt. Werden für die Vertices lediglich Texturkoordinaten von 0 und 1 angegeben, so wird die gesamte Textur dargestellt. 0, 0 1, 0 Texturkoordinaten s,t 0, 0 1, 0 1, 0 0, 1 1, 1 0, 1 0, 1 1, 1

16 Texturierung Werden für s und t Werte zwischen 0 und 1 angegeben, so wird nur ein Ausschnitt der Textur dargestellt. 0, 0 0.5, 0 1, 0 0, 0 0.5, 0 0, 0.5 0, 1 1, 1 0, , 0.5 Werden für s und t Werte größer 1 angegeben, so ist die davon Abhängig, welche Voreinstellung über die Funktion gltexparameter() vorgenommen wurde. Unterstütze Modi sind GL_REPEAT und GL_CLAMP, die sich für s und t unabhängig einstellen lassen. 0, 0 3, 0 0, 0 3, 0 0, 3 3, 3 0, 3 3, 3 GL_REPEAT GL_CLAMP

17 Texturierung Texture Filtering Texturen müssen für die Darstellung häufig vergrößert bzw. verkleinert werden. Dafür benötigt OpenGL eine Information, wie bei Verkleinerung bzw. Vergrößerung (GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MAG_FILTER) vorzugehen ist. Die Steuerung erfolgt mit Hilfe der Funktion gltexparameteri und entsprechenden Parametern. Beim Nearest Point Sampling (einfachsten Verfahren, geringster Rechenaufwand) wird auf jeden zu erzeugenden Bildpunkt (Fragment) das nächstliegende Texel der Textur kopiert. Die höchste Qualität wird durch Bilineare Interpolation (aufwendigstes Verfahren, höchster Rechenaufwand) erreicht. Hierbei wird zwischen den vier umschließenden Texeln interpoliert. Parameter: GL_NEAREST Parameter: GL_LINEAR Darüber hinaus sind weitere Verfahren implementiert, die qualitativ dazwischen liegen.

18 Vertextransformation Grundlagen Sollen an grafischen Objekten Manipulationen hinsichtlich Form, Größe, Lage oder Position ausgeführt werden, müssen die Raumkoordinaten der entsprechenden Vertices verändert werden. Dies kann für einfache Transformationen prinzipiell durch die direkte Anpassung der Daten geschehen. Beispiel: Ein Objekt soll um den Betrag von +1 auf der X-Achse verschoben werden. Dies kann bewirkt werden, indem auf alle X-Werte im Vertexarray/Vertexbuffer der konstante Wert 1.0f aufaddiert wird. Für kompliziertere Transformationen wie beispielsweise Rotation, Spiegelung etc. ist dieses Verfahren eher ungeeignet. Hierfür werden in der Regel Transformationsmatrizen benutzt. Diese können mit Hilfe von OpenGL-Funktionen erstellt werden. Die Neuberechnung der Vertices erfolgt dann durch einfache Multiplikation mit der Transformationsmatrix. Diese Matrixoperationen können prinzipiell sowohl im Anwendungsprogramm als auch im Shader ausgeführt werden. Wegen der höheren Performance wird eine Ausführung im Shader in der Regel bevorzugt.

19 Vertextransformation Model Transformation / Model Matrix Die Model Matrix enthält alle Transformationsdaten, die durch Umrechnung eines im Model Space konstruierten Objektes dessen Aussehen beeinflussen. Wird die Model Matrix von Frame zu Frame entsprechend angepasst, lassen sich dynamische Effekte wie lineare Bewegung, Rotation, Größenänderung, Formänderung etc. erreichen. Für die Erzeugung der entsprechenden Matrizen sind u.a. folgende Funktionen verfügbar: setidentitym: Erzeugt eine Identitätsmatrix (keine Transformation) rotatem: Erzeugt eine Matrix zur Rotation um einen definierbaren Winkel translatem: Erzeugt eine Matrix zur Verschiebung um einen definierbaren Betrag (x,y,z) scalem: Erzeugt eine Matrix zur Skalierung um einen definierbaren Betrag (x,y,z) multiplymm: Multipliziert zwei Matrizen miteinander (Verknüpfung von zwei Transformationen)

20 Vertextransformation View Transformation und Projection Transformation Um insbesondere im 3D-Bereich eine realistische Darstellung zu erreichen, müssen nicht nur Eigenschaften und Verhalten der dargestellten Objekte sondern auch Eigenschaften und Verhalten - des Betrachters bzw. des Aufnahmeapparates (Kamera) und - des Wiedergabeapparates (Monitor) Berücksichtigung finden. Das hierbei zu Grunde liegende Modell ist das Viewing Frustum. Es zeigt die Sichtverhältnisse einer Kameraoptik mit einem bestimmten Öffnungswinkel (x,y - clipping) ergänzt durch mittels near plane und far plane definierbar eingeschränkte Sichtverhältnisse in z-richtung (z - clipping). Die dargestellten Eigenschaften werden durch View Matrix und Projection Matrix definiert. Darüber hinaus ermöglicht die Projection Matrix eine Anpassung der Projektionsverhältnisse an das Wiedergabegerät.

21 Vertextransformation View Transformation / View Matrix Die View Matrix definiert: - Die Position der Kamera (3D-Vector) - Das Betrachtungsziel (Mittelpunkt des sichtbaren Bereiches) (3D-Vector) - Die Ausrichtung der Kamera im Raum (wo ist oben) (3D-Vector) Die View Matrix kann über die OpenGL-Funktion setlookatm() erzeugt werden. Projection Transformation / Projection Matrix Die Projection Matrix definiert: - Den Öffnungswinkel der Kameraoptik (Gradmaß) - Die Position von Near Plane und Far Plane auf der z-achse - Den Aspect Ratio des Wiedergabegerätes (Display / Monitor) Die Projection Matrix kann über die OpenGL-Funktion perspectivem() erzeugt werden.

22 Vertextransformation Transformationsreihenfolge Um die Transformationen aus Model, View und Projection Matrix zu Kombinieren müssen die Matrizen multipliziert werden. Dies kann wie bereits dargestellt sowohl im Anwendungsprogramm als auch im Vertex Shader passieren. Dabei muss die vorgegebene Reihenfolge Projektion Matrix * View Matrix * Model Matrix * Vertex unbedingt eingehalten werden, das es sonst zur fehlerhaften Darstellung kommt. Zuweilen kann es sinnvoll sein, die Multiplikation der Transformationsmatrizen im Anwendungsprogramm auszuführen. Das Ergebnis wird dann häufig als ModelViewProjection Matrix (MVP-Matrix) bezeichnet. Diese Bezeichnung ist etwas irreführend da auch hier gilt: MVP Matrix = Projektion Matrix * View Matrix * Model Matrix Im Shader muss dann noch die Multiplikation mit den Vertices stattfinden.

Probelektion zum Thema. Shadow Rendering. Shadow Maps Shadow Filtering

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

Mehr

Seminar Game Development Game Computer Graphics. Einleitung

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

Mehr

Die Welt der Shader. Fortgeschrittene Techniken III

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

Mehr

OpenGL. (Open Graphic Library)

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

Mehr

Diplomarbeit. Neue Möglichkeiten durch programmierbare Shader. Unter der Leitung von: Prof. Dr.-Ing. Detlef Krömker

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

Mehr

Grundlagen der 3D-Grafik

Grundlagen der 3D-Grafik Seminar Programmierung von Grafikkarten Grundlagen der 3D-Grafik 8.5.26 Dominik Bossdorf Christian Schulze Marco Sebastiao 1 Inhalt Grafikhardware Rendering Pipeline am Beispiel OpenGL 3D Theorie mit homogenen

Mehr

Computergrafik Universität Osnabrück, Henning Wenke,

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

Mehr

Softwareprojekt Spieleentwicklung

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

Mehr

Newtek Lightwave Grundlagen der 3D-Vektorgrafik

Newtek Lightwave Grundlagen der 3D-Vektorgrafik Newtek Lightwave Grundlagen der 3D-Vektorgrafik Form und Oberfläche Punkte und Polygone (mindestens 3-seitige Verbindungen zwischen Punkten) sind die Grundlage der Darstellung dreidimensionaler Objekte

Mehr

GL ShadingLanguage(GLSL)

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

Mehr

OpenGL auf Mac OS X und ios

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,

Mehr

Universität Osnabrück Fachbereich Mathematik / Informatik. 5. Vorlesung ( )

Universität Osnabrück Fachbereich Mathematik / Informatik. 5. Vorlesung ( ) Universität Osnabrück Fachbereich Mathematik / Informatik 5. Vorlesung (06.05.2013) Prof. Dr. rer. nat. Oliver Vornberger Nico Marniok, B. Sc. Erik Wittkorn, B. Sc. Game Application Layer Rückblick Game

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 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

Mehr

VHDL - Grundlagen des Pointrenderings

VHDL - Grundlagen des Pointrenderings VHDL - Grundlagen des Pointrenderings Marc Reichenbach, Timo Nieszner Informatik 3 / Rechnerarchitektur Universität Erlangen Nürnberg 2013 1 / 25 Rendern von Dreiecksnetzen Quelle: Inf9, CG-Slides grobmaschiges

Mehr

Jens Konerow. Managed DirectX und C#

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

Mehr

Eine Einführung Computergrafik SS14 Timo Bourdon

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

Mehr

Praktikum: Spieleengine im Eigenbau

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

Mehr

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 Workshop: Einführung in die 3D-Computergrafik Julia Tolksdorf Thies Pfeiffer Christian Fröhlich Nikita Mattar 1 Organisatorisches Tagesablauf: Vormittags: Theoretische Grundlagen Nachmittags: Bearbeitung

Mehr

3D Programmierpraktikum: Szenegraphen und Texturierung

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

Mehr

HLSL PostProcess Shaders

HLSL PostProcess Shaders HLSL Advanced 1 HLSL PostProcess Shaders Einführung PostProcess Effekte werden erst nach dem Rendern aller Objekte angewandt, nämlich auf das Render-Target (daher der Name). Das Spektrum der Möglichkeiten

Mehr

Transformationen im 3D-Raum

Transformationen im 3D-Raum Thomas Jung Repräsentation von 3D-Oberflächen Aufbau von Szenen Transformationen im 3D-Raum Projektionstranformationen Anwendung in OpenGL Geometrietransformationen bilden die Basis für die Computergrafik

Mehr

Projektion. Ebene geometrische Projektionen

Projektion. Ebene geometrische Projektionen Projektion - 1 - Ebene geometrische Projektionen Die ebenen geometrischen Projektionen sind dadurch charakterisiert, daß mit Projektionsstrahlen konstanter Richtung, d.h. entlang von Geraden, auf Ebenen

Mehr

Direct3D. (Scherfgen S )

Direct3D. (Scherfgen S ) Direct3D (Scherfgen S. 98-131) Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung WS 14/15 AM3 Hauptseminar Softwaretechnologie II (Teil 1): Simulation und 3D Programmierung

Mehr

Einleitung 2. 1 Koordinatensysteme 2. 2 Lineare Abbildungen 4. 3 Literaturverzeichnis 7

Einleitung 2. 1 Koordinatensysteme 2. 2 Lineare Abbildungen 4. 3 Literaturverzeichnis 7 Sonja Hunscha - Koordinatensysteme 1 Inhalt Einleitung 2 1 Koordinatensysteme 2 1.1 Kartesisches Koordinatensystem 2 1.2 Polarkoordinaten 3 1.3 Zusammenhang zwischen kartesischen und Polarkoordinaten 3

Mehr

DirectX und OpenGL. Proseminar Multimedia-Hardwareerweiterungen Michel Weimerskirch, 15. Februar 2006

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

Mehr

Beleuchtung. in Computerspielen

Beleuchtung. in Computerspielen Beleuchtung in Computerspielen Motivation Überblick Licht und Schattierung Lichtquellen Lokale Beleuchtungsmodelle Schattierungsverfahren Oberflächensimulation Beispiele der CryEngine Ausblick Zusammenfassung

Mehr

Christina Nell. 3D-Computergrafik

Christina Nell. 3D-Computergrafik Christina Nell 3D-Computergrafik Was ist 3D-Computergrafik? 3D graphics is the art of cheating without getting caught. (unbekannte Quelle) Folie 2/52 Inhalt Beleuchtung Shading Texturierung Texturfilterung

Mehr

Architektur moderner GPUs. W. Sczygiol - M. Lötsch

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

Mehr

Proseminar: Virtuelle Präsenz. Vortrag: Steve Rechtenbach

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:

Mehr

Aufbau interaktiver 3D-Engines

Aufbau interaktiver 3D-Engines Aufbau interaktiver 3D-Engines ActorComponents Im Folgenden findet sich eine Übersicht über alle bereits implementierten Actorcomponents der Engine. Dabei werden XML-Elemente, die die Komponente beschreiben

Mehr

4. Kapitel 3D Engine Geometry

4. Kapitel 3D Engine Geometry 15.11.2007 Mathematics for 3D Game Programming & Computer Graphics 4. Kapitel 3D Engine Geometry Anne Adams & Katharina Schmitt Universität Trier Fachbereich IV Proseminar Numerik Wintersemester 2007/08

Mehr

C A R L V O N O S S I E T Z K Y. Transformationen. Johannes Diemke. Übung im Modul OpenGL mit Java Wintersemester 2010/2011

C A R L V O N O S S I E T Z K Y. Transformationen. Johannes Diemke. Übung im Modul OpenGL mit Java Wintersemester 2010/2011 C A R L V O N O S S I E T Z K Y Transformationen Johannes Diemke Übung im Modul OpenGL mit Java Wintersemester 2010/2011 Motivation Transformationen Sind Grundlage vieler Verfahren der Computergrafik Model-

Mehr

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 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

Mehr

RST-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 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

Mehr

Proseminar Computergrafik: OpenGL. Marcel Heckel

Proseminar Computergrafik: OpenGL. Marcel Heckel Proseminar Computergrafik: OpenGL Marcel Heckel 23.5.26 . Inhalt 1. Allgemein Was ist OpenGL Geschichte 2. Etwas 3D-Mathematik Das Koordinatensystem Vektoren Matrizen 3. Grundlegendes zu OpenGL Arbeitsweise

Mehr

D-Texturen. Reflectance Mapping 3D-Texturen. Farbtexturen

D-Texturen. Reflectance Mapping 3D-Texturen. Farbtexturen 2D-Texturen Texturarten Abbildung Transformationen Generierung Thomas Jung Reflectance Mapping 3D-Texturen Modellierung von Details erfordert Zeit Darstellung ist aufwendig (langsam) Details belegen Speicherplatz

Mehr

Beleuchtung Schattierung Rasterung

Beleuchtung Schattierung Rasterung Beleuchtung Schattierung Rasterung Thomas Jung t.jung@htw-berlin.de Beleuchtung, Schattierung und Rasterung in allen Echtzeit-3D-Umgebungen gleich OpenGL Direct3D 3dsmax,... Letzter Bestandteil der Grafikpipeline

Mehr

Kapitel 4: Schattenberechnung

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

Mehr

Einführung in das Visualization ToolKit. Institut für Simulation und Graphik, Otto-von-Guericke Universität Magdeburg

Einführung in das Visualization ToolKit. Institut für Simulation und Graphik, Otto-von-Guericke Universität Magdeburg Einführung in das Visualization ToolKit VTK Einführung: Gliederung Was ist VTK? VTK-Konzept Vorstellung MeVisLab VTK Beispiel in MeVisLab 2/26 Was ist VTK? Freie Software-Bibliothek für 3D Graphik und

Mehr

MaTHEMATISCHE GRUNDLAGEN BUGA-AR TELESCOPE. Marko HeRBERTZ

MaTHEMATISCHE GRUNDLAGEN BUGA-AR TELESCOPE. Marko HeRBERTZ MaTHEMATISCHE GRUNDLAGEN BUGA-AR TELESCOPE Marko HeRBERTZ Wiederholung: Objekt-, Welt- und Kamerakoordinaten Kugelkoordinaten in kartesische Mögliche Schwierigkeiten Kameralinse Lage der Festung Lagerichtige

Mehr

Name: Musterlösung Seite 2

Name: Musterlösung Seite 2 Name: Musterlösung Seite 2 Beantworten Sie die Fragen in Aufgabe 1 mit einer kurzen, prägnanten Antwort. Die Fragen zu OpenGL beziehen sich auf die in der Vorlesung vorgestellte OpenGL Version 3.1 (core)

Mehr

Computer Graphik. Mitschrift von www.kuertz.name

Computer Graphik. Mitschrift von www.kuertz.name Computer Graphik Mitschrift von www.kuertz.name Hinweis: Dies ist kein offizielles Script, sondern nur eine private Mitschrift. Die Mitschriften sind teweilse unvollständig, falsch oder inaktuell, da sie

Mehr

19.09.2014. 2D-Texturen. Reflectance Mapping 3D-Texturen. Farbtexturen

19.09.2014. 2D-Texturen. Reflectance Mapping 3D-Texturen. Farbtexturen 2D-Texturen Texturarten Transformationen Generierung Thomas Jung Reflectance Mapping 3D-Texturen Modellierung von Details erfordert Zeit Darstellung ist aufwendig (langsam) Details belegen Speicherplatz

Mehr

General Purpose Computation on GPUs

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

Mehr

Lösungsvorschlag zum zweiten Übungsblatt

Lösungsvorschlag zum zweiten Übungsblatt Lösungsvorschlag zum zweiten Übungsblatt Aufgabe Wir zeigen, daß die Drehung um den Ursprung um 9 und die Spiegelung an der x-achse nicht kommutieren. Die Matrix für die Drehmatrix lautet in diesem Fall

Mehr

Computergrafik 1 Beleuchtung

Computergrafik 1 Beleuchtung Computergrafik 1 Beleuchtung Kai Köchy Sommersemester 2010 Beuth Hochschule für Technik Berlin Überblick Lokale Beleuchtungsmodelle Ambiente Beleuchtung Diffuse Beleuchtung (Lambert) Spiegelnde Beleuchtung

Mehr

Praxisorientierte Einführung in die Computergraphik - Vorlesungsplan -

Praxisorientierte Einführung in die Computergraphik - Vorlesungsplan - Praxisorientierte Einführung in die Computergraphik - Vorlesungsplan - 1. Einführung In dieser Lektion erhalten die Teilnehmer einen Überblick über das Wissensgebiet der Computergraphik und ihrer Anwendungsgebiete.

Mehr

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 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

Volumenakquise. Vortrag von Benjamin Gayer

Volumenakquise. Vortrag von Benjamin Gayer 10.11.11 1 Volumenakquise Vortrag von Benjamin Gayer Einführung Bildquelle: http://www.medical.siemens.com/siemens/de_de/rg_marcom_fbas/files/patienteninformationen/ct_geschichte_technologie. pdf 10.11.11

Mehr

Kapitel 2: Mathematische Grundlagen

Kapitel 2: Mathematische Grundlagen [ Computeranimation ] Kapitel 2: Mathematische Grundlagen Prof. Dr. Stefan M. Grünvogel stefan.gruenvogel@fh-koeln.de Institut für Medien- und Phototechnik Fachhochschule Köln 2. Mathematische Grundlagen

Mehr

Programmierpraktikum 3D Computer Grafik

Programmierpraktikum 3D Computer Grafik Dipl.Inf. Otmar Hilliges Programmierpraktikum 3D Computer Grafik Szenegraphen, Texturen und Displaylisten. Agenda Beleuchtungsmodelle in OpenGL Bump-Maps zur Erzeugung von Reliefartigen Oberflächen Height-Maps

Mehr

Spezialprozessoren zur Übernahme Grafik-spezifischer Aufgaben, vorrangig der Bildschirmausgabe

Spezialprozessoren 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

Mehr

Computergrafik. Michael Bender, Manfred Brill. Ein anwendungsorientiertes Lehrbuch ISBN Inhaltsverzeichnis

Computergrafik. 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

Mehr

Das Model/View/Controller Paradigma

Das Model/View/Controller Paradigma Model/View/Controller Das Model/View/Controller Paradigma Christian Knauer Trennung von Daten, Ansicht und Funktion ermöglicht z.b. mehrere Ansichten desselben Datensatzes wird meist als Model-Delegate

Mehr

Erinnerung. Arbeitsschritte der Computergraphik. Modellierung. Animation. Rendering. Ausgabemedium. Generierung

Erinnerung. Arbeitsschritte der Computergraphik. Modellierung. Animation. Rendering. Ausgabemedium. Generierung Erinnerung Arbeitsschritte der Computergraphik Modellierung Animation Generierung Ausgabemedium Graphik/-Pipeline Wandelt die Beschreibung einer Szene im dreidimensionalen Raum in eine zweidimensionale

Mehr

Universität Augsburg, Institut für Informatik Sommersemester 2001 Prof. Dr. Martin Ester 08. Oktober Klausur II

Universität Augsburg, Institut für Informatik Sommersemester 2001 Prof. Dr. Martin Ester 08. Oktober Klausur II Universität Augsburg, Institut für Informatik Sommersemester 2001 Prof. Dr. Martin Ester 08. Oktober 2001 Stefan Holland Informatik II Hinweise: Klausur II Verwenden Sie für Ihre Lösungen ausschließlich

Mehr

Realisierung und Evaluierung einer mobilen Augmented Reality Engine mit OpenGL für Android

Realisierung und Evaluierung einer mobilen Augmented Reality Engine mit OpenGL für Android Universität Ulm 89069 Ulm Germany Fakultät für Ingenieurwissenschaften und Informatik Institut für Datenbanken und Informationssysteme Realisierung und Evaluierung einer mobilen Augmented Reality Engine

Mehr

Programmieren mit DirectX

Programmieren mit DirectX 2D 3D Programmieren mit DirectX Teil 3: Malte Ried Fachhochschule Gießen-Friedberg 30. Oktober 2005 Inhalt 2D 3D 1 2D 2 3D 3 2D 3D Bis jetzt Windows-Fenster, das man schließen kann initialisiertes Direct3D

Mehr

Texture Based Direct Volume Rendering

Texture Based Direct Volume Rendering Texture Based Direct Volume Rendering Vorlesung: "Advanced Topics in Computer Graphics" cbrak@upb.de 1 Agenda 1. Einleitung Volume Rendering 1.1. Volumendatensatz 1.2. Volumenintegral 1.3. Image order

Mehr

Jörn Loviscach Hochschule Bremen

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

Mehr

Programmierpraktikum 3D Computer Grafik

Programmierpraktikum 3D Computer Grafik Prof. Andreas Butz, Dipl.Inf. Otmar Hilliges Programmierpraktikum 3D Computer Grafik Dynamische Schattenberechnung Agenda Der Stencil-Puffer Der 1-bit Stencil-Puffer Der 8-bit Stencil-Puffer Volumetrische

Mehr

Computer Graphik (CS231) Projektübungsblatt 3

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

Mehr

Computer-Graphik I Transformationen & Viewing

Computer-Graphik I Transformationen & Viewing lausthal Motivation omputer-raphik I Transformationen & Viewing Man möchte die virtuelle 3D Welt auf einem 2D Display darstellen. Zachmann lausthal University, ermany zach@in.tu-clausthal.de. Zachmann

Mehr

Universität Osnabrück Fachbereich Mathematik / Informatik. 4. Vorlesung ( )

Universität Osnabrück Fachbereich Mathematik / Informatik. 4. Vorlesung ( ) Universität Osnabrück Fachbereich Mathematik / Informatik 4. Vorlesung (29.04.2013) Prof. Dr. rer. nat. Oliver Vornberger Nico Marniok, B. Sc. Erik Wittkorn, B. Sc. Opium Anmeldung! Frist: 30.04.2013 (also

Mehr

Computergrafik Universität Osnabrück, Henning Wenke,

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

Mehr

4 Grundlagen zu SVG-Karten und -Diagrammen...33

4 Grundlagen zu SVG-Karten und -Diagrammen...33 48 4 Grundlagen zu SVG-Karten und -Diagrammen 4 Grundlagen zu SVG-Karten und -Diagrammen...33 4.1 Bildschirmdarstellung vs. Papierkartendruck...33 4.1.1 Mehr Farben...33 4.1.2 Probleme beim Einsatz von

Mehr

Echtzeitfähige hige Verfahren in der Computergrafik. Lehrstuhl für f r Informatik Computer Grafik und Visualisierung TUM

Echtzeitfä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

Mehr

EVC Repetitorium Blender

EVC Repetitorium Blender EVC Repetitorium Blender Michael Hecher Felix Kreuzer Institute of Computer Graphics and Algorithms Vienna University of Technology INSTITUTE OF COMPUTER GRAPHICS AND ALGORITHMS Filter Transformationen

Mehr

Institut für Informatik und Angewandte Kognitionswissenschaften

Institut für Informatik und Angewandte Kognitionswissenschaften Grundlegende Programmiertechniken (»Programmierung«), WS 2007/2008 Übungsblatt 5 Präsenzaufgaben: 11, 12, 13 Hausaufgabe: 14 Aufgabe 11 STRING- UND OBJEKT-VERGLEICH String s1 = new String("Test String");

Mehr

Automatisch-generierte Texturen aus Laserpunktwolken

Automatisch-generierte Texturen aus Laserpunktwolken Automatisch-generierte Texturen aus Laserpunktwolken Sharon Friedrich, Maik Häsner Ruprecht-Karls-Universität Heidelberg Interdisziplinäres Zentrum für wissenschaftliches Rechnen (IWR) Softwarepraktikum

Mehr

Abbildung von Weltkoordinaten nach Bildkoordinaten

Abbildung von Weltkoordinaten nach Bildkoordinaten Abbildung von Weltkoordinaten nach Bildkoordinaten Werner Mayer 28. Februar 24 Zusammenfassung Dieses Dokument beschreibt die Abbildungsvorschrift von 3D-Punkten nach Pixelkoordinaten eines Bildes. Dabei

Mehr

3D Programmierpraktikum: Schattenberechnung in Echtzeit

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

Mehr

Mathematische Grundlagen

Mathematische Grundlagen Mathematische Grundlagen Oliver Deussen Mathematische Grundlagen 1 Affine Räume um Zeichenebene bzw. Raum zu beschreiben, muß vorher ein Koordinatensystem festgelegt werden durch geometrische Fragestellungen

Mehr

Game Engine Architecture and Development. Effekte (Sound, Partikel, Physik)

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

Mehr

Repetitorium Informatik (Java)

Repetitorium Informatik (Java) Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen

Mehr

Georg Molzer 1HDD 3D-Grafikkarten GDV-Hardware

Georg Molzer 1HDD 3D-Grafikkarten GDV-Hardware 3D-GRAFIKKARTEN Einleitung: 3D-Grafikkarten haben in erster Linie den Zweck, den Hauptprozessor beim Darstellen aufwendiger dreidimensionaler Szenarien zu entlasten. Sie übernehmen dabei einen Großteil

Mehr

Computergraphik Grundlagen

Computergraphik Grundlagen Computergraphik Grundlagen XI. Rasterung Füllen von Polygonen Prof. Stefan Schlechtweg Hochschule nhalt Fachbereich Informatik Inhalt Lernziele 1. Zu lösendes Problem 2. Füllen von Pixelmengen 1. Rekursiver

Mehr

Darstellungsarten für 3D-Körper. Boundary Representation (BRep):

Darstellungsarten für 3D-Körper. Boundary Representation (BRep): Darstellungsarten für 3D-Körper Boundary Representation (BRep): Darstellung eines (verallgemeinerten) Polyeders durch das System seiner Ecken, Kanten und Facetten Abspeichern durch (Teilgraphen des) vef-graphen

Mehr

0 Einführung. Computergrafik. Computergrafik. Abteilung für Bild- und Signalverarbeitung

0 Einführung. Computergrafik. Computergrafik. Abteilung für Bild- und Signalverarbeitung F1 Inhaltsverzeichnis 1 Hardwaregrundlagen 2 Transformationen und Projektionen 3 Repräsentation und Modellierung von Objekten 4 Rasterung 5 Visibilität und Verdeckung 6 Rendering 7 Abbildungsverfahren

Mehr

3D-Algebra Version 2

3D-Algebra Version 2 3D-Algebra Version 2 Fakultät für Mathematik und Informatik Datenbanksysteme für neue Anwendungen FernUniversität in Hagen 19.November 2015 c 2015 FernUniversität in Hagen Das Ziel Repräsentation von Punkten,

Mehr

Grafikausgabe mit dem Abstract- Windowing-Toolkit. Eine Einführung

Grafikausgabe mit dem Abstract- Windowing-Toolkit. Eine Einführung Grafikausgabe mit dem Abstract- Windowing-Toolkit Eine Einführung Inhalt Einführung Grundlegende Eigenschaften des Abstract-Windowing- Toolkit (AWT) Grundlagen Grafikausgabe Linien zeichnen Rechtecke zeichnen

Mehr

C A R L V O N O S S I E T Z K Y. Texture-Mapping. Johannes Diemke. Übung im Modul OpenGL mit Java Wintersemester 2010/2011

C A R L V O N O S S I E T Z K Y. Texture-Mapping. Johannes Diemke. Übung im Modul OpenGL mit Java Wintersemester 2010/2011 C A R L V O N O S S I E T Z K Y Texture-Mapping Johannes Diemke Übung im Modul OpenGL mit Java Wintersemester 2010/2011 Grundlagen Graphische Primitiven werden mit Bildern versehen Eingeführt von Dr. Edwin

Mehr

(12) Wiederholung. Vorlesung Computergrafik T. Grosch

(12) Wiederholung. Vorlesung Computergrafik T. Grosch (12) Wiederholung Vorlesung Computergrafik T. Grosch Klausur 18.7. 14 16 Uhr, Hörsaal 5 (Physik) 2 Zeitstunden 8 Aufgaben Drei Aufgabentypen Übungsaufgaben Wissensfragen zur Vorlesung Transferfragen Unterschiedlicher

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Unterlagen zur Veranstaltung Einführung in die Objektorientierte Programmierung Mit Processing Alexis Engelke Sommer 2012 Alexis Engelke Inhalt Level 1: Geometrie Hintergrundfarben Punkte, Linien und deren

Mehr

:= Modellabbildung. Bildsynthese (Rendering) Bildsynthese

:= Modellabbildung. Bildsynthese (Rendering) Bildsynthese Geometrisches Modell bestehend aus Datenstrukturen zur Verknüpfung geometrischer Primitive, welche eine Gesamtszene beschreiben Bildsynthese := Modellabbildung Pixelbasiertes Modell zur Darstellung eines

Mehr

(13) Hot Topics. Vorlesung Computergrafik T. Grosch

(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

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 15 Parallele Programmierung... 15-2 15.1 Die Klasse java.lang.thread... 15-2 15.2 Beispiel 0-1-Printer als Thread... 15-3 15.3 Das Interface java.lang.runnable... 15-4 15.4 Beispiel 0-1-Printer

Mehr

Spieleentwicklung. Diane Hanke, Okan Danyeli & Toni Wirth

Spieleentwicklung. Diane Hanke, Okan Danyeli & Toni Wirth Spieleentwicklung Diane Hanke, Okan Danyeli & Toni Wirth Programm 1. Woche 2. Woche 3. Woche 4. Woche 2. Woche Unser Held wird lebendig! Willkommen in deiner neuen Welt! C# und die Unity API Spielobjekte

Mehr

Grafikkarten-Architektur

Grafikkarten-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

-dimensionale Darstellungen

-dimensionale Darstellungen 1.9 2 1 2 -dimensionale Darstellungen Auf einer Fläche F (2 dimensional) wird eine Operation ausgeführt Zum Beispiel wir eine Verschiebung um den Vektor t durchgeführt. Gemeint ist der Körper, der überstrichen

Mehr

Filterprogrammierung in Gimp

Filterprogrammierung in Gimp Rüdiger Timpe Alexander Bertschik Filterprogrammierung in Gimp Ein Vortrag im Rahmen des Seminars Manipulation und Verarbeitung digitaler Bilder Inhalt Aufgabenstellung und Motivation...3 Auswahl der Filter...3

Mehr

Praktikum im Bereich Praktische Informatik Echtzeitgraphik in C++ und DirectX10. computer graphics & visualization

Praktikum im Bereich Praktische Informatik Echtzeitgraphik in C++ und DirectX10. computer graphics & visualization Praktikum im Bereich Praktische Informatik Echtzeitgraphik in C++ und DirectX10 Billboards Letztes Übungsblatt: Meshes & Instancing um dem Terrain zusätzliche Details (Vegtation) hinzuzufügen. Nachteil:

Mehr

Texture Mapping. Texturen

Texture Mapping. Texturen Grundlagen - Eine Textur ist ein Bild, das auf eine Oberfläche einer Geometrie aufgebracht ist - erlauben eine realistischere Darstellung von Oberflächen - können auf alle Primitive, nicht nur Polygone

Mehr

I - Phone 3D 3D Spieleentwicklung für's I-Phone

I - Phone 3D 3D Spieleentwicklung für's I-Phone I - Phone 3D 3D Spielentwicklung für das I-Phone Gliederung Allgemein Open GL ES Arbeitsschritte / 3D Grafik Ein Spiel entsteht Ein Beispiel Vorgehensweise Allgemein Erzeugen von Modellen Komplexe Modelle

Mehr

Java 3D. Linien, Flächen und Objekte Axel Bartsch, Okt. 2002

Java 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

Game Development 1 XNA Framework für PC und Xbox

Game Development 1 XNA Framework für PC und Xbox Game Development 1 XNA Framework für PC und Proseminar Objektorientiertes Programmieren mit.net und C# Dominik Schinner Institut für Informatik Software & Systems Engineering Agenda Game Programming XNA

Mehr

Szenengraph-Architekturen im Kontext von VR- und AR-Anwendungen

Szenengraph-Architekturen im Kontext von VR- und AR-Anwendungen Szenengraph-Architekturen - 1 Szenengraph-Architekturen im Kontext von VR- und AR-Anwendungen Hauptseminar Medieninformatik Christina Eicher 10. Mai 2004 Inhalt Szenengraph-Architekturen - 2 Teil 1: Szenengraphen

Mehr

JavaFX Koordinaten und Transformationen

JavaFX Koordinaten und Transformationen JavaFX Koordinaten und Transformationen Koordinaten Jedes Node-Objekt hat sein eigenes Koordinatensystem. In Container-Nodes beziehen sich Position und Größe der Kinder immer auf das Koordinatensystem

Mehr

OpenGL als API für Augmented und Virtual Reality

OpenGL als API für Augmented und Virtual Reality OpenGL als API für Augmented und Virtual Reality Tobias Lang langt@cip.ifi.lmu.de Hausarbeit im Hauptseminar Augmented und Virtual Reality Inhaltsverzeichnis 1. Einleitung... 3 2. Was ist OpenGL... 3 3.

Mehr

Lösung: Mathematisches Denken in Arithmetik und Geometrie1 Funktionen und Abbildungen mit GeoGebra

Lösung: Mathematisches Denken in Arithmetik und Geometrie1 Funktionen und Abbildungen mit GeoGebra Hinweis: Alle Grafiken dieser Lösung finden Sie auch als GeoGebra-Dateien zum Ausprobieren. 1. Verschiebung: Zeichnen Sie einen beliebigen Vektor zwischen 2 Punkten. a) Verschieben Sie den Graphen von

Mehr