8
Einführung in OpenGL und QT - Heike Jänicke 1 Informationen zu OpenGL und QT

Informationen zu OpenGL und QT - informatik.uni-leipzig.dejaenicke/OpenGL.pdf · Einführung in OpenGL und QT - Heike Jänicke 2 OpenGL Softwear-Interface zur Graphikhardware

Embed Size (px)

Citation preview

Einführung in OpenGL und QT - Heike Jänicke1

Informationen zu

OpenGL und QT

Einführung in OpenGL und QT - Heike Jänicke2

OpenGL

Softwear-Interface zur Graphikhardware

Hardwareunabhängig => kann auf vielen Plattformen angewendet werden

stellt Objekte und Operationen für interaktive 3D Anwendungen bereit

Geometrische Primitive (Punkte, Linien, Dreiecke)

Anordnung der Primitive in 3D, Einstellung der Ansicht

Farbgebung

Rasterisierung

Einführung in OpenGL und QT - Heike Jänicke3

Beispiel

#include <GL/gl.h>

glClearColor (0.0, 0.0, 0.0, 0.0);

glClear (GL_COLOR_BUFFER_BIT);

glColor3f (1.0, 1.0, 1.0);

glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);

glBegin(GL_POLYGON);

glVertex3f (0.25, 0.25, 0.0);

glVertex3f (0.75, 0.25, 0.0);

glVertex3f (0.75, 0.75, 0.0);

glVertex3f (0.25, 0.75, 0.0);

glEnd();

glFlush();

Einführung in OpenGL und QT - Heike Jänicke4

Primitive zeichnen

Umschlossen von

glBegin( typ )

glEnd()

Typ: GL_POINTS, GL_LINES, GL_TRIANGLES...

Normale definiert durch:

glNormal3f{v}( ... )

Vertices definiert durch:

glVertex3f( double, double, double ) oder

glVertex3fv( double[3] )

Einführung in OpenGL und QT - Heike Jänicke5

Materialien

glDisable(GL_COLOR_MATERIAL); glMaterialfv( GL_FRONT_AND_BACK, GL_AMBIENT, ambient );

glMaterialfv( GL_FRONT_AND_BACK, GL_DIFFUSE, diffuse );

glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, specular );

glMaterialfv(GL_FRONT, GL_SHININESS, shininess );

Einführung in OpenGL und QT - Heike Jänicke6

Transformationen

Transformation von Objekten:void glTranslate{fd}(TYPEx, TYPE y, TYPEz);

void glRotate{fd}(TYPE angle, TYPE x, TYPE y, TYPE z);

void glScale{fd}(TYPEx, TYPE y, TYPEz);

void glMultMatrix{fd}(const TYPE *m);

Einführung in OpenGL und QT - Heike Jänicke7

QT

Qt ist eine Klassenbibliothek für die plattform-übergreifende Programmierung grafischer Benutzeroberflächen unter C++..

Einführung in OpenGL und QT - Heike Jänicke8

Signals und Slots