Grafikprogrammierung (Echtzeitrendering)

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "Grafikprogrammierung (Echtzeitrendering)"

Transkript

1 (Echtzeitrendering) erfordert Unterstützung für beide Aufgaben der Computergrafik Geometrische Modellierung Datenstrukturen für geometrische Modelle Schnittstellen für deren Kombination Bildsynthese Rendering bleibt vor Nutzer (Programmierer) weitgehend verborgen Aber: (oft komplexe) Parameter müssen über Schnittstelle kontrolliert werden Weit verbreitete Grafikbibliotheken für Echtzeitrendering OpenGL (plattform- und programmiersprachenunabhängig) DirectX (nur MS Windows) Werden beide Hardware-seitig von aktuellen Grafikprozessoren ( ) unterstützt Eike Schallehn Grundlagen der Informatik für Ingenieure Wintersemester 08/

2 Einführung in OpenGL Open Graphics Library Weit verbreitet eingesetzter Industriestandard für Anwendung wie CAD, Simulation, Virtual Reality, etc. aber auch Spiele OpenGL bietet: 3D-Echtzeitrendering Primitive zur Flächenmodellierung Effiziente Bildsynthese mit weitgehender Parametrisierbarkeit Eike Schallehn Grundlagen der Informatik für Ingenieure Wintersemester 08/

3 OpenGL ist programmiersprachenunabhängig: es existieren Anbindungen für zahlreiche Programmiersprachen, und für andere können solche leicht umgesetzt werden... eine funktionale Schnittstelle: bietet eine einfache Schnittstelle bestehend nur aus Funktionen, welche von den meisten Programmiersprachen angeboten werden kann (in diesem Sinne ist OpenGL explizit über C und nicht über C++ angebunden)... plattformunabhängig: es existieren Umsetzungen für zahlreiche Betriebssysteme und Hardware-Plattformen (z.b. MS Windows, MacOS, Linux und zahlreiche Unix-Derivate) Eike Schallehn Grundlagen der Informatik für Ingenieure Wintersemester 08/

4 OpenGL ist zustandsbasiert: da Funktionen für die Modellierung oder das Rendering oft viele Parameter erfordern, speichert OpenGL einmal gesetzte Parameter (Farbe, Textur, Projektions- oder Modellmatrizen etc.) als Teil des aktuellen Zustands der Bibliothek erfordert mitunter Rücksetzen... matrixbasiert: verwendet Matrizen für Projektion und Modelltransformation sowie weitere Aspekte. Zustand von Matrizen kann indirekt über intuitiv verständliche Funktionen manipuliert werden, z.b. Rotation (Multiplikation der aktuellen Modelltransformationsmatrix mit einer Rotationsmatrix) oder perspektivische Projektion (Multiplikation der aktuellen Projektionsmatrix mit einer perspektivischen Projektionsmatrix) Eike Schallehn Grundlagen der Informatik für Ingenieure Wintersemester 08/

5 OpenGL ist Hardware-nah: die angebotenen Funktionen sind relativ nah an der von Grafikprozessoren angebotenen Funktionalität (wegen gegenseitiger Beeinflussung) - zahlreiche abstraktere und komfortablere Schnittstellen bauen zum Teil auf OpenGL auf... erweiterbar: Anbieter von Grafikprozessoren und andere können an der Weiterentwicklung durch hinzufügen neuer Funktionen teilnehmen (informeller Erweiterungsprozess)... kein GUI-System: OpenGL bietet Grafik, aber nicht den Kontext, in dem diese dargestellt wird (z.b. Fenster, Menüs, Buttons, etc.) hiefür können plattformspezifische oder plattformunabhängige (GLUT, im folgenden verwendet) Bibliotheken verwendet werden Eike Schallehn Grundlagen der Informatik für Ingenieure Wintersemester 08/

6 OpenGL definiert eigene Datentypen: zum Zweck der Plattform- und Sprachunabhängigkeit definiert OpenGL, die einfach mit dem PräfixGL beginnen (z.b.glint,glfloat, etc.), die im Fall der Sprache C pertypedef auf C-Typen abgebildet werden... Funktionen entsprechend einer festen Namenskonvention: Funktionsnamen beginnen in OpenGL mit dem Präfixgl (bzw.glu für OpenGL Utilities undglut für GLUT), nach dem eigentlichen Namen werden die Anzahl und der Typ der Parameter im Namen kodiert, z.b.glvertex3f() modelliert einen Punkt (Vertex) mit 3 Float-Parametern als Koordinaten Eike Schallehn Grundlagen der Informatik für Ingenieure Wintersemester 08/

7 OpenGL Primitive /1 Wenige einfache Primitive basieren auf Definition durch Eckpunkte (Vertexes) Freiformkurven und -flächen müssen durch diese angenähert werden - dafür existieren Hilfsfunktionen inglu.h Die Definition eines oder mehrere Primitive muss durch die Funktionen glbegin(...) undglend() eingeschlossen sein, wobei zu Beginn des Modellierungsblocks der Primitiv-Typ als Parameter übergeben wird, zum Beispiel zum Zeichnen von Linien glbegin(gl_lines);... glend(); Dazwischen können einzelne Punkte gesetzt oder Zeichenparameter (z.b. Farbe) gesetzt werden, zum Beispiel eine rote Linie glcolor3f(1.0, 0, 0); glvertex3f(-10,-10,0); glvertex3f(10,10,0); Eike Schallehn Grundlagen der Informatik für Ingenieure Wintersemester 08/

8 OpenGL Primitive / GL_POINTS GL_LINES GL_LINE_STRIP GL_LINE_LOOP GL_POLYGON Eike Schallehn Grundlagen der Informatik für Ingenieure Wintersemester 08/

9 OpenGL Primitive / GL_QUADS GL_QUAD_STRIP GL_TRIANGLES GL_TRIANGLE_STRIP 6 GL_TRIANGLE_FAN 5 Eike Schallehn Grundlagen der Informatik für Ingenieure Wintersemester 08/

10 OpenGL in C/C++ Implementiert als C-Standardbiliothek und bei den meisten Compiler-Implementierungen enthalten gl.h bietet OpenGL-Kern glu.h zahlreiche notwendige Hilfsfunktionen zusammengfaßt als OpenGL Utility Library Eike Schallehn Grundlagen der Informatik für Ingenieure Wintersemester 08/

11 Einführung GLUT OpenGL Utility Toolkit Bibliothek welches GUI-Kompomenten (Fenster etc.) als Kontext für OpenGL-Grafiken anbietet Ebenfalls zur Steuerung der Nutzerinteraktion über Tastatur, Maus, etc. Für C durch Inklusion vonglut.h Eike Schallehn Grundlagen der Informatik für Ingenieure Wintersemester 08/

12 GLUT ist plattformunabhängig: als alternative Schnittstelle zu plattformabhängigen Anbindungen wie WGL (Windows) oder GLX (Unix) für verschiedene Sprachen, Betriebssysteme und Hardware umgesetzt GLUT-Implementierungen basieren meist auf spezifischen Schnittstellen und sind deshalb auch eher weniger performant... ereignisbasiert: spezielle Funktionen (Handler) werden implementiert und beim GLUT-System zur Laufzeit registriert (Funktion als Parameter in C), damit diese beim Auftreten eines bestimmten Ereignisses automatisch aufgerufen werden, z.b. Wann immer ein erneutes Zeichnen der Grafik notwendig wird (Redraw) Tastatur oder Mauseingabe Veränderung des Fensters (Resize, Exit,...) Ablauf eines Zeitintervalls (Timer) Eike Schallehn Grundlagen der Informatik für Ingenieure Wintersemester 08/

13 Programmierbeispiele 1 Haus vom Nikolaus Demonstration der grundlegenden Funktionsweise von OpenGL und GLUT 2D-Grafik Arbeiten mit einfachen Grafikprimitiven 2 Rotierender Würfel Hinweise: 3D-Grafik mit Nutzerinteraktion Arbeiten mit Projektions- und Modellmatrizen Quellcode nur auszugsweise angegeben vollständiger, lauffähiger Quelltext auf der Web-Seite zur Vorlesung Übersetzung und Ausführung erfordert Installation von GLUT Eike Schallehn Grundlagen der Informatik für Ingenieure Wintersemester 08/

14 Beispiel: Haus vom Nikolaus Zeichnet das Haus vom Nikolaus in einem Zug 2D-Grafik mit Parallelprojektion Verwendet einen Line Strip als grafisches Primitiv Demonstration der grundlegenden Funktionsweise von OpenGL und GLUT Eike Schallehn Grundlagen der Informatik für Ingenieure Wintersemester 08/

15 Haus vom Nikolaus:main int main(int argc,char ** argv) { // Initialisierung von GLUT und Erzeugung des Fensters glutinit(&argc,argv); glutinitdisplaymode(glut_depth GLUT_RGBA GLUT_DOUBLE); glutinitwindowsize(640,640); glutcreatewindow( Das Haus vom Nikolaus... ); glenable(gl_depth_test); // Registrierung der Handler-Funktionen glutdisplayfunc(redrawhandler); glutreshapefunc(resizehandler); } // Die GLUT Haupt-Schleife des Programms glutmainloop(); return 0; Eike Schallehn Grundlagen der Informatik für Ingenieure Wintersemester 08/

16 Haus vom Nikolaus:main /2 Nach dem Aufruf vonglutmainloop() übernimmt GLUT die Kontrolle über das Programm/Fenster Programm erhält nur über 2 zuvor registrierte Handler Kontrolle zurück Im Fall des notwendigen Neuzeichnens: Redraw Im Fall der Änderung der FEnstergröße: Resize Eike Schallehn Grundlagen der Informatik für Ingenieure Wintersemester 08/

17 Haus vom Nikolaus: Resize Handler void resizehandler(int w, int h) { // Setzen des Viewports glviewport(0,0,w,h); // Wechsel zur Projektionsmatrix und // Setzen auf eine einfache Orthogonalprojektion glmatrixmode(gl_projection); glloadidentity(); glortho(-22,22,-22,22,-1,1); } // Zurück zur Modellmatrix glmatrixmode(gl_modelview); Eike Schallehn Grundlagen der Informatik für Ingenieure Wintersemester 08/

18 Haus vom Nikolaus: Resize Handler /2 Bei einem Resize muss für einen veänderten Viewport (erzeugte Rastergrafik) eine neue Projektion durchgeführt werden Umsschalten zur Modifikation der Projektionsmatrix Erstmal: Setzen als Einheitsmatrix Dann Multiplikation mit einer Orthogonalprojektionsmatrix passend zum aktuellen Viewport Modus zurücksetzen: im Folgenden wieder Veränderung der Modellmatrix Eike Schallehn Grundlagen der Informatik für Ingenieure Wintersemester 08/

19 Haus vom Nikolaus: Redraw Handler /1 void redrawhandler() { // Zeichen-Buffer Löschen glclear(gl_depth_buffer_bit GL_COLOR_BUFFER_BIT); // Modellmatrix bleibt Identitätstransformation glloadidentity();... Eike Schallehn Grundlagen der Informatik für Ingenieure Wintersemester 08/

20 Haus vom Nikolaus: Redraw Handler /2... // Das Haus des Nikolaus als Line Strip glbegin(gl_line_strip); glcolor3f(1,1,1); glvertex3f(-10,-10,0); glvertex3f(10,-10,0); glvertex3f(10,10,0); glvertex3f(-10,10,0); glvertex3f(-10,-10,0); glvertex3f(10,10,0); glvertex3f(0,20,0); glvertex3f(-10,10,0); glvertex3f(10,-10,0); glend(); } // Zeichen-Buffer nach vorn holen glutswapbuffers(); Eike Schallehn Grundlagen der Informatik für Ingenieure Wintersemester 08/

21 Haus vom Nikolaus: Redraw Handler /3 OpenGL verwendet zwei Buffer (Double Buffering) Ein aktuell dargestellter Buffer Einer, auf den aktuelle Änderungen ausgeführt werden Nach der Veränderung der Grafik, werden die Buffer getauscht Eike Schallehn Grundlagen der Informatik für Ingenieure Wintersemester 08/

22 Beispiel: Rotierender Würfel Rotierender Würfel 3D-Grafik, nur Kantenmodell Nutzerinteraktion zur Rotation um verschiedene Achsen und zum Wechsel der Projektionsmethode (perspektivisch und parallel) Demonstration der Arbeit mit Projektions- und Modellmatrizen Eike Schallehn Grundlagen der Informatik für Ingenieure Wintersemester 08/

23 Rotierender Würfel: Globale Variablen // Globale Variablen: float frotanglex = 0.0f; float frotangley = 0.0f; float frotanglez = 0.0f; int iorthoproj = 0; int iwidth = 600; int iheight = 600; Globale Variablen als Programmzustand außerhalb der Handler-Aufrufe Rotationswinkel in 3 Achsen x, y, und z Projektionsmethode: perspektivisch wenniorthoproj == 0, parallel andernfalls Aktuelle Fenstergröße (für Projektion) Eike Schallehn Grundlagen der Informatik für Ingenieure Wintersemester 08/

24 Rotierender Würfel: Keyboard Handler void keyboardhandler( unsigned char ukey, int x, int y ) { switch ( ukey ) case x : frotanglex += 1.0; break; case y : frotangley += 1.0; break; case z : frotanglez += 1.0; break; case o : iorthoproj = 1; break; case p : iorthoproj = 0; } glutpostredisplay(); } Eike Schallehn Grundlagen der Informatik für Ingenieure Wintersemester 08/

25 Rotierender Würfel: Redraw Handler /1 void redrawhandler() { glmatrixmode( GL_PROJECTION ); glloadidentity(); if (iorthoproj) glortho(-2, 2, -2, 2,-10,20); else gluperspective(45.0, (float)iwidth/iheight, 1.0, 20.0); glclear( GL_COLOR_BUFFER_BIT GL_DEPTH_BUFFER_BIT ); glmatrixmode( GL_MODELVIEW ); glloadidentity(); gltranslatef( 0.0f, 0.0f, -5.0f ); glrotatef( frotanglex, 1.0f, 0.0f, 0.0f ); glrotatef( frotangley, 0.0f, 1.0f, 0.0f ); glrotatef( frotanglez, 0.0f, 0.0f, 1.0f );... Eike Schallehn Grundlagen der Informatik für Ingenieure Wintersemester 08/

26 Rotierender Würfel: Redraw Handler /2 glbegin(gl_line_loop);... glend(); glbegin(gl_line_loop);... glend(); glbegin(gl_lines);... glend(); } glutswapbuffers(); Eike Schallehn Grundlagen der Informatik für Ingenieure Wintersemester 08/

27 Rotierender Würfel: Redraw Handler /3 Zuerst wird in Abhängigkeit voniorthoproj die korrekte Projektionsmatrix erzeugt Im weiteren Verlauf Erzeugen der aktuellen Modelltransformationsmatrix Zuerst Einheitsmatrix Multiplikation mit Translationsmatrix: Verschiebung in das Sichtfeld um -5 in Richtung z-achse Multiplikation mit 3 Rotationsmatrizen für die Achsen x, y, z um entsprechende Winkel aus globalen Variablen Im weiteren Verlauf Zeichnen des eigentlichen Kantenmodells aus 2 Lineloops für linke und rechte Würfelfläche 4 Verbindungskanten wobei alle Koordinaten automatisch entsprechend der aktuellen Modelltransformation verändert werden Eike Schallehn Grundlagen der Informatik für Ingenieure Wintersemester 08/

Teil V. Grundlagen der Computergrafik

Teil V. Grundlagen der Computergrafik Teil V Grundlagen der Computergrafik Überblick Grundlagen der Computergrafik 1 Einführung 2 Geometrische Modellierung 3 Bildsynthese (Rendering) 4 Grafikprogrammierung Eike Schallehn Grundlagen der Informatik

Mehr

Eine Einführung in OpenGL

Eine Einführung in OpenGL Eine Einführung in OpenGL Inhaltsverzeichnis 1 Übersicht 2 1.1 Was ist OpenGL?........................... 2 1.2 Was leistet OpenGL?......................... 2 2 Erste Schritte mit OpenGL 3 2.1 Grundstrukturen...........................

Mehr

Einführung in OpenGL. Einführung in OpenGL

Einführung in OpenGL. 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

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

Computergrafik 1 Übung, Wintersemester 2011. Eclipse Hands-On. C++ Projektsetup mit OpenGL und GLUT unter Eclipse für Windows 22.10.

Computergrafik 1 Übung, Wintersemester 2011. Eclipse Hands-On. C++ Projektsetup mit OpenGL und GLUT unter Eclipse für Windows 22.10. Computergrafik 1 Übung, Wintersemester 2011 Eclipse Hands-On C++ Projektsetup mit OpenGL und GLUT unter Eclipse für Windows 22.10.12 1 Eclipse - Die IDE 1. Entwicklungsumgebung (IDE) herunterladen / installieren

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

Teil III. Grundlagen der Computergrafik

Teil III. Grundlagen der Computergrafik Teil III Grundlagen der Computergrafik Überblick 1 2 Geometrische Modellierung 3 Bildsynthese 4 Grafikprogrammierung Eike Schallehn Grundlagen der Informatik für Ingenieure Wintersemester 08/09 3 1 Begriff:

Mehr

Computergraphik Grundlagen

Computergraphik Grundlagen Prof. Stefan Schlechtweg-Dorendorf Hochschule Anhalt (FH) Köthen Fachbereich Informatik Wintersemester 2010/2011 1 / 27 Teil II CG-Programmierung und OpenGL 2 / 27 Inhalt 1. Computergraphik-Programmierung

Mehr

Einführung OpenGL und GLUT WPF Spiele, Simulation und dynamische Systeme

Einführung OpenGL und GLUT WPF Spiele, Simulation und dynamische Systeme Einführung OpenGL und GLUT WPF Spiele, Simulation und dynamische Systeme bei Prof. Dr. Wolfgang Konen erstellt von: Sebastian Skalec, 11038991 Christian Fehmer, 11042419 Fachhochschule Köln Campus Gummersbach

Mehr

Pass by Value Pass by Reference Defaults, Overloading, variable Parameteranzahl

Pass by Value Pass by Reference Defaults, Overloading, variable Parameteranzahl Funktionen Zusammenfassung von Befehlssequenzen als aufrufbare/wiederverwendbare Funktionen in einem Programmblock mit festgelegter Schnittstelle (Signatur) Derartige prozedurale Programmierung erlaubt

Mehr

Spiele, Simulation, dynamische Systeme

Spiele, Simulation, dynamische Systeme Spiele, Simulation, dynamische Systeme Einführung in OpenGL und GLUT Sebastian Skalec (11038991) Christian Fehmer (11042419) Was können wir nach dem Vortrag? Erstellen eines OpenGL-Fensters Motivation

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

Grafikprogrammierung mit OpenGL I

Grafikprogrammierung mit OpenGL I Grafikprogrammierung mit OpenGL I Proseminar Computergrafik Sommersemester 2 TU Dresden Johannes Völker Matrikelnummer: 3478976 s224854@mail.inf.tu-dresden.de Dozent: Wilfried Mascolus Lehrstuhl für Computergraphik

Mehr

Erste Schritte in OpenGL

Erste Schritte in OpenGL Erste Schritte in OpenGL Modelierung Aus Punkten werden geometrische Körper Komplexe Objeckte werden aus meheren einfachen Objeckten erstellt Dazu müssen Vertexes (Punkte) im virtuellen Raum angefordnet

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

Einführung in OpenGL. Thomas Kalbe 30.10.2007. Technische Universität Darmstadt. thomas.kalbe@gris.informatik.tu-darmstadt.de

Einführung in OpenGL. Thomas Kalbe 30.10.2007. Technische Universität Darmstadt. thomas.kalbe@gris.informatik.tu-darmstadt.de Einführung in OpenGL Thomas Kalbe Technische Universität Darmstadt thomas.kalbe@gris.informatik.tu-darmstadt.de 30.10.2007 3D Graphic APIs 2 / 42 API: Application Programming Interface low-level graphic

Mehr

Einführung in die C-Programmierung

Einführung in die C-Programmierung Einführung in die C-Programmierung Warum C? Sehr stark verbreitet (Praxisnähe) Höhere Programmiersprache Objektorientierte Erweiterung: C++ Aber auch hardwarenahe Programmierung möglich (z.b. Mikrokontroller).

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

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

OpenGL for Java OpenGL for Java Prof. Dr. V. Stahl

OpenGL for Java OpenGL for Java Prof. Dr. V. Stahl OpenGL for Java Ziele Bewegte Simulationen grafisch darstellen können (effizient, realistisch, dreidimensional) Grundfunktionen von OpenGL beherrschen Mathematische Voraussetzungen für Computer Grafik

Mehr

Das ausführbare Programm Bsp1.cfg, Bsp1.dof, Bsp1.dpr, Bsp1.res Projektdateien für Delphi 7 Prak.pas

Das ausführbare Programm Bsp1.cfg, Bsp1.dof, Bsp1.dpr, Bsp1.res Projektdateien für Delphi 7 Prak.pas Fakultät Informatik, Professur Computergraphik und Visualisierung 1 1 EINFÜHRUNG Zu diesem Praktikum wird ein vorbereitetes Delphi-Projekt zur Verfügung gestellt. Es ist so aufgebaut, dass man wichtige

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 vs. Direct3D Ein 3D-API Vergleich

OpenGL vs. Direct3D Ein 3D-API Vergleich OpenGL vs. Direct3D Ein 3D-API Vergleich 3D-APIs (Application Programming Interface)sind Software-Schnittstellen, um über einen Standard auf die Hardware des Rechners zugreifen zu koennen. Direct3D von

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

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

Delegatesund Ereignisse

Delegatesund Ereignisse Delegatesund Ereignisse «Delegierter» Methoden Schablone Funktionszeiger Dr. Beatrice Amrhein Überblick Definition eines Delegat Einfache Delegate Beispiele von Delegat-Anwendungen Definition eines Ereignisses

Mehr

Klausur in Programmieren

Klausur in Programmieren Studiengang Sensorik/Sensorsystemtechnik Note / normierte Punkte Klausur in Programmieren Wintersemester 2010/11, 17. Februar 2011 Dauer: 1,5h Hilfsmittel: Keine (Wörterbücher sind auf Nachfrage erlaubt)

Mehr

Grundlagen. Die Komponenten eines C Programms. Das erste Programm

Grundlagen. Die Komponenten eines C Programms. Das erste Programm Grundlagen 1. Die Komponenten eines C Programms 2. Ein Programm erzeugen und übersetzen 3. Variablen Deklarieren und Werte zuweisen 4. Zahlen eingeben mit der Tastatur 5. Arithmetische Ausdrücke und Berechnungen

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

Modellierungsmethoden

Modellierungsmethoden Modellierungsmethoden Definition (smethoden) smethoden fassen verschiedene Beschreibungsmittel, insbesondere Datenstrukturen und Operationen, für geometrische Objekte zusammen. Äquivalente Begriffe: Geometrische

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

Deklarationen in C. Prof. Dr. Margarita Esponda

Deklarationen in C. Prof. Dr. Margarita Esponda Deklarationen in C 1 Deklarationen Deklarationen spielen eine zentrale Rolle in der C-Programmiersprache. Deklarationen Variablen Funktionen Die Deklarationen von Variablen und Funktionen haben viele Gemeinsamkeiten.

Mehr

Theorie zu Übung 8 Implementierung in Java

Theorie zu Übung 8 Implementierung in Java Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Theorie zu Übung 8 Implementierung in Java Klasse in Java Die Klasse wird durch das class-konzept

Mehr

4. 3. Grafik-Programmierung

4. 3. Grafik-Programmierung 4. 3. Grafik-Programmierung es gibt wenig Standards auch in C sind die zur Verfügung stehenden Grafik-Befehle abhängig vom Betriebssystem und von der verwendeten C- Erweiterung grundsätzliche Unterscheidung:

Mehr

DirectX und OpenGL. Proseminar Multimedia-Hardwareerweiterungen. Michel Weimerskirch

DirectX und OpenGL. Proseminar Multimedia-Hardwareerweiterungen. Michel Weimerskirch DirectX und OpenGL Proseminar Multimedia-Hardwareerweiterungen Michel Weimerskirch Zusammenfassung Diese Arbeit, die im Rahmen des Proseminars Multimedia Hardwareerweiterungen ausgearbeitet wurde, soll

Mehr

Programmieren in C. Macros, Funktionen und modulare Programmstruktur. Prof. Dr. Nikolaus Wulff

Programmieren in C. Macros, Funktionen und modulare Programmstruktur. Prof. Dr. Nikolaus Wulff Programmieren in C Macros, Funktionen und modulare Programmstruktur Prof. Dr. Nikolaus Wulff Der C Präprozessor Vor einem Compile Lauf werden alle Präprozessor Kommandos/Makros ausgewertet. Diese sind

Mehr

Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung)

Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) Wintersemester 2007/08 Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fakultät für Informatik Lehrstuhl

Mehr

1. Übung zu "Numerik partieller Differentialgleichungen"

1. Übung zu Numerik partieller Differentialgleichungen 1. Übung zu "Numerik partieller Differentialgleichungen" Simon Gawlok, Eva Treiber Engineering Mathematics and Computing Lab 22. Oktober 2014 1 / 15 1 Organisatorisches 2 3 4 2 / 15 Organisatorisches Ort:

Mehr

Cross-Plattform Spieleentwicklung mit der SDL

Cross-Plattform Spieleentwicklung mit der SDL Cross-Plattform Spieleentwicklung mit der SDL Anhand der Spiele-Neuentwicklung "BlinkenSisters - Hunt for the Lost Pixels", einem Jump'n'Run, werde ich zeigen, wie ein solches Spiel entwickelt werden kann.

Mehr

Einführung in die Programmierung

Einführung in die Programmierung : Inhalt Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund - mit / ohne Parameter - mit / ohne Rückgabewerte

Mehr

Erste Schritte mit HG 2

Erste Schritte mit HG 2 Erste Schritte mit HG 2 Malte Ried FH-Gießen Version: 1.0 21. November 2003 Inhaltsverzeichnis 1 Einführung 2 2 Allgemeines 2 2.1 Koordinaten...................................... 2 2.2 Farben.........................................

Mehr

LabView. Die erste komplett grafische Programmierumgebung. Jens Kleinwechter (jenskl@tzi.de)

LabView. Die erste komplett grafische Programmierumgebung. Jens Kleinwechter (jenskl@tzi.de) LabView Die erste komplett grafische Programmierumgebung Falko Buttler ( fbuttler@tzi.de) Jens Kleinwechter (jenskl@tzi.de) Gliederung des Referats Was versteht man unter LabView? Für wen war es gedacht

Mehr

Klausur C-Programmierung / 15.02.2014 / Klingebiel / 60 Minuten / 60 Punkte

Klausur C-Programmierung / 15.02.2014 / Klingebiel / 60 Minuten / 60 Punkte Klausur C-Programmierung / 15.02.2014 / Klingebiel / 60 Minuten / 60 Punkte Musterlösung 1. Aufgabe (5 Punkte) Im folgenden Programmcode sind einige Fehler enthalten. Finden und markieren Sie mindestens

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Konstruktor, Statische Methoden Packages Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Initialisierung von Datenstrukturen

Mehr

Grundlagen der Informatik

Grundlagen der Informatik Grundlagen der Informatik 3D-Computergrafik Prof. Dr.-Ing. Thomas Wiedemann Fachgebiet Informatik / Mathematik Einführung zur 3-Grafik Kurze Historie Prinzipielle Konzepte Überblick Verfügbare 3-Grafiktechnologien

Mehr

Moderne C-Programmierung

Moderne C-Programmierung Xpert.press Moderne C-Programmierung Kompendium und Referenz Bearbeitet von Helmut Schellong 1. Auflage 2005. Buch. xii, 280 S. ISBN 978 3 540 23785 3 Format (B x L): 15,5 x 23,5 cm Weitere Fachgebiete

Mehr

C allgemein. C wurde unter und für Unix entwickelt. Vorläufer sind BCPL und B.

C allgemein. C wurde unter und für Unix entwickelt. Vorläufer sind BCPL und B. C-Crash-Kurs Eine kurze, keinesfalls erschöpfende Einführung in die Sprache C für Studierende, die eine strukturierte imperative Programmiersprache beherrschen. Die Vorstellung erfolgt am Beispiel von

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

Einführung in wxwidgets & wxdev-c++

Einführung in wxwidgets & wxdev-c++ Einführung in wxwidgets & wxdev-c++ Vortrag im Rahmen der Vorlesung Computational Physics im Sommersemester 2009 Folie 1/13 Gliederung wxwidgets: Übersicht wxdev-c++: Übersicht Installation wxwidgets Syntax

Mehr

DAP2-Programmierpraktikum Einführung in C++ (Teil 1)

DAP2-Programmierpraktikum Einführung in C++ (Teil 1) DAP2-Programmierpraktikum Einführung in C++ (Teil 1) Carsten Gutwenger 11. April 2008 Lehrstuhl 11 Algorithm Engineering Fakultät für Informatik, TU Dortmund Überblick Mein erstes C++-Programm Namensräume

Mehr

Grundlagen der Informatik

Grundlagen der Informatik Grundlagen der Informatik Polymorphie, Abstrakte Klassen, Mehrfachvererbung Prof. Dr.-Ing. Thomas Wiedemann Prof. Dr. rer.nat. Ralph Großmann Fachgebiet Informatik / Mathematik Überblick zum Inhalt Klassen-3

Mehr

Die Bedeutung abstrakter Datentypen in der objektorientierten Programmierung. Klaus Kusche, September 2014

Die Bedeutung abstrakter Datentypen in der objektorientierten Programmierung. Klaus Kusche, September 2014 Die Bedeutung abstrakter Datentypen in der objektorientierten Programmierung Klaus Kusche, September 2014 Inhalt Ziel & Voraussetzungen Was sind abstrakte Datentypen? Was kann man damit grundsätzlich?

Mehr

Transformationen in der Computergrafik

Transformationen in der Computergrafik BACHELORARBEIT Transformationen in der Computergrafik ausgeführt von Robert Alexander Wimmer A-1110 Wien, Lorystraße 40-42 / 17 / 8 Begutachter: Dipl.-Ing. Dr. Gerd Hesina Wien, am 18. Jänner 2009 Ausgeführt

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

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

Gui & Widgets. GUI & Widgets, Events GUI? Als GUI (= Graphical User Interface ) bezeichnet man die

Gui & Widgets. GUI & Widgets, Events GUI? Als GUI (= Graphical User Interface ) bezeichnet man die GUI & Widgets, Events Einführung in C# GUI 3 Übersicht Gui & Widgets Events Kurze Einführung in C# GUI? Als GUI (= Graphical User Interface ) bezeichnet man die grafische Benutzungsschnittstelle oder auch

Mehr

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden. Grundwissen Informatik Objekt Attribut Methoden Als Objekte bezeichnet man alle Gegenstände, Dinge, Lebewesen, Begriffe oder Strukturen unserer Welt ( Autos, Räume, Bakterien, Lehrer, Schüler, Kunden,

Mehr

5.4 Klassen und Objekte

5.4 Klassen und Objekte 5.4 Klassen und Objekte Zusammenfassung: Projekt Figuren und Zeichner Figuren stellt Basisklassen für geometrische Figuren zur Verfügung Zeichner bietet eine übergeordnete Klasse Zeichner, welche die Dienstleistungen

Mehr

Entwicklung eines JOGL-basierten Frameworks zur Darstellung von Game Physics

Entwicklung eines JOGL-basierten Frameworks zur Darstellung von Game Physics Entwicklung eines JOGL-basierten Frameworks zur Darstellung von Game Physics Diplomarbeit zur Erlangung des Diplomgrades Diplom - Informatiker (FH) in der Fachrichtung Allgemeine Informatik ausgearbeitet

Mehr

Grafische Benutzerschnittstellen in C++ mit GTKmm Betriebssystemunabhängig gestalten 1. WILLKOMMEN IN DER WELT VON GTK+

Grafische Benutzerschnittstellen in C++ mit GTKmm Betriebssystemunabhängig gestalten 1. WILLKOMMEN IN DER WELT VON GTK+ Dieser Artikel stammt aus dem Magazin von C++.de (http://magazin.c-plusplus.de) Grafische Benutzerschnittstellen in C++ mit GTKmm Betriebssystemunabhängig gestalten 1. WILLKOMMEN IN DER WELT VON GTK+ Bevor

Mehr

Steueranweisungen. Eike Schallehn Grundlagen der Informatik für Ingenieure Wintersemester 08/09 2 32

Steueranweisungen. Eike Schallehn Grundlagen der Informatik für Ingenieure Wintersemester 08/09 2 32 Steueranweisungen Bisher Programme mit Funktionen als einfache Folge von Befehlen Ablauf von Programmen darüber hinaus steuerbar über Bedingte Ausführung: Ausführung von Programmteilen (Befehlen oder Programmblöcken)

Mehr

Propädeutikum. Dipl.-Inf. Frank Güttler

Propädeutikum. Dipl.-Inf. Frank Güttler Propädeutikum 2015 Vorbereitungskurs Informatikstudium Erfolgreich Studieren Programmieren (C-Kurs) guettler@informatik.uni-leipzig.de Universität Leipzig Institut für Informatik Technische Informatik

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

Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Gute Lösung:

Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Gute Lösung: Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Der Sourcecode wird an den entsprechenden Stellen im Programm wiederholt Programm wird lang

Mehr

Objektbasierte Entwicklung

Objektbasierte Entwicklung Embedded Software Objektbasierte Entwicklung Objektorientierung in C? Prof. Dr. Nikolaus Wulff Objektbasiert entwickeln Ohne C++ wird meist C im alten Stil programmiert. => Ein endlose while-schleife mit

Mehr

Kurze Einführung in die Programmiersprache C++ und in Root

Kurze Einführung in die Programmiersprache C++ und in Root Kurze Einführung in die Programmiersprache C++ und in Root Statistik, Datenanalyse und Simulation; 31.10.2006 Inhalt 1 Einführung in die Programmiersprache C++ Allgemeines Variablen Funktionen 2 1 Einführung

Mehr

Probeklausur: Programmierung WS04/05

Probeklausur: Programmierung WS04/05 Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,

Mehr

Programmierung in C. Grundlagen. Stefan Kallerhoff

Programmierung in C. Grundlagen. Stefan Kallerhoff Programmierung in C Grundlagen Stefan Kallerhoff Vorstellungsrunde Name Hobby/Beruf Schon mal was programmiert? Erwartungen an den Kurs Lieblingstier Für zu Hause C-Buch online: http://openbook.rheinwerk-verlag.de/c_von_a_bis_z/

Mehr

Graphische Benutzungsoberflächen

Graphische Benutzungsoberflächen Graphische Benutzungsoberflächen Graphische Benutzungsoberflächen (graphical user interfaces, GUI) dienen zur interaktiven Bedienung von Programmen, Ein- und Ausgabe mit graphischen Techniken und visuellen

Mehr

Programmierung mit C Zeiger

Programmierung mit C Zeiger Programmierung mit C Zeiger Zeiger (Pointer)... ist eine Variable, die die Adresse eines Speicherbereichs enthält. Der Speicherbereich kann... kann den Wert einer Variablen enthalten oder... dynamisch

Mehr

Modellierung und Programmierung

Modellierung und Programmierung Modellierung und Programmierung Dr. Martin Riplinger 19.12.2012 IAM Institut für Angewandte Mathematik Funktionszeiger: Vorüberlegungen Funktionsaufrufe sind bis jetzt im Code mit Name explizit angegeben

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

GRAFISCHE BENUTZERSCHNITTSTELLEN

GRAFISCHE BENUTZERSCHNITTSTELLEN Vorlesung 4.4 GRAFISCHE BENUTZERSCHNITTSTELLEN Dr. Philip Mayer # 1 GUIs Grafische Benutzerschnittstellen (GUIs, Graphical User Interfaces) bieten dem Benutzer Zugriff auf ein Anwendungssystem GUIs sind

Mehr

Unterlagen. CPP-Uebungen-08/

Unterlagen.  CPP-Uebungen-08/ Unterlagen http://projects.eml.org/bcb/people/ralph/ CPP-Uebungen-08/ http://www.katjawegner.de/lectures.html Kommentare in C++ #include /* Dies ist ein langer Kommentar, der über zwei Zeilen

Mehr

(allgemeine) OOP in C++ Klassen und header-files Konstruktorn / Destruktoren Speicherverwaltung C++ Standard Library / SLT

(allgemeine) OOP in C++ Klassen und header-files Konstruktorn / Destruktoren Speicherverwaltung C++ Standard Library / SLT Architektur Übersicht (allgemeine) OOP in C++ Polymorphie Virtuelle Funktionen Kompilieren Linken dynamische/statische Bibliotheken Tutorial: vs2008+ogre+(campus modell) Architektur (allgemeine) OOP in

Mehr

Primitive Datentypen

Primitive Datentypen Primitive Datentypen 2 Arten von Datentypen: primitive Datentypen (heute) Objekte (später) Java ist streng typisiert, d.h. für jede Variable muß angegeben werden was für eine Art von Wert sie aufnimmt.

Mehr

Grundlagen von C. Ausarbeitung von Jonas Gresens

Grundlagen von C. Ausarbeitung von Jonas Gresens Grundlagen von C Ausarbeitung von Jonas Gresens 1 Allgemein Proseminar C Grundlagen und Konzepte Arbeitsbereich Wissenschaftliches Rechnen Fachbereich Informatik Fakultät für Mathematik, Informatik und

Mehr

1 OpenGL in Delphi. 1.1 Vom Pixel zur Simulation. kleiner kommunikation max@kleiner.com

1 OpenGL in Delphi. 1.1 Vom Pixel zur Simulation. kleiner kommunikation max@kleiner.com kleiner kommunikation max@kleiner.com 1 OpenGL in Delphi OpenGL stellt die derzeit wohl am umfangreichsten dokumentierte 3D-API dar, deren Unterlagen und Funktionen nicht nur online, sondern auch in schnellen

Mehr

1 Vom Problem zum Programm

1 Vom Problem zum Programm Hintergrundinformationen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik WS 02/03 AG Betriebssysteme FB3 Kirsten Berkenkötter 1 Vom Problem zum Programm Aufgabenstellung analysieren

Mehr

Die Programmiersprache C Eine Einführung

Die Programmiersprache C Eine Einführung Die Programmiersprache C Eine Einführung Christian Gentsch Fakutltät IV Technische Universität Berlin Projektlabor 2. Mai 2014 Inhaltsverzeichnis 1 Einführung Entstehungsgeschichte Verwendung 2 Objektorientiert

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

Tutorium Rechnerorganisation

Tutorium Rechnerorganisation Woche 2 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Mehr

Programmierkurs C++ Abstrakte Klassen und Methoden

Programmierkurs C++ Abstrakte Klassen und Methoden Programmierkurs C++ Abstrakte Klassen und Methoden Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer #2 Vererbungshierarchie Obst double

Mehr

Grundlagen der Programmierung in C Funktionen

Grundlagen der Programmierung in C Funktionen Der erste Mechanismus für Code-Reuse! Grundlagen der Programmierung in C Funktionen Wintersemester 2005/2006 G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de Ältester Mechanismus für Code-Reuse:

Mehr

Programmieren in C. C Syntax Datentypen, Operatoren und Kontrollstrukturen. Prof. Dr. Nikolaus Wulff

Programmieren in C. C Syntax Datentypen, Operatoren und Kontrollstrukturen. Prof. Dr. Nikolaus Wulff Programmieren in C C Syntax Datentypen, Operatoren und Kontrollstrukturen Prof. Dr. Nikolaus Wulff Elementare Typen Imperative und objektorientierte Programmiersprachen bieten i.d.r. einen Satz elementarer

Mehr

Mittels X11 Anwendungen auf anderen Rechnern ausführen. Das Display Konzept. LinuxFocus article number 222 http://linuxfocus.org

Mittels X11 Anwendungen auf anderen Rechnern ausführen. Das Display Konzept. LinuxFocus article number 222 http://linuxfocus.org LinuxFocus article number 222 http://linuxfocus.org Mittels X11 Anwendungen auf anderen Rechnern ausführen by Guido Socher (homepage) About the author: Guido mag Linux nicht nur, weil es interessant ist,

Mehr

OpenCL Implementierung von OpenCV Funktionen

OpenCL Implementierung von OpenCV Funktionen Multi-Core Architectures and Programming OpenCL Implementierung von OpenCV Funktionen julian.mueller@e-technik.stud.uni-erlangen.de Hardware/Software Co-Design August 18, 2011 1 Table of content 1 OpenCL

Mehr

Zum Abschluss wird gezeigt, wie aus einem C++ Quell-Programm ein ausführbares Programm erzeugt wird. 1. Installation von NetBeans...

Zum Abschluss wird gezeigt, wie aus einem C++ Quell-Programm ein ausführbares Programm erzeugt wird. 1. Installation von NetBeans... Erste Schritte Dieser Teil der Veranstaltung gibt einen ersten Eindruck der Programmierung mit C++. Es wird ein erstes Gefühl von Programmiersprachen vermittelt, ohne auf die gezeigten Bestandteile genau

Mehr

Die Programmiersprache C

Die Programmiersprache C Die Programmiersprache C höhere Programmiersprache (mit einigen Assembler-ähnlichen Konstrukten) gut verständliche Kommandos muss von Compiler in maschinenlesbaren Code (Binärdatei) übersetzt werden universell,

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 7. Funktionen Einleitung Nach dem Prinzip Divide and Conquer bietet es sich an, größere Aufgaben in kleinere Teile zu unterteilen. Anweisungsblöcke,

Mehr

Abschnitt 9: Schnittstellen: Interfaces

Abschnitt 9: Schnittstellen: Interfaces Abschnitt 9: Schnittstellen: Interfaces 9. Schnittstellen: Interfaces 9.1 Die Idee der Schnittstellen 9.2 Schnittstellen in Java 9.3 Marker-Interfaces 9.4 Interfaces und Hilfsklassen 9.5 Zusammenfassung

Mehr

Kurzeinführung in OpenGL(ES)

Kurzeinführung in OpenGL(ES) Kurzeinführung in OpenGL(ES) Matthias Braun matthias.braun@kit.edu Institut für Programmstrukturen und Datenorganisation Lehrstuhl für Programmierparadigmen Wintersemester 2009/10 Wintersemester 2009/10

Mehr

Funktionale Programmierung mit Haskell

Funktionale Programmierung mit Haskell Funktionale Programmierung mit Haskell Dr. Michael Savorić Hohenstaufen-Gymnasium (HSG) Kaiserslautern Version 20120622 Überblick Wichtige Eigenschaften Einführungsbeispiele Listenerzeugung und Beispiel

Mehr

Integer Integer Integer (Voreinstellung) Integer Gleitkomma Gleitkomma leer/unbestimmt Integer ohne Vorzeichen Integer (explizit) mit Vorzeichen

Integer Integer Integer (Voreinstellung) Integer Gleitkomma Gleitkomma leer/unbestimmt Integer ohne Vorzeichen Integer (explizit) mit Vorzeichen 1 C-Schlüsselwörter Schlüsselwörter sind in allen Programmiersprachen reservierte Wörter. In C sind auch alle Namen _[A-Z]... und... reserviert, auch _... bereichsweise. Weiterhin durch die Standard-

Mehr

Praktikum IKT 3. Semester

Praktikum IKT 3. Semester Praktikum IKT 3. Semester Dr. Andreas Müller, TU Chemnitz, Fakultät für Informatik Inhaltsverzeichnis 1 1 Einführung in QT 1.1 Die QT-Bibliothek Informationen: http://www.trolltech.com Lehner, B: KDE-

Mehr

Einführung in die Informatik für Hörer aller Fakultäten II. Andreas Podelski Stephan Diehl Uwe Waldmann

Einführung in die Informatik für Hörer aller Fakultäten II. Andreas Podelski Stephan Diehl Uwe Waldmann Einführung in die Informatik für Hörer aller Fakultäten II Andreas Podelski Stephan Diehl Uwe Waldmann 1 Einführung in die Informatik für Hörer aller Fakultäten II Andreas Podelski Stephan Diehl Uwe Waldmann

Mehr

Programmierkurs: Delphi: Einstieg

Programmierkurs: Delphi: Einstieg Seite 1 von 6 Programmierkurs: Delphi: Einstieg Aus Wikibooks Inhaltsverzeichnis 1 Einstieg Einstieg Was ist Delphi Borland Delphi ist eine RAD-Programmierumgebung von Borland. Sie basiert auf der Programmiersprache

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 18 Einstieg in die Informatik mit Java Applets Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 18 1 Einführung 2 Sicherheits-Maßnahmen 3 Ereignisgesteuerte Programmierung

Mehr

5. Abstrakte Klassen. Beispiel (3) Abstrakte Klasse. Beispiel (2) Angenommen, wir wollen die folgende Klassenhierarchie implementieren:

5. Abstrakte Klassen. Beispiel (3) Abstrakte Klasse. Beispiel (2) Angenommen, wir wollen die folgende Klassenhierarchie implementieren: 5. Abstrakte Klassen Beispiel 5. Abstrakte Klassen 5. Abstrakte Klassen Beispiel Beispiel (3) Angenommen, wir wollen die folgende Klassenhierarchie implementieren: Probleme des Implementierungsvorschlags:

Mehr

Welche Informatik-Kenntnisse bringen Sie mit?

Welche Informatik-Kenntnisse bringen Sie mit? Welche Informatik-Kenntnisse bringen Sie mit? So gehen Sie vor! Lösen Sie die Aufgaben der Reihe nach von 1 bis 20, ohne das Lösungsblatt zur Hilfe zu nehmen. Der Schwierigkeitsgrad der Aufgaben nimmt

Mehr