Bitmaps. - Definition eigener Zeichenmuster - Definition eigener Schriften. Zeichnen auf Pixel- und Bitmap-Ebene

Größe: px
Ab Seite anzeigen:

Download "Bitmaps. - Definition eigener Zeichenmuster - Definition eigener Schriften. Zeichnen auf Pixel- und Bitmap-Ebene"

Transkript

1 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, an denen eine 1 in der Bitmap steht, in der Farbe f gezeichnet, alle anderen Pixel bleiben unverändert - Anwendungen: - Definition eigener Zeichenmuster - Definition eigener Schriften 1

2 Bitmaps Positionierung einer Bitmap - Setzen der aktuellen Rasterposition glrasterpos{234}{sifd}(type x, TYPE y, TYPE z, TYPE w); glrasterpos{234}{sifd}v(type *coordinates); - Die Koordinaten spezifizieren die Rasterposition - Im zweidimensionalen Fall wird z auf 0 und w auf 1 gesetzt, im dreidimensionalen Fall nur w auf 1 - Die Rasterkoordinaten werden analog zu geometrischen Primitiven in Bildschirmkoordinaten umgewandelt - Anwendung der MODELVIEW und PERSPECTIVE Matrizen - Clipping gegen das Sichtvolumen 2

3 Bitmaps Direkte Darstellung der Rasterposition in Bildschirmkoordinaten - Geeignete Initialisierung der MODELVIEW und PROJECTION Matrizen für 2D-Grafik glmatrixmode(gl_projection); glloadidentity(); gluortho2d(0.0, (GLfloat) w, 0.0, (GLfloat) h); glmatrixmode(gl_modelview); glloadidentity(); 3

4 Bitmaps Positionierung einer Bitmap in Bildschirm-Koordinaten - Verfügbar ab OpenGL Version Erlaubt direktes Setzen der x- und y-koordinaten - z-werte werden in den durch gldepthrange() definierten Bereich gemapped glwindowpos{23}{sifd}(type x, TYPE y, TYPE z); glwindowpos{23}{sifd}v(type *coordinates); - Im zweidimensionalen Fall wird z auf 0 gesetzt 4

5 Bitmaps Auslesen der aktuellen Rasterposition - Bestimmung der Gültigkeit der aktuellen Rasterposition GLint v; glgetbooleanv(gl_current_raster_position_valid, &v); - Abfrage der aktuellen Rasterposition (unabhängig davon, ob sie durch glrasterpos() oder durch glwindowpos() gesetzt wurde GLfloat coords[4]; glgetfloatv(gl_current_raster_position, coords); 5

6 Bitmaps Zeichnen der Bitmap glbitmap(glsizei width, GLsizei height, GLfloat x bo, GLfloat y bo, GLfloat x bi, GLfloat y bi, const GLubyte *bitmap); - Zeichnet die Bitmap mit den Parametern - Breite und Höhe der Bitmap - x- und y-position in der Bitmap, die der aktuellen Rasterposition entsprechen soll - x- und y-inkrement beim sequentiellen Zeichnen mehrerer Bitmaps - Byte-Array der Bitmap selbst Eine Zeile einer Bitmap beginnt immer mit einem neuen unsigned Byte (nicht benötigte Bits werden also im Speicher ignoriert) 6

7 Bitmaps Definition der Zeichenfarbe für eine Bitmap - OpenGL verwendet unterschiedliche Zustandsvariablen - Farbe zum Rendern geometrischer Objekte GL_CURRENT_COLOR - Farbe zum Rendern von Bitmaps GL_CURRENT_RASTER_COLOR -GL_CURRENT_RASTER_COLOR wird bei der Ausführung von glrasterpos() von GL_CURRENT_COLOR abgeleitet 7

8 Bitmaps Definition der Zeichenfarbe für eine Bitmap - In welcher Farbe wird die Bitmap dargestellt? glcolor3f(1.0, 1.0, 1.0); glrasterpos3fv(position); glcolor3f(1.0, 0.0, 0.0); glbitmap(...); 8

9 Bitmaps Beispielprogramm - dwarf.cpp (Siehe Website) 9

10 Grundlagen - Im Gegensatz zu Bitmaps, die nur aus Bitwerten für die Pixel bestehen, enthalten mehr Information, meist RGBA-Werte - Zur direkten Darstellung von n im Framebuffer bietet OpenGL drei grundlegende Methoden - glreadpixels() liest einen rechteckigen Bereich des Framebuffers aus und schreibt ihn in den Hauptspeicher - gldrawpixels() beschreibt einen rechteckigen Bereich des Framebuffers an der aktuellen Rasterposition mit Daten aus dem Hauptspeicher - glcopypixels() kopiert einen rechteckigen Bereich des Framebuffers an die aktuelle Rasterposition (analog zu einer sequentiellen Ausführung von glreadpixels() und gldrawpixels()) 10

11 Auslesen eines Bildschirmbereiches glreadpixels(glint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels); - Liest Pixel aus dem Bildschirmspeicher in den Hauptspeicher - Parameter - x- und y-position, an der der Framebuffer ausgelesen werden soll - Breite und Höhe des auszulesenden Bereichs - Pixel-Datenformat - Datentyp im Hauptspeicher - Bilddaten 11

12 Schreiben eines Bildschirmbereiches gldrawpixels(glsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels); - Schreibt Pixel aus dem Hauptspeicher in den Bildschirmspeicher - Ursprung des Bereichs ist die aktuelle Rasterposition - Parameter - Breite und Höhe des zu schreibenden Bereichs - Pixel-Datenformat - Datentyp im Hauptspeicher - Bilddaten 12

13 Kopieren eines Bildschirmbereiches glcopypixels(glint x, GLint y, GLsizei width, GLsizei height, GLenum buffer); - Kopiert Pixel innerhalb des Framebuffers - Schreibt die Daten an die aktuelle Rasterposition - Parameter - x- und y-position, an der der Framebuffer ausgelesen werden soll - Breite und Höhe des auszulesenden Bereichs - Verwendeter Buffer (GL_COLOR, GL_DEPTH, GL_STENCIL) - Das Kopieren findet direkt im Framebuffer statt, daher ist eine Angabe des Pixel-Datenformats und des Datentyps im Hauptspeicher nicht nötig 13

14 Zeichenoperationen im Double-Buffering Modus - Per Default wird im Double-Buffering Modus immer der nicht-aktive Buffer ausgelesen bzw. beschrieben - Vor einer Lese-Aktion muss daher mit glutswapbuffers() der aktive Bildschirminhalt in den nicht-aktiven Buffer übernommen werden - Analog muss nach einer Schreib-Aktion der Bildschirminhalt in den aktiven Buffer übernommen werden 14

15 Pixel-Formate (Auswahl) - GL_RGB - GL_RGBA - GL_BGR - GL_BGRA - GL_RED - GL_GREEN - GL_BLUE - GL_ALPHA - GL_LUMINANCE - GL_LUMINANCE_ALPHA 15

16 Datentypen (ungepackt) - GL_UNSIGNED_BYTE - GL_BYTE - GL_UNSIGNED_SHORT - GL_SHORT - GL_UNSIGNED_INT - GL_INT - GL_FLOAT 16

17 Gepackte Datentypen (Auswahl) - GL_UNSIGNED_BYTE - GL_UNSIGNED_BYTE_3_3_2 - GL_UNSIGNED_BYTE_2_3_3_REV - GL_UNSIGNED_SHORT_5_6_5 - GL_UNSIGNED_SHORT_5_6_5_REV - GL_UNSIGNED_SHORT_4_4_4_4 - GL_UNSIGNED_SHORT_4_4_4_4_REV - GL_UNSIGNED_SHORT_5_5_5_1 - GL_UNSIGNED_INT_8_8_8_8 - GL_UNSIGNED_INT_10_10_10_2 - GL_UNSIGNED_INT_2_10_10_10_REV 17

18 Erlaubte Pixelformate bei gepackten Datentypen (Auswahl) Datentyp Erlaubte Pixelformate - GL_UNSIGNED_BYTE_3_3_2 GL_RGB - GL_UNSIGNED_BYTE_2_3_3_REV GL_RGB - GL_UNSIGNED_SHORT_5_6_5 GL_RGB - GL_UNSIGNED_SHORT_5_6_5_REV GL_RGB - GL_UNSIGNED_SHORT_4_4_4_4 GL_RGBA, GL_BGRA - GL_UNSIGNED_SHORT_4_4_4_4_REV GL_RGBA, GL_BGRA - GL_UNSIGNED_SHORT_5_5_5_1 GL_RGBA, GL_BGRA - GL_UNSIGNED_INT_8_8_8_8 GL_RGBA, GL_BGRA - GL_UNSIGNED_INT_10_10_10_2 GL_RGBA, GL_BGRA - GL_UNSIGNED_INT_2_10_10_10_REV GL_RGBA, GL_BGRA 18

19 Steuerung der Ausschnittsgröße beim Schreiben und Kopieren glpixelzoom(gldouble zoomx, GLdouble zoomy); - Legt die Zoom-Faktoren bei Schreib- und Kopier-Operationen fest - Wirkt auf alle nachfolgenden Schreib- und Kopier-Operationen - Negative Parameter bewirken eine Spiegelung des Bildes an der aktuellen Rasterposition 19

20 Beispielprogramm - image.cpp (Siehe Website) 20

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

Texture Mapping Beispiel. Universität Frankfurt

Texture Mapping Beispiel. Universität Frankfurt Texture Mapping Beispiel Texture Mapping Warum? - Detailreiche Oberfläche ohne zusätzliche Polygone Texturen I - 1D-Texturen - 2D-Texturen - 3D-Texturen Element der Textur: Texel Texturen II - Änderung

Mehr

OpenGL 2.0 Vertex Arrays

OpenGL 2.0 Vertex Arrays OpenGL 2.0 Vertex Arrays Boguslaw Sylla Interaktive 3D-Computergrafik SS 2010 Hochschule RheinMain Inhalt des Vortrags 1 Ein- / Ausschalten von Arrays EnableClientState, DisableClientState 2 Spezifizieren

Mehr

UIKit (Cocoa Touch) Framework für ios Apps. Objective C. Model View Controller Pattern

UIKit (Cocoa Touch) Framework für ios Apps. Objective C. Model View Controller Pattern ios Rendering ios Architektur UIKit (Cocoa Touch) A composable, reusable, declarative, real-world inspired animation, and interaction system Framework für ios Apps Objective C Model View Controller Pattern

Mehr

Grundlegende Darstellungsfunktionen

Grundlegende Darstellungsfunktionen Grundlegende Darstellungsfunktionen Zeichenoperationen und Transformationen Die folgenden Folien beschreiben eine Reihe von grundlegenden Darstellungsfunktionen, die zur Modellierung einer Szene und zur

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

GLUT. Aktuelle Version: 3.7 (3.7.6) Literatur:

GLUT. Aktuelle Version: 3.7 (3.7.6) Literatur: OpenGL Open Graphics Library (OpenGL: Silicon Graphics Inc.) www.opengl.org Aktuelle Version: 4.5 (2016) 1982-92: IRIS GL (für SGI-Rechner) Seit 1992 frei verfügbar Definitionsgremium: OpenGL ARB (Architecture

Mehr

Kapitel 21: OpenGl 1

Kapitel 21: OpenGl 1 Kapitel 21: OpenGl 1 OpenGl Programming Guide 2 OpenGl 200 Befehle in OpenGL Library (geometrische Primitive, Attribute) glcolor3f(1.0,0.0,0.0); glrotatef(30.0,0.0,0.0,1.0); 50 Befehle in OpenGl Utility

Mehr

Computergrafik SS 2008 Oliver Vornberger. Kapitel 21: OpenGl

Computergrafik SS 2008 Oliver Vornberger. Kapitel 21: OpenGl Computergrafik SS 2008 Oliver Vornberger Kapitel 21: OpenGl 1 OpenGl Programming Guide 2 OpenGl 200 Befehle in OpenGL Library (geometrische Primitive, Attribute) glcolor3f(1.0,0.0,0.0); glrotatef(30.0,0.0,0.0,1.0);

Mehr

OpenGL Transformationen: Modeling

OpenGL Transformationen: Modeling OpenGL Transformationen: Modeling transponiert! Punkt-Trfn = Matrizen-Multiplikationen von links (s.o.): v neu = T n (... ) T 2 T 1 v alt = T gesamt v alt OpenGL: Laden mat[16]: glloadmatrix{fd}(mat) Matrizen-Multiplikation:

Mehr

Computergrafik 1 Übung

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

Mehr

7.4 Tesselierung von Polygonen

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

Mehr

Display-Listen, Blending, Antialiasing, Nebel. Display-Listen

Display-Listen, Blending, Antialiasing, Nebel. Display-Listen Display-Listen Warum werden Display-Listen eingesetzt? - Display-Listen speichern eine Sequenz von OpenGL-Kommandos - Ermöglicht sehr einfach die mehrmalige Darstellung der gleichen Geometrie - Ermöglicht

Mehr

Aufgabe. - Beispiel "Fahrt durch Blutgefäße":

Aufgabe. - Beispiel Fahrt durch Blutgefäße: Aufgabe Modellierung der statischen Anteile Ihres Projekts - Definieren Sie die statischen Anteile der Szene Ihres Projekts - Erstellen Sie eine geeignete Klassen-Repräsentation - Beispiel "Fahrt durch

Mehr

2.10 Lichtquellen und Beleuchtung

2.10 Lichtquellen und Beleuchtung 2.10 Lichtquellen und void glshademodel(glenum model) - Setzt das angegebene Shading Model (GL_FLAT oder GL_SMOOTH) 2_4-1 2.10 Lichtquellen und Lokales smodell in OpenGL für n Lichtquellen k s 2_4-2 2.10

Mehr

2.10 Lichtquellen und Beleuchtung

2.10 Lichtquellen und Beleuchtung 2.10 Lichtquellen und void glshademodel(glenum model) - Setzt das angegebene Shading Model (GL_FLAT oder GL_SMOOTH) 2-1 2.10 Lichtquellen und Lokales smodell in OpenGL für n Lichtquellen k s 2-2 2.10 Lichtquellen

Mehr

Lichtquellen und Beleuchtung

Lichtquellen und Beleuchtung void glshademodel(glenum model) - Setzt das angegebene Shading Model (GL_FLAT oder GL_SMOOTH) 1 Lokales Beleuchtungsmodell in OpenGL für n Lichtquellen k s 2 Normalenvektoren - Modelview-Transformation

Mehr

Texturierung. Prof. Dr. Aris Christidis WS 2014/15

Texturierung. Prof. Dr. Aris Christidis WS 2014/15 Textur ( Gewebe ): Zuordnung v. Zahlen(-sätzen) jedem Punkt einer Objektfläche; typische Anwendung: Bild, d.h. (synthetisch o. fotogr. erzeugte) Helligkeits- o. Farbwerte (alternativ: Zuordnung von Schwankungen

Mehr

2.10 Lichtquellen und Beleuchtung

2.10 Lichtquellen und Beleuchtung 2.10 Lichtquellen und void glshademodel(glenum model) - Setzt das angegebene Shading Model (GL_FLAT oder GL_SMOOTH) 2-1 2.10 Lichtquellen und Lokales smodell in OpenGL für n Lichtquellen k s 2-2 2.10 Lichtquellen

Mehr

Advanced Computer Graphics 1. Übung

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

Mehr

Aufgabe 2: Zweifacher de Casteljau

Aufgabe 2: Zweifacher de Casteljau Aufgabe 2: Zweifacher de Casteljau Evaluationen auf Bézier Patches können mit dem de Casteljau Algorithmus berechnet werden Prinzipiell einfach den normalen Algorithmus für Kurven mehrfach anwenden, denn

Mehr

7.1 Polygon Offset. Anwendung - Darstellung von Polygonen als Teil von Oberflächen - Beispiel: Gradlinien auf der Erde - Schwierigkeit:

7.1 Polygon Offset. Anwendung - Darstellung von Polygonen als Teil von Oberflächen - Beispiel: Gradlinien auf der Erde - Schwierigkeit: 7.1 Polygon Offset Anwendung - Darstellung von Polygonen als Teil von Oberflächen - Beispiel: Gradlinien auf der Erde - Schwierigkeit: - Polygone sollen einmal als Fläche und einmal in Wireframe-Darstellung

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

Programmierpraktikum 3D Computer Grafik

Programmierpraktikum 3D Computer Grafik Dipl.Inf. Otmar Hilliges Programmierpraktikum 3D Computer Grafik Einführung die Computergrafik: GLUT und OpenGL. Teilnehmer und Abgaben Nachname Abeldt Brucker Dimitrova Gebhardt Goldhofer Lauber Promesberger

Mehr

1.1 Verwendung von GLUT

1.1 Verwendung von GLUT 1.1 Verwendung von GLUT Grundlegende Funktionsweise - Öffnen eines Fensters - Registrieren von Callback-Routinen - Start einer Hauptroutine, die erst beim Schließen des Fensters verlassen wird - Beim Auftreten

Mehr

OpenGL. Rendering: (Wiedergabe, Darstellung): Erzeugg. digitaler (Pixel-)Bilder aus log.-mathem. Modell-Beschreibungen.

OpenGL. Rendering: (Wiedergabe, Darstellung): Erzeugg. digitaler (Pixel-)Bilder aus log.-mathem. Modell-Beschreibungen. OpenGL Grafik-Bibliothek mit einigen hundert Befehlen gl...() (div. Ausführungen) angeschlossener Aufsatz : OpenGL Utility Library (GLU), ca. 50 Befehle glu...() Plattform-unabhängig (Hardware, Fenster-/

Mehr

- Für die beiden zu überblendenden Farben (source und destination) werden Blending-Faktoren besimmt (S r

- Für die beiden zu überblendenden Farben (source und destination) werden Blending-Faktoren besimmt (S r 3.2 Blending Anwendung - Kombination der Farbinformation eines neu zu zeichnenden Objekts (Source) mit der Farbinformation, die bereits im Framebuffer gespeichert ist (Destination) - Darstellung teilweise

Mehr

Marius. Apetri. OpenGL. 3D-Grafik mit. Das umfassende Praxis-Handbuch. inklusive CD-ROM

Marius. Apetri. OpenGL. 3D-Grafik mit. Das umfassende Praxis-Handbuch. inklusive CD-ROM Marius Apetri 3D-Grafik mit OpenGL Das umfassende Praxis-Handbuch inklusive CD-ROM Teil I Grundlagen der OpenGL- Programmierung In diesem Teil: Kapitel 1 Programmsoftware und Grafikhardware..............

Mehr

Computergrafik II. OpenGL Einführung

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

Mehr

Übungsstunde 8 zu Computergrafik 1

Übungsstunde 8 zu Computergrafik 1 Institut für Computervisualistik Universität Koblenz 14. und 15. Januar 2013 Inhaltsverzeichnis 1 Wiederholung - Beleuchtung Gouraud-Shading Phong-Shading Flat-Shading Vergleich 2 - Idee in OpenGL Texturfilterung

Mehr

Einführung in die API OpenGL

Einführung in die API OpenGL Einführung in die API OpenGL LMU München - LFE Medieninformatik Folie 1 Überblick Was ist OpenGL? OpenGL und Windows 3D Grafik Grundlagen OpenGL benutzen Transformationen, Licht, Texture Mapping Ein kleines

Mehr

Zeiger. C-Kurs 2012, 2. Vorlesung. Tino Kutschbach 10.

Zeiger. C-Kurs 2012, 2. Vorlesung. Tino Kutschbach  10. Zeiger C-Kurs 2012, 2. Vorlesung Tino Kutschbach tino.kutschbach@campus.tu-berlin.de http://wiki.freitagsrunde.org 10. September 2012 This work is licensed under the Creative Commons Attribution-ShareAlike

Mehr

Das OpenGL Utility Toolkit GLUT. Verwendung von GLUT

Das OpenGL Utility Toolkit GLUT. Verwendung von GLUT Verwendung von GLUT Grundlegende Funktionsweise - Öffnen eines Fensters - Registrieren von Callback-Routinen - Start einer Hauptroutine, die erst beim Schließen des Fensters verlassen wird - Beim Auftreten

Mehr

Übungsstunde 7 zu Computergrafik 1

Übungsstunde 7 zu Computergrafik 1 Institut für Computervisualistik Universität Koblenz 10. und 11. Dezember 2012 Inhaltsverzeichnis 1 Licht und Material Licht in OpenGL Material in OpenGL 2 in C++ Licht in OpenGL Lichtquellen In OpenGL

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

Übung: Computergrafik 1

Übung: Computergrafik 1 Prof. Dr. Andreas Butz Prof. Dr. Ing. Axel Hoppe Dipl.-Medieninf. Dominikus Baur Dipl.-Medieninf. Sebastian Boring Übung: Computergrafik 1 Projektionen und Transformationen Qt Kontextmenüs Koordinatensysteme

Mehr

Wertebereich und Genauigkeit der Zahlendarstellung

Wertebereich und Genauigkeit der Zahlendarstellung Wertebereich und Genauigkeit der Zahlendarstellung Sowohl F als auch C kennen bei ganzen und Floating Point-Zahlen Datentypen verschiedener Genauigkeit. Bei ganzen Zahlen, die stets exakt dargestellt werden

Mehr

Einführung in die Praktische Informatik. Übungsblatt 10. Dr. U. Köthe Heidelberg, 11. Januar 2017

Einführung in die Praktische Informatik. Übungsblatt 10. Dr. U. Köthe Heidelberg, 11. Januar 2017 Einführung in die Praktische Informatik Dr. U. Köthe Heidelberg, 11. Januar 2017 Übungsblatt 10 Aufgabe 10.1 Arithmetik für die Punktklasse [12 Punkte] In der Vorlesung haben wir behandelt, wie man arithmetische

Mehr

Übungsstunde 5 zu Computergrafik 1

Ü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

Mehr

Organisatorisches. Folien (u.a.) gibt's auf der Lva-Homepage zum Download

Organisatorisches. Folien (u.a.) gibt's auf der Lva-Homepage zum Download Organisatorisches Folien (u.a.) gibt's auf der Lva-Homepage zum Download Diesen Mi erstes Tutorium (15-17) Ab nächster Woche montags 10-12 (jeweils im Computerraum) 17.10.2017 IT I - VO 3 1 Organisatorisches

Mehr

Informatik. Wiederholung Felder (Arrays), string. Vorlesung

Informatik. Wiederholung Felder (Arrays), string. Vorlesung Informatik Vorlesung 04 Wiederholung Felder (Arrays), string 19. November 2018 WiSe 2018 FB Ing - SB Umwelttechnik und Dienstleistung - Informatik Thomas Hoch 1 Ein C++ Programm: Wiederholung #include

Mehr

Automatische Ballerkennung

Automatische Ballerkennung 7. Juli 2008 1 Grundlegende Vorgehensweise 2 Einführung VCAM von Mikrotron profil kann geladen werden, Bilder werden angezeigt und können gespeichert werden VCAM von Mikrotron profil kann geladen werden,

Mehr

Grafikprogrammierung mit OpenGL

Grafikprogrammierung mit OpenGL Technische Universität Dresden Dresden, August 2003 Fakultät Informatik Institut für Software- und Multimediatechnik Lehrheft Computergrafik Herausgabe: K. Hoedt W. Mascolus Fakultät Informatik Lehrheft

Mehr

3.8 Objekttypen und Arrays. Wir werden uns in diesem Kapitel näher mit den Objekttypen in Java beschäftigen.

3.8 Objekttypen und Arrays. Wir werden uns in diesem Kapitel näher mit den Objekttypen in Java beschäftigen. 3.8 Objekttypen und Arrays Wir werden uns in diesem Kapitel näher mit den Objekttypen in Java beschäftigen. Praktische Informatik I Wolfgang Effelsberg 3. Die Programmiersprache Java 3.8-1 Primitive Datentypen

Mehr

Organisatorisches. Folien (u.a.) auf der Lva-Homepage Skriptum über MU Online

Organisatorisches. Folien (u.a.) auf der Lva-Homepage Skriptum über MU Online Organisatorisches Folien (u.a.) auf der Lva-Homepage Skriptum über MU Online Nächste Woche VO und UE am Dienstag, den 30.10.! UE im CR IL/IT Wissensüberprüfung am Zettel 25.10.2018 IT I - VO 3 1 Organisatorisches

Mehr

7. Organisation von Informationen

7. Organisation von Informationen Computeranwendung in der Chemie Informatik für Chemiker(innen) 7. Organisation von Informationen Jens Döbler 2003 "Computer in der Chemie", WS 2003-04, Humboldt-Universität VL7 Folie 1 Grundlagen Programme

Mehr

Variablen. CoMa-Übung VIII TU Berlin. CoMa-Übung VIII (TU Berlin) Variablen / 15

Variablen. CoMa-Übung VIII TU Berlin. CoMa-Übung VIII (TU Berlin) Variablen / 15 Variablen CoMa-Übung VIII TU Berlin 4.12.2013 CoMa-Übung VIII (TU Berlin) Variablen 4.12.2013 1 / 15 Themen der Übung 1 Typanpassungen 2 Operatoren 3 Variablen-Gültigkeit CoMa-Übung VIII (TU Berlin) Variablen

Mehr

Computergrafik Universität Osnabrück, Henning Wenke,

Computergrafik Universität Osnabrück, Henning Wenke, Computergrafik Universität Osnabrück, Henning Wenke, 2012-06-04 Kapitel VIII: Per Primitive Operations Primitive I 3 Primitive II Elementare grafische Grundform Besteht in OpenGL aus Folge von 1-3 Vertices

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

Übung: Computergrafik 1

Ü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

Mehr

Programmierpraktikum 3D Computer Grafik

Programmierpraktikum 3D Computer Grafik Dipl.Inf. Otmar Hilliges Programmierpraktikum 3D Computer Grafik Dynamische Schattenberechnung Agenda Der Stencil-Buffer Der 1-bit Stencil-Buffer Der 8-bit Stencil-Buffer Volumetrische Echtzeitschatten

Mehr

8. Referenzen und Zeiger

8. Referenzen und Zeiger 8. Referenzen und Zeiger Motivation Variable werden in C++ an speziellen Positionen im Speicher abgelegt. An jeder Position befindet sich 1 Byte. Sie sind durchnummeriert beginnend bei 0. Diese Positionen

Mehr

Objekte. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 5. 1 Modulübersicht 3

Objekte. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 5. 1 Modulübersicht 3 Programmieren mit Java Modul 5 Objekte Theorieteil Inhaltsverzeichnis 1 Modulübersicht 3 2 Klassen und Objekte 3 2.1 Klassen.................................... 4 2.2 Objektvariablen und Methoden.......................

Mehr

4. Aufgabe: Medizinische Bilder

4. Aufgabe: Medizinische Bilder 4. Aufgabe: Medizinische Bilder 1 Einleitung In der modernen Medizin gibt es zahlreiche bildgebende Verfahren, die eine zuverlässige Diagnose unterstützen. Eine große Rolle spielen dabei das klassische

Mehr

Feuerwehr-, Flucht- und Rettungspläne

Feuerwehr-, Flucht- und Rettungspläne Feuerwehr-, Flucht- und Rettungspläne Bearbeitet von WEKA MEDIA 1. Auflage 2011. Buch. ISBN 978 3 8111 9560 8 Format (B x L): 14,8 x 21 cm Gewicht: 1010 g Wirtschaft > Spezielle Betriebswirtschaft > Arbeitsplatz,

Mehr

EPA-Präsentation Tim Keller

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

Mehr

Einführung Grundlagen OpenGL Primitive Farbe Licht und Material Viewing Pipeline Demos

Einführung Grundlagen OpenGL Primitive Farbe Licht und Material Viewing Pipeline Demos Sebastian Hubl 1 Einführung Grundlagen OpenGL Primitive Farbe Licht und Material Viewing Pipeline Demos 2 steht für Open Graphics Library Standard zur Programmierung grafikfähiger Hardware Darstellung

Mehr

Arrays in C. 1 Grundlagen

Arrays in C. 1 Grundlagen Arrays in C Jörn Loviscach Versionsstand: 29. September 2012, 20:52 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen beim Ansehen der Videos: http://www.j3l7h.de/videos.html This work is licensed

Mehr

CGVert. Projekt. 3D-Scannen. Multimarker Tracking. Triangulierung. Low-Cost Scanner P 4. Ball-Erkennung. 3D Positionsbestimmung. Kalmanfilter. CGVert.

CGVert. Projekt. 3D-Scannen. Multimarker Tracking. Triangulierung. Low-Cost Scanner P 4. Ball-Erkennung. 3D Positionsbestimmung. Kalmanfilter. CGVert. Seminar-Vortrag Projektgruppen der Vertiefung Computergrafik (Vorträge am 29.11.2006 ab 8.50Uhr) Themenauswahl Bis heute (25.10.2006) um 16.00Uhr Vortrag Am 29.11.2006 Dauer: 30min Medium Beamer und/oder

Mehr

Auslesen einer Bitmap-Ressource: 16bpp BGR565

Auslesen einer Bitmap-Ressource: 16bpp BGR565 Auslesen einer Bitmap-Ressource: 16bpp BGR565 1 Grundlagen... 2 1.1 Vorbemerkungen... 2 1.2 Die Farbinformationen... 2 1.3 Gewinnen der Farbinformationen... 2 1.3.1 Farbinformationen Blau... 2 1.3.2 Farbinformation

Mehr

Übung Computergrafik 3

Übung Computergrafik 3 1.Übungsblatt: Geometrie Institut für Computervisualistik 17. Juni 2013 Aufgabe 1: Fragezeichen Gegeben: Menge zufälliger 2D-Punkte Entsprechende Anzahl zufälliger Farben Kegel zeichnen Spitze auf Punkt

Mehr

Der Screenshot entsteht bei der Verwendung eines Schwellwertes von 0,15 und entspricht meines Erachtens genau der Vorlage aus der Aufgabenstellung.

Der Screenshot entsteht bei der Verwendung eines Schwellwertes von 0,15 und entspricht meines Erachtens genau der Vorlage aus der Aufgabenstellung. Aufgabe : Alha-Texturen Die Bedienung des Programms wird über diese Tasten realisiert: Taste Aktion ESC Programm beenden Leertaste Patch rotieren an/aus + in die Szene hineinzoomen - aus der Szene herauszoomen

Mehr

Wiederholung. Vorlesung GPU Programmierung Thorsten Grosch

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)

Mehr

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny 9. Zeiger Arbeitsspeicher / Adressen Der Arbeitsspeicher des Computers (RAM) besteht aus einem Feld von Speicherzellen, beginnend bei Adresse

Mehr

Probeklausur Name: (c)

Probeklausur Name: (c) Einführung in die Praktische Informatik 30.1.2013 Probeklausur Name: Teil I: Datentypen (20 Punkte) Lösen sie die Probleme, indem sie die korrekten Lösungen ankreuzen bzw. in die vorgesehenen Freiräume

Mehr

R-Wörterbuch Ein Anfang... ein Klick auf einen Begriff führt, sofern vorhanden, zu dessen Erklärung.

R-Wörterbuch Ein Anfang... ein Klick auf einen Begriff führt, sofern vorhanden, zu dessen Erklärung. R-Wörterbuch Ein Anfang... ein Klick auf einen Begriff führt, sofern vorhanden, zu dessen Erklärung. Carsten Szardenings c.sz@wwu.de 7. Mai 2015 A 2 B 3 C 4 D 5 F 6 R 16 S 17 V 18 W 19 Z 20 H 7 I 8 K 9

Mehr

Objekttypen. Referenzen, Objekte, Gleichheit, Wrapper, Arrays, mehr-dimensionale Arrays, Bildbearbeitung, krumme Arrays

Objekttypen. Referenzen, Objekte, Gleichheit, Wrapper, Arrays, mehr-dimensionale Arrays, Bildbearbeitung, krumme Arrays Objekttypen Referenzen, Objekte, Gleichheit, Wrapper, Arrays, mehr-dimensionale Arrays, Bildbearbeitung, krumme Arrays Primitive- und Objekt-Datentypen Primitive Datentypen benötigen einen vorher genau

Mehr

Einführung in C. Alexander Batoulis. 5. Mai Fakutltät IV Technische Universität Berlin

Einführung in C. Alexander Batoulis. 5. Mai Fakutltät IV Technische Universität Berlin Fakutltät IV Technische Universität Berlin 5. Mai 2014 Inhaltsverzeichnis 1 2 3 4 5 6 7 Überblick Beispielprogramm in Java Beispielprogramm in C 1 2 3 4 5 6 7 Beispielprogramm in Java Beispielprogramm

Mehr

Arrays (Felder/Vektoren)

Arrays (Felder/Vektoren) Arrays (Felder/Vektoren) Zusammenfassung mehrerer Variablen des gleichen Typs unter einem Namen im Speicher direkt hintereinander abgelegt Definition: Typname Arrayname [Größe]; Beispiel: int ar [5]; Zugriff

Mehr

F+R V 5.x -> FFR V 6.x Seite 1 von 5 Informationen und Verfahren zur Übernahme der Pläne

F+R V 5.x -> FFR V 6.x Seite 1 von 5 Informationen und Verfahren zur Übernahme der Pläne F+R V 5.x -> FFR V 6.x Seite 1 von 5 Grundlagen F+R-Pläne aus Versionen bis 5.5 (Dateiendung MYH) sind in Versionen ab 6.0 nicht direkt zu öffnen, können aber mit den hier beschriebenen Verfahren importiert

Mehr

Java Referenzdatentypen genauer betrachtet

Java Referenzdatentypen genauer betrachtet Informatik 1 für Nebenfachstudierende Grundmodul Java Referenzdatentypen genauer betrachtet Kai-Steffen Hielscher Folienversion: 23. Januar 2018 Informatik 7 Rechnernetze und Kommunikationssysteme Referenzdatentypen

Mehr

Grafikprogrammierung mit OpenGL

Grafikprogrammierung mit OpenGL Grafikprogrammierung mit OpenGL Proseminar Computergrafik Sommersemester 2009 Dozent: Wilfried Mascolus Lehrstuhl für Computergraphik und Visualisierung Fakultät Informatik Sebastian Hubl Matrikelnummer:

Mehr

Zeichendarstellung. Zeichen sind Zahlen (in C) Zeichen und switch

Zeichendarstellung. Zeichen sind Zahlen (in C) Zeichen und switch darstellung Arbeiten mit darstellung werden im Computer durch (kleine) Zahlen dargestellt in C können im Datentyp char gespeichert werden, dieser umfasst ein Byte und gilt als Ganzzahltyp darstellung Arbeiten

Mehr

Graphische Datenverarbeitung und Bildverarbeitung

Graphische Datenverarbeitung und Bildverarbeitung Graphische Datenverarbeitung und Bildverarbeitung Hochschule Niederrhein Verdeckung Graphische DV und BV, Regina Pohle, 20. Verdeckung Einordnung in die Inhalte der Vorlesung Einführung mathematische und

Mehr

Arrays. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 3. 1 Modulübersicht 3

Arrays. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 3. 1 Modulübersicht 3 Programmieren mit Java Modul 3 Arrays Theorieteil Inhaltsverzeichnis 1 Modulübersicht 3 2 Eindimensionale Arrays 3 2.1 Arrays deklarieren.............................. 3 2.2 Arrays erzeugen................................

Mehr

Übung Computergrafik 3

Übung Computergrafik 3 Übung Computergrafik 3 1.Übungsblatt: Geometrie Stephan Groß (Dank an Irini Schmidt und Jakob Bärz) Institut für Computervisualistik Universität Koblenz-Landau 6. Juli 2011 Aufgabe 1: Fragezeichen Gegeben:

Mehr

INE1 Arrays, Zeiger, Datenstrukturen

INE1 Arrays, Zeiger, Datenstrukturen INE1 Arrays, Zeiger, Datenstrukturen Arrays Felder von Elementen gleichen Typs Verwenden von Adressen: Zeiger Datenstrukturen mit struct Zeiger auf Datenstrukturen Spezielle Zeiger und komplexe Deklarationen

Mehr

Grundlagen der 3D-Computergrafik Programmieren mit OpenGL

Grundlagen der 3D-Computergrafik Programmieren mit OpenGL Grundlagen der 3DComputergrafik Programmieren mit OpenGL Marc Wagner mcwagner@cip.informatik.unierlangen.de 13. November 1998 Was ist OpenGL? OpenGL (Open Graphics Library) ist ein Softwareinterface zum

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen 2.1 Einfache Datentypen in C W. Tasin, M.Sc. Fakultät 04 tasin@hm.edu Allgemeines (1) Einfache (od. primitive) Datentypen legen fest, wie die Information kodiert im Speicher

Mehr

Graphische Datenverarbeitung und Bildverarbeitung

Graphische Datenverarbeitung und Bildverarbeitung Graphische Datenverarbeitung und Bildverarbeitung Hochschule Niederrhein Transformationen in OpenGL Graphische DV und BV, Regina Pohle, 18. Ereignisverarbeitung und Transformationen 1 Einordnung in die

Mehr

FAKULTÄT FÜR INFORMATIK

FAKULTÄT FÜR INFORMATIK FAKULTÄT FÜR INFORMATIK TECHNISCHE UNIVERSITÄT MÜNCHEN Lehrstuhl für Rechnertechnik und Rechnerorganisation Prof. Dr. Martin Schulz Einführung in die Rechnerarchitektur Wintersemester 07/08 Tutorübung

Mehr

Spiele entwickeln für ipad, iphone und ipod touch

Spiele entwickeln für ipad, iphone und ipod touch Spiele entwickeln für ipad, iphone und ipod touch von Thomas Lucka 1. Auflage Hanser München 2010 Verlag C.H. Beck im Internet: www.beck.de ISBN 978 3 446 42306 0 Zu Inhaltsverzeichnis schnell und portofrei

Mehr

Kapitel 4. Programmierkurs. Datentypen. Arten von Datentypen. Datentypen und Operatoren Ganzzahlige Numerische Datentypen Logischer Datentyp

Kapitel 4. Programmierkurs. Datentypen. Arten von Datentypen. Datentypen und Operatoren Ganzzahlige Numerische Datentypen Logischer Datentyp Kapitel 4 Programmierkurs Birgit Engels, Anna Schulze Datentypen und Operatoren Ganzzahlige Numerische Datentypen Logischer Datentyp ZAIK Universität zu Köln WS 07/08 1 / 6 Datentypen Arten von Datentypen

Mehr

Die Halde. Verwendung in der Speicherbelegung Visualisierung der Halde Call by Value & Call by Reference

Die Halde. Verwendung in der Speicherbelegung Visualisierung der Halde Call by Value & Call by Reference Die Halde Verwendung in der Speicherbelegung Visualisierung der Halde Call by Value & Call by Reference Die Halde Grafische Darstellung des Speichers enthält Name des Datentypes alle Membervariablen mit

Mehr

Physische Datenstrukturen

Physische Datenstrukturen Elementare Datentypen Strukturierte Datentypen Zeiger Seite 1 Einfache Datentypen Datentyp char Verwendung: ASCII-Zeichen Wertebereich: alle darstellbaren Zeichen, 8 bit lange Ganzzahlen im Intervall -128

Mehr

Die Klasse string Verfasser: Christian Bartl

Die Klasse string Verfasser: Christian Bartl Die Klasse string Verfasser: Index 1. Allgemein... 3 2. Eingabe von Strings... 3 3. Ausgabe von Strings... 4 4. Länge eines Strings... 4 5. Durchlaufen aller Zeichen eines Strings... 4 6. Kopieren von

Mehr

Programmieren mit OpenGL und GLUT

Programmieren mit OpenGL und GLUT Programmieren mit OpenGL und GLUT Prof. Dr. Manfred Brill Oktober 2003 Inhaltsverzeichnis 1 OpenGL 1 1.1 Bibliotheken und Header-Dateien.... 1 1.2 OpenGL Datentypen... 2 2 GLUT 3 2.1 Ein typisches GLUT-Hauptprogramm........

Mehr

Grundlagen der Informatik 6. Arrays I

Grundlagen der Informatik 6. Arrays I 6. Arrays I Motivation Array (konstante Länge) Speicherbereich Eingabe von Arrays Grundlagen der Informatik (Alex Rempel) 1 Motivation Beispiel: Bildschirmpixel zeichnen Auflösung 800x600, d.h. insgesamt

Mehr

Projektkurs MATLAB. ik i i ITK Engineering AG 1

Projektkurs MATLAB. ik i i ITK Engineering AG 1 Projektkurs MATLAB Wintersemester t 2011/2012 Dr-Ing Houssem Abdellatif Teamleiter Control Systems & Model Based Design houssemabdellatif@itk-engineeringde wwwitk-engineeringde ik i i 14112011 ITK Engineering

Mehr

3D Programmierpraktikum: Geometrische Transformationen, Materialien und Beleuchtung

3D Programmierpraktikum: Geometrische Transformationen, Materialien und Beleuchtung 3D Programmierpraktikum: Geometrische Transformationen, Materialien und Beleuchtung Praktikum 3D Programmierung Sebastian Boring, Otmar Hilliges Donnerstag, 8. Mai 26 LMU München Medieninformatik Boring/Hilliges

Mehr

Die 3D-Parameter des Adjust-Fensters im Programm Apophysis 2.08 Beta 3D Hack

Die 3D-Parameter des Adjust-Fensters im Programm Apophysis 2.08 Beta 3D Hack Die 3D-Parameter des Adjust-Fensters im Programm Apophysis 2.08 Beta 3D Hack Perspective und Pitch Das Bild wurde mit 4 TF s, jede mit der Variation Sinusoidalxy, erstellt. Wenn Sinusoidalxy_height = 0

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

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

Simatic S7 Connector

Simatic S7 Connector Simatic S7 Connector Simatic S7 Connector 2 Simatic S7 Connector Die in dieser Dokumentation enthaltenen Informationen und die zugehörigen Programme können ohne besondere Ankündigung geändert werden. Für

Mehr