summaryrefslogtreecommitdiffstats
path: root/Bachelor/GDV2
diff options
context:
space:
mode:
authorSven Eisenhauer <sven@sven-eisenhauer.net>2023-11-10 15:11:48 +0100
committerSven Eisenhauer <sven@sven-eisenhauer.net>2023-11-10 15:11:48 +0100
commit33613a85afc4b1481367fbe92a17ee59c240250b (patch)
tree670b842326116b376b505ec2263878912fca97e2 /Bachelor/GDV2
downloadStudium-master.tar.gz
Studium-master.tar.bz2
add new repoHEADmaster
Diffstat (limited to 'Bachelor/GDV2')
-rw-r--r--Bachelor/GDV2/EigeneAufgabe.cpp84
-rw-r--r--Bachelor/GDV2/EigeneAufgabeSS05.pdfbin0 -> 106609 bytes
-rw-r--r--Bachelor/GDV2/GDV2_SS05_1_Kompression_1.pdfbin0 -> 682755 bytes
-rw-r--r--Bachelor/GDV2/GDV2_SS05_2_Kompression_2.pdfbin0 -> 1502959 bytes
-rw-r--r--Bachelor/GDV2/GDV2_SS05_3_Kompression_3.pdfbin0 -> 724077 bytes
-rw-r--r--Bachelor/GDV2/GDV2_SS05_4_GraphischeObjekte.pdfbin0 -> 351387 bytes
-rw-r--r--Bachelor/GDV2/GDV2_SS05_5_OpenGL.pdfbin0 -> 806545 bytes
-rw-r--r--Bachelor/GDV2/GDV2_SS05_6_MathematischeGrundlagen.pdfbin0 -> 193996 bytes
-rw-r--r--Bachelor/GDV2/GDV2_SS05_7_Visualisierungstechniken.pdfbin0 -> 323531 bytes
-rw-r--r--Bachelor/GDV2/GDV2_SS05_8_Visualisierungstechniken_2.pdfbin0 -> 1621642 bytes
-rw-r--r--Bachelor/GDV2/GDV2_SS05_9_GeometrischeModelle.pdfbin0 -> 705391 bytes
-rw-r--r--Bachelor/GDV2/GDV2_SS06_1_Kompression_1.pdfbin0 -> 898248 bytes
-rw-r--r--Bachelor/GDV2/GDV2_SS06_2_Kompression_2.pdfbin0 -> 1600446 bytes
-rw-r--r--Bachelor/GDV2/GDV2_SS06_3_Kompression_3.pdfbin0 -> 1874055 bytes
-rw-r--r--Bachelor/GDV2/GDV2_SS06_4_OpenGL.pdfbin0 -> 866562 bytes
-rw-r--r--Bachelor/GDV2/OpenGLEinf_hrung.docbin0 -> 100352 bytes
-rw-r--r--Bachelor/GDV2/Praktikum-Gimp/abstufungen-rot.pngbin0 -> 652 bytes
-rw-r--r--Bachelor/GDV2/Praktikum-Gimp/ausarbeitung-gdv2-1.odtbin0 -> 11128 bytes
-rw-r--r--Bachelor/GDV2/Praktikum-Gimp/ausarbeitung-gdv2-1.pdfbin0 -> 44732 bytes
-rw-r--r--Bachelor/GDV2/Praktikum-Gimp/dateien/abstufungen.pngbin0 -> 685 bytes
-rw-r--r--Bachelor/GDV2/Praktikum-Gimp/dateien/animationbin0 -> 148182 bytes
-rw-r--r--Bachelor/GDV2/Praktikum-Gimp/dateien/everglades-wi.bmpbin0 -> 187574 bytes
-rw-r--r--Bachelor/GDV2/Praktikum-Gimp/dateien/everglades.bmpbin0 -> 187574 bytes
-rw-r--r--Bachelor/GDV2/Praktikum-Gimp/dateien/everglades.wibin0 -> 17177 bytes
-rw-r--r--Bachelor/GDV2/Praktikum-Gimp/dateien/faltung_2.pngbin0 -> 491 bytes
-rw-r--r--Bachelor/GDV2/Praktikum-Gimp/dateien/faltung_3.pngbin0 -> 540 bytes
-rw-r--r--Bachelor/GDV2/Praktikum-Gimp/dateien/faltung_4.pngbin0 -> 491 bytes
-rw-r--r--Bachelor/GDV2/Praktikum-Gimp/dateien/faltung_5.pngbin0 -> 498 bytes
-rw-r--r--Bachelor/GDV2/Praktikum-Gimp/dateien/faltung_6.pngbin0 -> 504 bytes
-rw-r--r--Bachelor/GDV2/Praktikum-Gimp/dateien/faltung_7.pngbin0 -> 451 bytes
-rw-r--r--Bachelor/GDV2/Praktikum-Gimp/dateien/faltung_test.pngbin0 -> 399 bytes
-rw-r--r--Bachelor/GDV2/Praktikum-Gimp/dateien/farbtafel.pngbin0 -> 39873 bytes
-rw-r--r--Bachelor/GDV2/Praktikum-Gimp/dateien/farbtest.bmpbin0 -> 196662 bytes
-rw-r--r--Bachelor/GDV2/Praktikum-Gimp/dateien/gamma_test.pngbin0 -> 59757 bytes
-rw-r--r--Bachelor/GDV2/Praktikum-Gimp/dateien/gdv2_prakt_ss06_teil1.pdfbin0 -> 206426 bytes
-rw-r--r--Bachelor/GDV2/Praktikum-Gimp/dateien/graudiag.bmpbin0 -> 17462 bytes
-rw-r--r--Bachelor/GDV2/Praktikum-Gimp/dateien/mars.jpgbin0 -> 4834 bytes
-rw-r--r--Bachelor/GDV2/Praktikum-Gimp/dateien/raupe.jpgbin0 -> 45160 bytes
-rw-r--r--Bachelor/GDV2/Praktikum-Gimp/dateien/rectangle.xcfbin0 -> 501 bytes
-rw-r--r--Bachelor/GDV2/Praktikum-Gimp/dateien/rote_augen.PNGbin0 -> 68327 bytes
-rw-r--r--Bachelor/GDV2/Praktikum-Gimp/dateien/saturn_w.bmpbin0 -> 156478 bytes
-rw-r--r--Bachelor/GDV2/Praktikum-Gimp/dateien/schrott.jpgbin0 -> 14899 bytes
-rw-r--r--Bachelor/GDV2/Praktikum-Gimp/dateien/skalier_test.pngbin0 -> 139 bytes
-rw-r--r--Bachelor/GDV2/Praktikum-Gimp/dateien/stegano_troll.pngbin0 -> 603673 bytes
-rw-r--r--Bachelor/GDV2/Praktikum-Gimp/dateien/streifen_1.bmpbin0 -> 9270 bytes
-rw-r--r--Bachelor/GDV2/Praktikum-Gimp/dateien/streifen_2.bmpbin0 -> 9270 bytes
-rw-r--r--Bachelor/GDV2/Praktikum-Gimp/dateien/was_in_grau.pngbin0 -> 1679 bytes
-rw-r--r--Bachelor/GDV2/Praktikum-Gimp/dateien/wunschfarbe.pngbin0 -> 462 bytes
-rw-r--r--Bachelor/GDV2/Praktikum-Gimp/gdv2_praktikum_teil1.zipbin0 -> 1454066 bytes
-rw-r--r--Bachelor/GDV2/Praktikum-OpenGL/OpenGL_Kamera_turba_eisenhauer/OpenGL_Kamera_turba_eisenhauer.dsp108
-rw-r--r--Bachelor/GDV2/Praktikum-OpenGL/OpenGL_Kamera_turba_eisenhauer/OpenGL_Kamera_turba_eisenhauer.dsw29
-rw-r--r--Bachelor/GDV2/Praktikum-OpenGL/OpenGL_Kamera_turba_eisenhauer/OpenGL_Kamera_turba_eisenhauer.ncbbin0 -> 50176 bytes
-rw-r--r--Bachelor/GDV2/Praktikum-OpenGL/OpenGL_Kamera_turba_eisenhauer/OpenGL_Kamera_turba_eisenhauer.optbin0 -> 53760 bytes
-rw-r--r--Bachelor/GDV2/Praktikum-OpenGL/OpenGL_Kamera_turba_eisenhauer/OpenGL_Kamera_turba_eisenhauer.plg25
-rw-r--r--Bachelor/GDV2/Praktikum-OpenGL/OpenGL_Kamera_turba_eisenhauer/Wuerfel.cpp105
-rw-r--r--Bachelor/GDV2/Praktikum-OpenGL/OpenGL_Kamera_turba_eisenhauer/Wuerfel.h3
-rw-r--r--Bachelor/GDV2/Praktikum-OpenGL/OpenGL_Kamera_turba_eisenhauer/main.cpp53
-rw-r--r--Bachelor/GDV2/Praktikum-OpenGL/fussi/Wuerfel.cpp105
-rw-r--r--Bachelor/GDV2/Praktikum-OpenGL/fussi/Wuerfel.h3
-rw-r--r--Bachelor/GDV2/Praktikum-OpenGL/fussi/field.bmpbin0 -> 12342 bytes
-rw-r--r--Bachelor/GDV2/Praktikum-OpenGL/fussi/field.jpgbin0 -> 24462 bytes
-rw-r--r--Bachelor/GDV2/Praktikum-OpenGL/fussi/field.odgbin0 -> 8711 bytes
-rw-r--r--Bachelor/GDV2/Praktikum-OpenGL/fussi/fussi.dsp109
-rw-r--r--Bachelor/GDV2/Praktikum-OpenGL/fussi/fussi.dsw29
-rw-r--r--Bachelor/GDV2/Praktikum-OpenGL/fussi/fussi.ncbbin0 -> 58368 bytes
-rw-r--r--Bachelor/GDV2/Praktikum-OpenGL/fussi/fussi.optbin0 -> 48640 bytes
-rw-r--r--Bachelor/GDV2/Praktikum-OpenGL/fussi/fussi.plg25
-rw-r--r--Bachelor/GDV2/Praktikum-OpenGL/fussi/main.cpp511
-rw-r--r--Bachelor/GDV2/Wuerfel.cpp105
-rw-r--r--Bachelor/GDV2/Wuerfel.h3
-rw-r--r--Bachelor/GDV2/vls-gdv-kap07B.docbin0 -> 89088 bytes
-rw-r--r--Bachelor/GDV2/vls-gdv-kap08.docbin0 -> 323584 bytes
-rw-r--r--Bachelor/GDV2/vls-gdv-kap09.docbin0 -> 306688 bytes
-rw-r--r--Bachelor/GDV2/vls-gdv-kap11.docbin0 -> 1060352 bytes
-rw-r--r--Bachelor/GDV2/vls-gdv-kap12.docbin0 -> 501760 bytes
-rw-r--r--Bachelor/GDV2/vls-gdv-kap13.docbin0 -> 196096 bytes
76 files changed, 1297 insertions, 0 deletions
diff --git a/Bachelor/GDV2/EigeneAufgabe.cpp b/Bachelor/GDV2/EigeneAufgabe.cpp
new file mode 100644
index 0000000..153b573
--- /dev/null
+++ b/Bachelor/GDV2/EigeneAufgabe.cpp
@@ -0,0 +1,84 @@
+#include <iostream.h>
+#include <windows.h>
+
+#include <GL\glut.h>
+
+
+
+// globale statische Variable
+static float spin = 0;
+
+
+void Init()
+{
+ cout << "Init" << endl;
+ // Hier finden jene Aktionen statt, die zum Programmstart einmalig
+ // durchgeführt werden müssen
+
+ glEnable(GL_DEPTH_TEST);
+}
+
+void RenderScene()
+{
+ cout << "RenderScene" << endl;
+ glClearColor( 1., .6, 0., 0. );
+ glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);// Puffer loeschen
+
+ glColor4f(1.f,.0f,.0f,1.0f);
+ glLoadIdentity();
+ glRotatef ( spin, 0.0, 0.0, 1.0 );
+ glutSolidSphere( 0.7, 10, 10 ); //Normalen werden hier automatisch berechnet
+
+ //glFlush();
+ glutSwapBuffers();
+}
+
+void Reshape(int w,int h)
+{
+ // Hier finden die Reaktionen auf eine Veränderung der Größe des
+ // Graphikfensters statt
+ cout << "Reshape" << endl;
+ glViewport( 0, 0, (GLsizei) w, (GLsizei) h );
+ glMatrixMode( GL_PROJECTION );
+ glLoadIdentity();
+ glOrtho(-1., 1., -1., 1., 0., 1.);
+ glMatrixMode( GL_MODELVIEW );
+ glLoadIdentity();
+
+}
+
+void Animate ()
+{
+ // An dieser Stelle werden Berechnungen durchgeführt, die zu einer
+ // Animation der Szene erforderlich sind. Dieser Prozess läuft im Hintergrund.
+ spin = spin + 2.;
+ if( spin > 360. )
+ spin -= 360.;
+
+ // die registrierte Display-Funktion, also RenderScene, soll aufgerufen werden
+ glutPostRedisplay();
+ Sleep( 100 );
+}
+
+
+int main(int argc, char **argv)
+{
+ cout<<"Round and round"<<endl;
+ glutInit(&argc, argv);;
+ glutInitDisplayMode ( GLUT_DOUBLE |GLUT_RGB| GLUT_DEPTH );
+ //glutInitDisplayMode ( GLUT_SINGLE |GLUT_RGB | GLUT_DEPTH );
+
+ glutInitWindowSize ( 600,600 );
+
+ glutCreateWindow ("Round and round");
+ Init();
+
+ glutDisplayFunc ( RenderScene );
+ glutReshapeFunc ( Reshape );
+ glutIdleFunc ( Animate );
+
+
+ glutMainLoop ();
+ return 0;
+}
+
diff --git a/Bachelor/GDV2/EigeneAufgabeSS05.pdf b/Bachelor/GDV2/EigeneAufgabeSS05.pdf
new file mode 100644
index 0000000..c9d8da7
--- /dev/null
+++ b/Bachelor/GDV2/EigeneAufgabeSS05.pdf
Binary files differ
diff --git a/Bachelor/GDV2/GDV2_SS05_1_Kompression_1.pdf b/Bachelor/GDV2/GDV2_SS05_1_Kompression_1.pdf
new file mode 100644
index 0000000..eb45d34
--- /dev/null
+++ b/Bachelor/GDV2/GDV2_SS05_1_Kompression_1.pdf
Binary files differ
diff --git a/Bachelor/GDV2/GDV2_SS05_2_Kompression_2.pdf b/Bachelor/GDV2/GDV2_SS05_2_Kompression_2.pdf
new file mode 100644
index 0000000..d3b3a29
--- /dev/null
+++ b/Bachelor/GDV2/GDV2_SS05_2_Kompression_2.pdf
Binary files differ
diff --git a/Bachelor/GDV2/GDV2_SS05_3_Kompression_3.pdf b/Bachelor/GDV2/GDV2_SS05_3_Kompression_3.pdf
new file mode 100644
index 0000000..aeb4bf2
--- /dev/null
+++ b/Bachelor/GDV2/GDV2_SS05_3_Kompression_3.pdf
Binary files differ
diff --git a/Bachelor/GDV2/GDV2_SS05_4_GraphischeObjekte.pdf b/Bachelor/GDV2/GDV2_SS05_4_GraphischeObjekte.pdf
new file mode 100644
index 0000000..2d73692
--- /dev/null
+++ b/Bachelor/GDV2/GDV2_SS05_4_GraphischeObjekte.pdf
Binary files differ
diff --git a/Bachelor/GDV2/GDV2_SS05_5_OpenGL.pdf b/Bachelor/GDV2/GDV2_SS05_5_OpenGL.pdf
new file mode 100644
index 0000000..bba025d
--- /dev/null
+++ b/Bachelor/GDV2/GDV2_SS05_5_OpenGL.pdf
Binary files differ
diff --git a/Bachelor/GDV2/GDV2_SS05_6_MathematischeGrundlagen.pdf b/Bachelor/GDV2/GDV2_SS05_6_MathematischeGrundlagen.pdf
new file mode 100644
index 0000000..9e1e251
--- /dev/null
+++ b/Bachelor/GDV2/GDV2_SS05_6_MathematischeGrundlagen.pdf
Binary files differ
diff --git a/Bachelor/GDV2/GDV2_SS05_7_Visualisierungstechniken.pdf b/Bachelor/GDV2/GDV2_SS05_7_Visualisierungstechniken.pdf
new file mode 100644
index 0000000..509d334
--- /dev/null
+++ b/Bachelor/GDV2/GDV2_SS05_7_Visualisierungstechniken.pdf
Binary files differ
diff --git a/Bachelor/GDV2/GDV2_SS05_8_Visualisierungstechniken_2.pdf b/Bachelor/GDV2/GDV2_SS05_8_Visualisierungstechniken_2.pdf
new file mode 100644
index 0000000..f4e573c
--- /dev/null
+++ b/Bachelor/GDV2/GDV2_SS05_8_Visualisierungstechniken_2.pdf
Binary files differ
diff --git a/Bachelor/GDV2/GDV2_SS05_9_GeometrischeModelle.pdf b/Bachelor/GDV2/GDV2_SS05_9_GeometrischeModelle.pdf
new file mode 100644
index 0000000..e268084
--- /dev/null
+++ b/Bachelor/GDV2/GDV2_SS05_9_GeometrischeModelle.pdf
Binary files differ
diff --git a/Bachelor/GDV2/GDV2_SS06_1_Kompression_1.pdf b/Bachelor/GDV2/GDV2_SS06_1_Kompression_1.pdf
new file mode 100644
index 0000000..f2da997
--- /dev/null
+++ b/Bachelor/GDV2/GDV2_SS06_1_Kompression_1.pdf
Binary files differ
diff --git a/Bachelor/GDV2/GDV2_SS06_2_Kompression_2.pdf b/Bachelor/GDV2/GDV2_SS06_2_Kompression_2.pdf
new file mode 100644
index 0000000..98c0998
--- /dev/null
+++ b/Bachelor/GDV2/GDV2_SS06_2_Kompression_2.pdf
Binary files differ
diff --git a/Bachelor/GDV2/GDV2_SS06_3_Kompression_3.pdf b/Bachelor/GDV2/GDV2_SS06_3_Kompression_3.pdf
new file mode 100644
index 0000000..a49f20a
--- /dev/null
+++ b/Bachelor/GDV2/GDV2_SS06_3_Kompression_3.pdf
Binary files differ
diff --git a/Bachelor/GDV2/GDV2_SS06_4_OpenGL.pdf b/Bachelor/GDV2/GDV2_SS06_4_OpenGL.pdf
new file mode 100644
index 0000000..e3a8198
--- /dev/null
+++ b/Bachelor/GDV2/GDV2_SS06_4_OpenGL.pdf
Binary files differ
diff --git a/Bachelor/GDV2/OpenGLEinf_hrung.doc b/Bachelor/GDV2/OpenGLEinf_hrung.doc
new file mode 100644
index 0000000..22faa5c
--- /dev/null
+++ b/Bachelor/GDV2/OpenGLEinf_hrung.doc
Binary files differ
diff --git a/Bachelor/GDV2/Praktikum-Gimp/abstufungen-rot.png b/Bachelor/GDV2/Praktikum-Gimp/abstufungen-rot.png
new file mode 100644
index 0000000..b3b6132
--- /dev/null
+++ b/Bachelor/GDV2/Praktikum-Gimp/abstufungen-rot.png
Binary files differ
diff --git a/Bachelor/GDV2/Praktikum-Gimp/ausarbeitung-gdv2-1.odt b/Bachelor/GDV2/Praktikum-Gimp/ausarbeitung-gdv2-1.odt
new file mode 100644
index 0000000..f1f6a2e
--- /dev/null
+++ b/Bachelor/GDV2/Praktikum-Gimp/ausarbeitung-gdv2-1.odt
Binary files differ
diff --git a/Bachelor/GDV2/Praktikum-Gimp/ausarbeitung-gdv2-1.pdf b/Bachelor/GDV2/Praktikum-Gimp/ausarbeitung-gdv2-1.pdf
new file mode 100644
index 0000000..8a95d6f
--- /dev/null
+++ b/Bachelor/GDV2/Praktikum-Gimp/ausarbeitung-gdv2-1.pdf
Binary files differ
diff --git a/Bachelor/GDV2/Praktikum-Gimp/dateien/abstufungen.png b/Bachelor/GDV2/Praktikum-Gimp/dateien/abstufungen.png
new file mode 100644
index 0000000..f2a941a
--- /dev/null
+++ b/Bachelor/GDV2/Praktikum-Gimp/dateien/abstufungen.png
Binary files differ
diff --git a/Bachelor/GDV2/Praktikum-Gimp/dateien/animation b/Bachelor/GDV2/Praktikum-Gimp/dateien/animation
new file mode 100644
index 0000000..433e436
--- /dev/null
+++ b/Bachelor/GDV2/Praktikum-Gimp/dateien/animation
Binary files differ
diff --git a/Bachelor/GDV2/Praktikum-Gimp/dateien/everglades-wi.bmp b/Bachelor/GDV2/Praktikum-Gimp/dateien/everglades-wi.bmp
new file mode 100644
index 0000000..5351a93
--- /dev/null
+++ b/Bachelor/GDV2/Praktikum-Gimp/dateien/everglades-wi.bmp
Binary files differ
diff --git a/Bachelor/GDV2/Praktikum-Gimp/dateien/everglades.bmp b/Bachelor/GDV2/Praktikum-Gimp/dateien/everglades.bmp
new file mode 100644
index 0000000..f37e8cd
--- /dev/null
+++ b/Bachelor/GDV2/Praktikum-Gimp/dateien/everglades.bmp
Binary files differ
diff --git a/Bachelor/GDV2/Praktikum-Gimp/dateien/everglades.wi b/Bachelor/GDV2/Praktikum-Gimp/dateien/everglades.wi
new file mode 100644
index 0000000..b4e51cf
--- /dev/null
+++ b/Bachelor/GDV2/Praktikum-Gimp/dateien/everglades.wi
Binary files differ
diff --git a/Bachelor/GDV2/Praktikum-Gimp/dateien/faltung_2.png b/Bachelor/GDV2/Praktikum-Gimp/dateien/faltung_2.png
new file mode 100644
index 0000000..621a5aa
--- /dev/null
+++ b/Bachelor/GDV2/Praktikum-Gimp/dateien/faltung_2.png
Binary files differ
diff --git a/Bachelor/GDV2/Praktikum-Gimp/dateien/faltung_3.png b/Bachelor/GDV2/Praktikum-Gimp/dateien/faltung_3.png
new file mode 100644
index 0000000..55984c0
--- /dev/null
+++ b/Bachelor/GDV2/Praktikum-Gimp/dateien/faltung_3.png
Binary files differ
diff --git a/Bachelor/GDV2/Praktikum-Gimp/dateien/faltung_4.png b/Bachelor/GDV2/Praktikum-Gimp/dateien/faltung_4.png
new file mode 100644
index 0000000..af24d59
--- /dev/null
+++ b/Bachelor/GDV2/Praktikum-Gimp/dateien/faltung_4.png
Binary files differ
diff --git a/Bachelor/GDV2/Praktikum-Gimp/dateien/faltung_5.png b/Bachelor/GDV2/Praktikum-Gimp/dateien/faltung_5.png
new file mode 100644
index 0000000..dd7b635
--- /dev/null
+++ b/Bachelor/GDV2/Praktikum-Gimp/dateien/faltung_5.png
Binary files differ
diff --git a/Bachelor/GDV2/Praktikum-Gimp/dateien/faltung_6.png b/Bachelor/GDV2/Praktikum-Gimp/dateien/faltung_6.png
new file mode 100644
index 0000000..ce17a3e
--- /dev/null
+++ b/Bachelor/GDV2/Praktikum-Gimp/dateien/faltung_6.png
Binary files differ
diff --git a/Bachelor/GDV2/Praktikum-Gimp/dateien/faltung_7.png b/Bachelor/GDV2/Praktikum-Gimp/dateien/faltung_7.png
new file mode 100644
index 0000000..9da0fb5
--- /dev/null
+++ b/Bachelor/GDV2/Praktikum-Gimp/dateien/faltung_7.png
Binary files differ
diff --git a/Bachelor/GDV2/Praktikum-Gimp/dateien/faltung_test.png b/Bachelor/GDV2/Praktikum-Gimp/dateien/faltung_test.png
new file mode 100644
index 0000000..0fb15db
--- /dev/null
+++ b/Bachelor/GDV2/Praktikum-Gimp/dateien/faltung_test.png
Binary files differ
diff --git a/Bachelor/GDV2/Praktikum-Gimp/dateien/farbtafel.png b/Bachelor/GDV2/Praktikum-Gimp/dateien/farbtafel.png
new file mode 100644
index 0000000..1dee35b
--- /dev/null
+++ b/Bachelor/GDV2/Praktikum-Gimp/dateien/farbtafel.png
Binary files differ
diff --git a/Bachelor/GDV2/Praktikum-Gimp/dateien/farbtest.bmp b/Bachelor/GDV2/Praktikum-Gimp/dateien/farbtest.bmp
new file mode 100644
index 0000000..6e847da
--- /dev/null
+++ b/Bachelor/GDV2/Praktikum-Gimp/dateien/farbtest.bmp
Binary files differ
diff --git a/Bachelor/GDV2/Praktikum-Gimp/dateien/gamma_test.png b/Bachelor/GDV2/Praktikum-Gimp/dateien/gamma_test.png
new file mode 100644
index 0000000..a51b7ad
--- /dev/null
+++ b/Bachelor/GDV2/Praktikum-Gimp/dateien/gamma_test.png
Binary files differ
diff --git a/Bachelor/GDV2/Praktikum-Gimp/dateien/gdv2_prakt_ss06_teil1.pdf b/Bachelor/GDV2/Praktikum-Gimp/dateien/gdv2_prakt_ss06_teil1.pdf
new file mode 100644
index 0000000..36a62fd
--- /dev/null
+++ b/Bachelor/GDV2/Praktikum-Gimp/dateien/gdv2_prakt_ss06_teil1.pdf
Binary files differ
diff --git a/Bachelor/GDV2/Praktikum-Gimp/dateien/graudiag.bmp b/Bachelor/GDV2/Praktikum-Gimp/dateien/graudiag.bmp
new file mode 100644
index 0000000..4f5f50e
--- /dev/null
+++ b/Bachelor/GDV2/Praktikum-Gimp/dateien/graudiag.bmp
Binary files differ
diff --git a/Bachelor/GDV2/Praktikum-Gimp/dateien/mars.jpg b/Bachelor/GDV2/Praktikum-Gimp/dateien/mars.jpg
new file mode 100644
index 0000000..c484327
--- /dev/null
+++ b/Bachelor/GDV2/Praktikum-Gimp/dateien/mars.jpg
Binary files differ
diff --git a/Bachelor/GDV2/Praktikum-Gimp/dateien/raupe.jpg b/Bachelor/GDV2/Praktikum-Gimp/dateien/raupe.jpg
new file mode 100644
index 0000000..f253432
--- /dev/null
+++ b/Bachelor/GDV2/Praktikum-Gimp/dateien/raupe.jpg
Binary files differ
diff --git a/Bachelor/GDV2/Praktikum-Gimp/dateien/rectangle.xcf b/Bachelor/GDV2/Praktikum-Gimp/dateien/rectangle.xcf
new file mode 100644
index 0000000..90ff875
--- /dev/null
+++ b/Bachelor/GDV2/Praktikum-Gimp/dateien/rectangle.xcf
Binary files differ
diff --git a/Bachelor/GDV2/Praktikum-Gimp/dateien/rote_augen.PNG b/Bachelor/GDV2/Praktikum-Gimp/dateien/rote_augen.PNG
new file mode 100644
index 0000000..31b9a65
--- /dev/null
+++ b/Bachelor/GDV2/Praktikum-Gimp/dateien/rote_augen.PNG
Binary files differ
diff --git a/Bachelor/GDV2/Praktikum-Gimp/dateien/saturn_w.bmp b/Bachelor/GDV2/Praktikum-Gimp/dateien/saturn_w.bmp
new file mode 100644
index 0000000..ffa275a
--- /dev/null
+++ b/Bachelor/GDV2/Praktikum-Gimp/dateien/saturn_w.bmp
Binary files differ
diff --git a/Bachelor/GDV2/Praktikum-Gimp/dateien/schrott.jpg b/Bachelor/GDV2/Praktikum-Gimp/dateien/schrott.jpg
new file mode 100644
index 0000000..2c8ef02
--- /dev/null
+++ b/Bachelor/GDV2/Praktikum-Gimp/dateien/schrott.jpg
Binary files differ
diff --git a/Bachelor/GDV2/Praktikum-Gimp/dateien/skalier_test.png b/Bachelor/GDV2/Praktikum-Gimp/dateien/skalier_test.png
new file mode 100644
index 0000000..118ab63
--- /dev/null
+++ b/Bachelor/GDV2/Praktikum-Gimp/dateien/skalier_test.png
Binary files differ
diff --git a/Bachelor/GDV2/Praktikum-Gimp/dateien/stegano_troll.png b/Bachelor/GDV2/Praktikum-Gimp/dateien/stegano_troll.png
new file mode 100644
index 0000000..1b4f4f8
--- /dev/null
+++ b/Bachelor/GDV2/Praktikum-Gimp/dateien/stegano_troll.png
Binary files differ
diff --git a/Bachelor/GDV2/Praktikum-Gimp/dateien/streifen_1.bmp b/Bachelor/GDV2/Praktikum-Gimp/dateien/streifen_1.bmp
new file mode 100644
index 0000000..370576f
--- /dev/null
+++ b/Bachelor/GDV2/Praktikum-Gimp/dateien/streifen_1.bmp
Binary files differ
diff --git a/Bachelor/GDV2/Praktikum-Gimp/dateien/streifen_2.bmp b/Bachelor/GDV2/Praktikum-Gimp/dateien/streifen_2.bmp
new file mode 100644
index 0000000..3960cf5
--- /dev/null
+++ b/Bachelor/GDV2/Praktikum-Gimp/dateien/streifen_2.bmp
Binary files differ
diff --git a/Bachelor/GDV2/Praktikum-Gimp/dateien/was_in_grau.png b/Bachelor/GDV2/Praktikum-Gimp/dateien/was_in_grau.png
new file mode 100644
index 0000000..c8ae174
--- /dev/null
+++ b/Bachelor/GDV2/Praktikum-Gimp/dateien/was_in_grau.png
Binary files differ
diff --git a/Bachelor/GDV2/Praktikum-Gimp/dateien/wunschfarbe.png b/Bachelor/GDV2/Praktikum-Gimp/dateien/wunschfarbe.png
new file mode 100644
index 0000000..8d1ea39
--- /dev/null
+++ b/Bachelor/GDV2/Praktikum-Gimp/dateien/wunschfarbe.png
Binary files differ
diff --git a/Bachelor/GDV2/Praktikum-Gimp/gdv2_praktikum_teil1.zip b/Bachelor/GDV2/Praktikum-Gimp/gdv2_praktikum_teil1.zip
new file mode 100644
index 0000000..f1b7136
--- /dev/null
+++ b/Bachelor/GDV2/Praktikum-Gimp/gdv2_praktikum_teil1.zip
Binary files differ
diff --git a/Bachelor/GDV2/Praktikum-OpenGL/OpenGL_Kamera_turba_eisenhauer/OpenGL_Kamera_turba_eisenhauer.dsp b/Bachelor/GDV2/Praktikum-OpenGL/OpenGL_Kamera_turba_eisenhauer/OpenGL_Kamera_turba_eisenhauer.dsp
new file mode 100644
index 0000000..fe6697a
--- /dev/null
+++ b/Bachelor/GDV2/Praktikum-OpenGL/OpenGL_Kamera_turba_eisenhauer/OpenGL_Kamera_turba_eisenhauer.dsp
@@ -0,0 +1,108 @@
+# Microsoft Developer Studio Project File - Name="OpenGL_Kamera_turba_eisenhauer" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=OpenGL_Kamera_turba_eisenhauer - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "OpenGL_Kamera_turba_eisenhauer.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "OpenGL_Kamera_turba_eisenhauer.mak" CFG="OpenGL_Kamera_turba_eisenhauer - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "OpenGL_Kamera_turba_eisenhauer - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "OpenGL_Kamera_turba_eisenhauer - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "OpenGL_Kamera_turba_eisenhauer - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD BASE RSC /l 0x407 /d "NDEBUG"
+# ADD RSC /l 0x407 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+
+!ELSEIF "$(CFG)" == "OpenGL_Kamera_turba_eisenhauer - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD BASE RSC /l 0x407 /d "_DEBUG"
+# ADD RSC /l 0x407 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+
+!ENDIF
+
+# Begin Target
+
+# Name "OpenGL_Kamera_turba_eisenhauer - Win32 Release"
+# Name "OpenGL_Kamera_turba_eisenhauer - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\main.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Wuerfel.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=.\Wuerfel.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# End Target
+# End Project
diff --git a/Bachelor/GDV2/Praktikum-OpenGL/OpenGL_Kamera_turba_eisenhauer/OpenGL_Kamera_turba_eisenhauer.dsw b/Bachelor/GDV2/Praktikum-OpenGL/OpenGL_Kamera_turba_eisenhauer/OpenGL_Kamera_turba_eisenhauer.dsw
new file mode 100644
index 0000000..a6b24ba
--- /dev/null
+++ b/Bachelor/GDV2/Praktikum-OpenGL/OpenGL_Kamera_turba_eisenhauer/OpenGL_Kamera_turba_eisenhauer.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "OpenGL_Kamera_turba_eisenhauer"=.\OpenGL_Kamera_turba_eisenhauer.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/Bachelor/GDV2/Praktikum-OpenGL/OpenGL_Kamera_turba_eisenhauer/OpenGL_Kamera_turba_eisenhauer.ncb b/Bachelor/GDV2/Praktikum-OpenGL/OpenGL_Kamera_turba_eisenhauer/OpenGL_Kamera_turba_eisenhauer.ncb
new file mode 100644
index 0000000..720b46f
--- /dev/null
+++ b/Bachelor/GDV2/Praktikum-OpenGL/OpenGL_Kamera_turba_eisenhauer/OpenGL_Kamera_turba_eisenhauer.ncb
Binary files differ
diff --git a/Bachelor/GDV2/Praktikum-OpenGL/OpenGL_Kamera_turba_eisenhauer/OpenGL_Kamera_turba_eisenhauer.opt b/Bachelor/GDV2/Praktikum-OpenGL/OpenGL_Kamera_turba_eisenhauer/OpenGL_Kamera_turba_eisenhauer.opt
new file mode 100644
index 0000000..d4e477c
--- /dev/null
+++ b/Bachelor/GDV2/Praktikum-OpenGL/OpenGL_Kamera_turba_eisenhauer/OpenGL_Kamera_turba_eisenhauer.opt
Binary files differ
diff --git a/Bachelor/GDV2/Praktikum-OpenGL/OpenGL_Kamera_turba_eisenhauer/OpenGL_Kamera_turba_eisenhauer.plg b/Bachelor/GDV2/Praktikum-OpenGL/OpenGL_Kamera_turba_eisenhauer/OpenGL_Kamera_turba_eisenhauer.plg
new file mode 100644
index 0000000..45c6c57
--- /dev/null
+++ b/Bachelor/GDV2/Praktikum-OpenGL/OpenGL_Kamera_turba_eisenhauer/OpenGL_Kamera_turba_eisenhauer.plg
@@ -0,0 +1,25 @@
+<html>
+<body>
+<pre>
+<h1>Erstellungsprotokoll</h1>
+<h3>
+--------------------Konfiguration: OpenGL_Kamera_turba_eisenhauer - Win32 Debug--------------------
+</h3>
+<h3>Befehlszeilen</h3>
+Erstellen der temporären Datei "C:\DOKUME~1\SVEN~1.HOM\LOKALE~1\Temp\RSP1F1.tmp" mit Inhalten
+[
+kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /incremental:yes /pdb:"Debug/OpenGL_Kamera_turba_eisenhauer.pdb" /debug /machine:I386 /out:"Debug/OpenGL_Kamera_turba_eisenhauer.exe" /pdbtype:sept
+".\Debug\main.obj"
+".\Debug\Wuerfel.obj"
+]
+Erstellen der Befehlzeile "link.exe @C:\DOKUME~1\SVEN~1.HOM\LOKALE~1\Temp\RSP1F1.tmp"
+<h3>Ausgabefenster</h3>
+Linker-Vorgang läuft...
+
+
+
+<h3>Ergebnisse</h3>
+OpenGL_Kamera_turba_eisenhauer.exe - 0 Fehler, 0 Warnung(en)
+</pre>
+</body>
+</html>
diff --git a/Bachelor/GDV2/Praktikum-OpenGL/OpenGL_Kamera_turba_eisenhauer/Wuerfel.cpp b/Bachelor/GDV2/Praktikum-OpenGL/OpenGL_Kamera_turba_eisenhauer/Wuerfel.cpp
new file mode 100644
index 0000000..c5703d2
--- /dev/null
+++ b/Bachelor/GDV2/Praktikum-OpenGL/OpenGL_Kamera_turba_eisenhauer/Wuerfel.cpp
@@ -0,0 +1,105 @@
+#include <windows.h>
+#include <gl\gl.h>
+#include "Wuerfel.h"
+
+
+void Wuerfel(GLfloat fSeitenL)
+{
+ glBegin(GL_POLYGON);//Vorderseite
+ glColor4f(1.,0.,0.,1.); //ROT
+ glVertex3f(-fSeitenL, -fSeitenL, +fSeitenL);
+ glColor4f(1.0, 1.0, 0.0 ,1.0f); //GELB
+ glVertex3f(+fSeitenL, -fSeitenL, +fSeitenL);
+ glColor4f(1.0f,1.0f,1.0f,1.0f); //WEISS
+ glVertex3f(+fSeitenL, +fSeitenL, +fSeitenL);
+ glColor4f(1.0f,0.0f,1.0f,1.0f); //MAGENTA
+ glVertex3f(-fSeitenL, +fSeitenL, +fSeitenL);
+ glEnd();
+
+#ifdef SCHRITTWEITE
+ glFlush();
+ Sleep(2000);
+#endif
+
+ glBegin(GL_POLYGON);//Rueckseite
+ glColor4f(0., 1., 1., 1.); //CYAN
+ glVertex3f(+fSeitenL, +fSeitenL, -fSeitenL);
+ glColor4f(0., 1., 0., 1.); //GRUEN
+ glVertex3f(+fSeitenL, -fSeitenL, -fSeitenL);
+ glColor4f(0., 0., 0., 1.); //SCHWARZ
+ glVertex3f(-fSeitenL, -fSeitenL, -fSeitenL);
+ glColor4f(0., 0., 1., 1.); //BLAU
+ glVertex3f(-fSeitenL, +fSeitenL, -fSeitenL);
+ glEnd();
+
+#ifdef SCHRITTWEITE
+ glFlush();
+ Sleep(2000);
+#endif
+
+ glBegin(GL_POLYGON);//Rechte Seite
+ glColor4f(1., 1., 0., 1.); //GELB
+ glVertex3f(+fSeitenL, -fSeitenL, +fSeitenL);
+ glColor4f(0., 1., 0., 1.); //GRUEN
+ glVertex3f(+fSeitenL, -fSeitenL, -fSeitenL);
+ glColor4f(0., 1., 1., 1.); //CYAN
+ glVertex3f(+fSeitenL, +fSeitenL, -fSeitenL);
+ glColor4f(1., 1., 1., 1.); //WEISS
+ glVertex3f(+fSeitenL, +fSeitenL, +fSeitenL);
+ glEnd();
+
+#ifdef SCHRITTWEITE
+ glFlush();
+ Sleep(2000);
+#endif
+
+ glBegin(GL_POLYGON);//Linke Seite
+ glColor4f(0., 0., 1., 1.); //BLAU
+ glVertex3f(-fSeitenL, +fSeitenL, -fSeitenL);
+ glColor4f(0., 0., 0., 1.); //SCHWARZ
+ glVertex3f(-fSeitenL, -fSeitenL, -fSeitenL);
+ glColor4f(1., 0., 0., 1.); //ROT
+ glVertex3f(-fSeitenL, -fSeitenL, +fSeitenL);
+ glColor4f(1., 0., 1., 1.); //MAGENTA
+ glVertex3f(-fSeitenL, +fSeitenL, +fSeitenL);
+ glEnd();
+
+#ifdef SCHRITTWEITE
+ glFlush();
+ Sleep(2000);
+#endif
+
+ glBegin(GL_POLYGON);//Bodenflaeche
+ glColor4f(0., 0., 0., 1.); //SCHWARZ
+ glVertex3f(-fSeitenL, -fSeitenL, -fSeitenL);
+ glColor4f(0., 1., 0., 1.); //GRUEN
+ glVertex3f(+fSeitenL, -fSeitenL, -fSeitenL);
+ glColor4f(1., 1.,0., 1.); //GELB
+ glVertex3f(+fSeitenL, -fSeitenL, +fSeitenL);
+ glColor4f(1., 0., 0., 1.); //ROT
+ glVertex3f(-fSeitenL, -fSeitenL, +fSeitenL);
+ glEnd();
+
+#ifdef SCHRITTWEITE
+ glFlush();
+ Sleep(2000);
+#endif
+
+ glBegin(GL_POLYGON);//Deckflaeche
+ glColor4f(1.f, 0.f, 1.f, 1.f); //MAGENTA
+ glVertex3f(-fSeitenL, +fSeitenL, +fSeitenL);
+ glColor4f(1.f, 1.f, 1.f, 1.f); //WEISS
+ glVertex3f(+fSeitenL, +fSeitenL, +fSeitenL);
+ glColor4f(0.f, 1.f, 1.f, 1.f); //CYAN
+ glVertex3f(+fSeitenL, +fSeitenL, -fSeitenL);
+ glColor4f(0.f, 0.f, 1.f, 1.f); //BLAU
+ glVertex3f(-fSeitenL, +fSeitenL, -fSeitenL);
+ glEnd();
+
+#ifdef SCHRITTWEITE
+ glFlush();
+ Sleep(2000);
+#endif
+
+ return;
+} \ No newline at end of file
diff --git a/Bachelor/GDV2/Praktikum-OpenGL/OpenGL_Kamera_turba_eisenhauer/Wuerfel.h b/Bachelor/GDV2/Praktikum-OpenGL/OpenGL_Kamera_turba_eisenhauer/Wuerfel.h
new file mode 100644
index 0000000..371c1a8
--- /dev/null
+++ b/Bachelor/GDV2/Praktikum-OpenGL/OpenGL_Kamera_turba_eisenhauer/Wuerfel.h
@@ -0,0 +1,3 @@
+//#define SCHRITTWEITE
+
+void Wuerfel( GLfloat fSeitenL );
diff --git a/Bachelor/GDV2/Praktikum-OpenGL/OpenGL_Kamera_turba_eisenhauer/main.cpp b/Bachelor/GDV2/Praktikum-OpenGL/OpenGL_Kamera_turba_eisenhauer/main.cpp
new file mode 100644
index 0000000..b510d5e
--- /dev/null
+++ b/Bachelor/GDV2/Praktikum-OpenGL/OpenGL_Kamera_turba_eisenhauer/main.cpp
@@ -0,0 +1,53 @@
+#include <GL/glut.h> //GLUT .h-Datei, lädt auch GL .h-Dateien
+#include "Wuerfel.h"
+#include <windows.h>
+#include <cmath>
+#include <iostream>
+
+float fRotY=0;
+
+void Compute(void)
+{
+ fRotY+=20;
+ glutPostRedisplay();
+ Sleep(500);
+}
+
+void RenderScene(void)
+{
+ glClearColor(1.f, .5f, 0.f, 1.f);
+ glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
+ //glMatrixMode(GL_PROJECTION);
+ glLoadIdentity();
+ glOrtho( -2., 2., -2., 2., -2., 2.);
+ //glTranslatef(x , 0., -1.);
+ glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
+ //glMatrixMode(GL_MODELVIEW);
+ //glLoadIdentity();
+ gluLookAt(0., 0., 1.,
+ 0., 0., 0.,
+ 0, 1, 0.);
+ //glRotatef(fRotY, 0., 1., 0.);
+ glRotatef(-45,0.f,0.f,1.f);
+ glPushMatrix();
+ glScalef(2.f,0.7f,0.7f);
+ Wuerfel(0.4);
+ glPopMatrix();
+ glScalef(1.5f,0.3f,0.3f);
+ glTranslatef(0.8f,0.f,0.f);
+ Wuerfel(0.4);
+ //glFlush();
+ glutSwapBuffers();
+}
+int main(int argc, char **argv)
+{
+ glutInit( &argc, argv );
+ glutInitDisplayMode( GLUT_DOUBLE|
+ GLUT_RGB|GLUT_DEPTH );
+ glutCreateWindow("OpenGL Kamera");
+ glutDisplayFunc( RenderScene );
+ //glutIdleFunc(Compute);
+ glEnable(GL_DEPTH_TEST);
+ glutMainLoop();
+return 0;
+} \ No newline at end of file
diff --git a/Bachelor/GDV2/Praktikum-OpenGL/fussi/Wuerfel.cpp b/Bachelor/GDV2/Praktikum-OpenGL/fussi/Wuerfel.cpp
new file mode 100644
index 0000000..c5703d2
--- /dev/null
+++ b/Bachelor/GDV2/Praktikum-OpenGL/fussi/Wuerfel.cpp
@@ -0,0 +1,105 @@
+#include <windows.h>
+#include <gl\gl.h>
+#include "Wuerfel.h"
+
+
+void Wuerfel(GLfloat fSeitenL)
+{
+ glBegin(GL_POLYGON);//Vorderseite
+ glColor4f(1.,0.,0.,1.); //ROT
+ glVertex3f(-fSeitenL, -fSeitenL, +fSeitenL);
+ glColor4f(1.0, 1.0, 0.0 ,1.0f); //GELB
+ glVertex3f(+fSeitenL, -fSeitenL, +fSeitenL);
+ glColor4f(1.0f,1.0f,1.0f,1.0f); //WEISS
+ glVertex3f(+fSeitenL, +fSeitenL, +fSeitenL);
+ glColor4f(1.0f,0.0f,1.0f,1.0f); //MAGENTA
+ glVertex3f(-fSeitenL, +fSeitenL, +fSeitenL);
+ glEnd();
+
+#ifdef SCHRITTWEITE
+ glFlush();
+ Sleep(2000);
+#endif
+
+ glBegin(GL_POLYGON);//Rueckseite
+ glColor4f(0., 1., 1., 1.); //CYAN
+ glVertex3f(+fSeitenL, +fSeitenL, -fSeitenL);
+ glColor4f(0., 1., 0., 1.); //GRUEN
+ glVertex3f(+fSeitenL, -fSeitenL, -fSeitenL);
+ glColor4f(0., 0., 0., 1.); //SCHWARZ
+ glVertex3f(-fSeitenL, -fSeitenL, -fSeitenL);
+ glColor4f(0., 0., 1., 1.); //BLAU
+ glVertex3f(-fSeitenL, +fSeitenL, -fSeitenL);
+ glEnd();
+
+#ifdef SCHRITTWEITE
+ glFlush();
+ Sleep(2000);
+#endif
+
+ glBegin(GL_POLYGON);//Rechte Seite
+ glColor4f(1., 1., 0., 1.); //GELB
+ glVertex3f(+fSeitenL, -fSeitenL, +fSeitenL);
+ glColor4f(0., 1., 0., 1.); //GRUEN
+ glVertex3f(+fSeitenL, -fSeitenL, -fSeitenL);
+ glColor4f(0., 1., 1., 1.); //CYAN
+ glVertex3f(+fSeitenL, +fSeitenL, -fSeitenL);
+ glColor4f(1., 1., 1., 1.); //WEISS
+ glVertex3f(+fSeitenL, +fSeitenL, +fSeitenL);
+ glEnd();
+
+#ifdef SCHRITTWEITE
+ glFlush();
+ Sleep(2000);
+#endif
+
+ glBegin(GL_POLYGON);//Linke Seite
+ glColor4f(0., 0., 1., 1.); //BLAU
+ glVertex3f(-fSeitenL, +fSeitenL, -fSeitenL);
+ glColor4f(0., 0., 0., 1.); //SCHWARZ
+ glVertex3f(-fSeitenL, -fSeitenL, -fSeitenL);
+ glColor4f(1., 0., 0., 1.); //ROT
+ glVertex3f(-fSeitenL, -fSeitenL, +fSeitenL);
+ glColor4f(1., 0., 1., 1.); //MAGENTA
+ glVertex3f(-fSeitenL, +fSeitenL, +fSeitenL);
+ glEnd();
+
+#ifdef SCHRITTWEITE
+ glFlush();
+ Sleep(2000);
+#endif
+
+ glBegin(GL_POLYGON);//Bodenflaeche
+ glColor4f(0., 0., 0., 1.); //SCHWARZ
+ glVertex3f(-fSeitenL, -fSeitenL, -fSeitenL);
+ glColor4f(0., 1., 0., 1.); //GRUEN
+ glVertex3f(+fSeitenL, -fSeitenL, -fSeitenL);
+ glColor4f(1., 1.,0., 1.); //GELB
+ glVertex3f(+fSeitenL, -fSeitenL, +fSeitenL);
+ glColor4f(1., 0., 0., 1.); //ROT
+ glVertex3f(-fSeitenL, -fSeitenL, +fSeitenL);
+ glEnd();
+
+#ifdef SCHRITTWEITE
+ glFlush();
+ Sleep(2000);
+#endif
+
+ glBegin(GL_POLYGON);//Deckflaeche
+ glColor4f(1.f, 0.f, 1.f, 1.f); //MAGENTA
+ glVertex3f(-fSeitenL, +fSeitenL, +fSeitenL);
+ glColor4f(1.f, 1.f, 1.f, 1.f); //WEISS
+ glVertex3f(+fSeitenL, +fSeitenL, +fSeitenL);
+ glColor4f(0.f, 1.f, 1.f, 1.f); //CYAN
+ glVertex3f(+fSeitenL, +fSeitenL, -fSeitenL);
+ glColor4f(0.f, 0.f, 1.f, 1.f); //BLAU
+ glVertex3f(-fSeitenL, +fSeitenL, -fSeitenL);
+ glEnd();
+
+#ifdef SCHRITTWEITE
+ glFlush();
+ Sleep(2000);
+#endif
+
+ return;
+} \ No newline at end of file
diff --git a/Bachelor/GDV2/Praktikum-OpenGL/fussi/Wuerfel.h b/Bachelor/GDV2/Praktikum-OpenGL/fussi/Wuerfel.h
new file mode 100644
index 0000000..371c1a8
--- /dev/null
+++ b/Bachelor/GDV2/Praktikum-OpenGL/fussi/Wuerfel.h
@@ -0,0 +1,3 @@
+//#define SCHRITTWEITE
+
+void Wuerfel( GLfloat fSeitenL );
diff --git a/Bachelor/GDV2/Praktikum-OpenGL/fussi/field.bmp b/Bachelor/GDV2/Praktikum-OpenGL/fussi/field.bmp
new file mode 100644
index 0000000..9661182
--- /dev/null
+++ b/Bachelor/GDV2/Praktikum-OpenGL/fussi/field.bmp
Binary files differ
diff --git a/Bachelor/GDV2/Praktikum-OpenGL/fussi/field.jpg b/Bachelor/GDV2/Praktikum-OpenGL/fussi/field.jpg
new file mode 100644
index 0000000..2a49384
--- /dev/null
+++ b/Bachelor/GDV2/Praktikum-OpenGL/fussi/field.jpg
Binary files differ
diff --git a/Bachelor/GDV2/Praktikum-OpenGL/fussi/field.odg b/Bachelor/GDV2/Praktikum-OpenGL/fussi/field.odg
new file mode 100644
index 0000000..b969afe
--- /dev/null
+++ b/Bachelor/GDV2/Praktikum-OpenGL/fussi/field.odg
Binary files differ
diff --git a/Bachelor/GDV2/Praktikum-OpenGL/fussi/fussi.dsp b/Bachelor/GDV2/Praktikum-OpenGL/fussi/fussi.dsp
new file mode 100644
index 0000000..3016077
--- /dev/null
+++ b/Bachelor/GDV2/Praktikum-OpenGL/fussi/fussi.dsp
@@ -0,0 +1,109 @@
+# Microsoft Developer Studio Project File - Name="fussi" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=fussi - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "fussi.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "fussi.mak" CFG="fussi - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "fussi - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "fussi - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "fussi - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD BASE RSC /l 0x407 /d "NDEBUG"
+# ADD RSC /l 0x407 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+
+!ELSEIF "$(CFG)" == "fussi - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD BASE RSC /l 0x407 /d "_DEBUG"
+# ADD RSC /l 0x407 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib glaux.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+
+!ENDIF
+
+# Begin Target
+
+# Name "fussi - Win32 Release"
+# Name "fussi - Win32 Debug"
+# Begin Group "Quellcodedateien"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\main.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Wuerfel.cpp
+# End Source File
+# End Group
+# Begin Group "Header-Dateien"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=.\Wuerfel.h
+# End Source File
+# End Group
+# Begin Group "Ressourcendateien"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# End Target
+# End Project
diff --git a/Bachelor/GDV2/Praktikum-OpenGL/fussi/fussi.dsw b/Bachelor/GDV2/Praktikum-OpenGL/fussi/fussi.dsw
new file mode 100644
index 0000000..d2bd323
--- /dev/null
+++ b/Bachelor/GDV2/Praktikum-OpenGL/fussi/fussi.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNUNG: DIESE ARBEITSBEREICHSDATEI DARF NICHT BEARBEITET ODER GELÖSCHT WERDEN!
+
+###############################################################################
+
+Project: "fussi"=.\fussi.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/Bachelor/GDV2/Praktikum-OpenGL/fussi/fussi.ncb b/Bachelor/GDV2/Praktikum-OpenGL/fussi/fussi.ncb
new file mode 100644
index 0000000..bad8f2c
--- /dev/null
+++ b/Bachelor/GDV2/Praktikum-OpenGL/fussi/fussi.ncb
Binary files differ
diff --git a/Bachelor/GDV2/Praktikum-OpenGL/fussi/fussi.opt b/Bachelor/GDV2/Praktikum-OpenGL/fussi/fussi.opt
new file mode 100644
index 0000000..1e56c71
--- /dev/null
+++ b/Bachelor/GDV2/Praktikum-OpenGL/fussi/fussi.opt
Binary files differ
diff --git a/Bachelor/GDV2/Praktikum-OpenGL/fussi/fussi.plg b/Bachelor/GDV2/Praktikum-OpenGL/fussi/fussi.plg
new file mode 100644
index 0000000..fc1d4ac
--- /dev/null
+++ b/Bachelor/GDV2/Praktikum-OpenGL/fussi/fussi.plg
@@ -0,0 +1,25 @@
+<html>
+<body>
+<pre>
+<h1>Build Log</h1>
+<h3>
+--------------------Configuration: fussi - Win32 Debug--------------------
+</h3>
+<h3>Command Lines</h3>
+Creating temporary file "C:\DOCUME~1\gast\LOCALS~1\Temp\RSP69.tmp" with contents
+[
+kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib glaux.lib /nologo /subsystem:console /incremental:yes /pdb:"Debug/fussi.pdb" /debug /machine:I386 /out:"Debug/fussi.exe" /pdbtype:sept
+.\Debug\main.obj
+.\Debug\Wuerfel.obj
+]
+Creating command line "link.exe @C:\DOCUME~1\gast\LOCALS~1\Temp\RSP69.tmp"
+<h3>Output Window</h3>
+Linking...
+
+
+
+<h3>Results</h3>
+fussi.exe - 0 error(s), 0 warning(s)
+</pre>
+</body>
+</html>
diff --git a/Bachelor/GDV2/Praktikum-OpenGL/fussi/main.cpp b/Bachelor/GDV2/Praktikum-OpenGL/fussi/main.cpp
new file mode 100644
index 0000000..35ffc81
--- /dev/null
+++ b/Bachelor/GDV2/Praktikum-OpenGL/fussi/main.cpp
@@ -0,0 +1,511 @@
+#include <GL/glut.h>
+#include <GL/gl.h>
+#include <GL/glu.h>
+#include <GL/glaux.h>
+#include <iostream>
+#include "Wuerfel.h"
+
+#define ball_radius 0.22
+#define goal_width 7.32
+#define goal_height 2.44
+
+GLfloat green[]={0.0,1.0,0.0,1.0};
+GLfloat white[]={1.0,1.0,1.0,1.0};
+
+GLfloat mat_ball[]={1.0,1.0,1.0,1.0};
+GLfloat mat_lines[]={1.0,1.0,1.0,1.0};
+GLfloat mat_goal[]={1.0,1.0,1.0,1.0};
+GLfloat mat_board[]={1.0,0.0,0.0,1.0};
+GLfloat mat_field[]={0.0,1.0,0.0,1.0};
+
+GLfloat light0_pos[]={1.0,30.0,25.0,1.0};
+GLfloat light1_pos[]={1.0,30.0,50.0,1.0};
+GLfloat light_col[]={1.0,1.0,1.0,1.0};
+
+GLfloat field_topleft[]={-39.5, 0.0, 52.f};
+GLfloat field_topright[]={39.5, 0.0, 52.f};
+GLfloat field_bottomleft[]={-39.5, 0.0, -52.f};
+GLfloat field_bottomright[]={39.5, 0.0, -52.f};
+
+GLfloat board_topleft[]={-1.0, 1.0, 0.5};
+GLfloat board_topright[]={1.0, 1.0, 0.5};
+GLfloat board_bottomleft[]={-1.0, 0.0, 0.0};
+GLfloat board_bottomright[]={1.0, 0.0, 0.0};
+
+GLfloat ball_x = 3.9;
+GLfloat ball_y = ball_radius;
+GLfloat ball_z = 19.9;
+GLfloat t = 37.5;
+
+GLfloat pl1 = -30;
+GLfloat pl2 = 0;
+GLfloat pl3 = 0;
+
+GLfloat cam_x = 30.;
+GLfloat cam_y = 5.;
+GLfloat cam_z = 25.;
+
+GLuint texture_id[1];
+
+int dir = 0;
+int z=0;
+
+int LoadGLTextures();
+
+void animate_player1(int);
+void animate_player2(int);
+void animate_player3(int);
+void do_nothing(int n);
+
+
+// wrapper function for vector form
+void glTranslatefv(GLfloat *);
+
+void glTranslatefv(GLfloat *p)
+{
+ glTranslatef(p[0],p[1],p[2]);
+}
+
+//void animate_ball2(int n);
+//void animate_ball3(int n);
+
+void init(void)
+{
+ LoadGLTextures(); // Jump To Texture Loading Routine ( NEW )
+ glEnable(GL_LINE_SMOOTH);
+ glEnable(GL_DEPTH_TEST);
+ glEnable(GL_LIGHTING);
+ glEnable (GL_LIGHT0);
+ glLightfv( GL_LIGHT0, GL_POSITION, light0_pos );
+ glLightfv( GL_LIGHT0, GL_DIFFUSE, light_col );
+ glEnable (GL_LIGHT1);
+ glLightfv( GL_LIGHT1, GL_POSITION, light1_pos );
+ glLightfv( GL_LIGHT1, GL_DIFFUSE, light_col );
+ glDepthFunc(GL_LEQUAL); // The Type Of Depth Testing To Do
+ glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST); // Really Nice Perspective Calculations
+}
+
+AUX_RGBImageRec *LoadBMP(char *Filename) // Loads A Bitmap Image
+{
+ FILE *File=NULL; // File Handle
+
+ if (!Filename) // Make Sure A Filename Was Given
+ {
+ return NULL; // If Not Return NULL
+ }
+
+ File=fopen(Filename,"r"); // Check To See If The File Exists
+
+ if (File) // Does The File Exist?
+ {
+ fclose(File); // Close The Handle
+ return auxDIBImageLoad(Filename); // Load The Bitmap And Return A Pointer
+ }
+
+ return NULL; // If Load Failed Return NULL
+}
+
+int LoadGLTextures() // Load Bitmaps And Convert To Textures
+{
+ int Status=FALSE; // Status Indicator
+
+ AUX_RGBImageRec *TextureImage[1]; // Create Storage Space For The Texture
+
+ memset(TextureImage,0,sizeof(void *)*1); // Set The Pointer To NULL
+
+ // Load The Bitmap, Check For Errors, If Bitmap's Not Found Quit
+ if (TextureImage[0]=LoadBMP("field.bmp"))
+ {
+ Status=TRUE; // Set The Status To TRUE
+
+ glGenTextures(1, &texture_id[0]); // Create The Texture
+
+ // Typical Texture Generation Using Data From The Bitmap
+ glBindTexture(GL_TEXTURE_2D, texture_id[0]);
+ glTexImage2D(GL_TEXTURE_2D, 0, 3, TextureImage[0]->sizeX, TextureImage[0]->sizeY, 0, GL_RGB, GL_UNSIGNED_BYTE, TextureImage[0]->data);
+ glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
+ glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
+ }
+
+ if (TextureImage[0]) // If Texture Exists
+ {
+ if (TextureImage[0]->data) // If Texture Image Exists
+ {
+ free(TextureImage[0]->data); // Free The Texture Image Memory
+ }
+
+ free(TextureImage[0]); // Free The Image Structure
+ }
+
+ return Status; // Return The Status
+}
+
+void field(void)
+{
+ glEnable(GL_TEXTURE_2D); // Enable Texture Mapping ( NEW )
+ glLoadIdentity();
+ glPushMatrix();
+ glBindTexture ( GL_TEXTURE_2D, texture_id[0] );
+ //glMaterialfv( GL_FRONT, GL_DIFFUSE, mat_field );
+ glBegin(GL_POLYGON);
+ //glColor4fv(green);
+ glTexCoord2f(0.0f, 0.0f); glVertex3fv(field_topleft);
+ glTexCoord2f(1.0f, 0.0f); glVertex3fv(field_topright);
+ glTexCoord2f(1.0f, 1.0f); glVertex3fv(field_bottomright);
+ glTexCoord2f(0.0f, 1.0f); glVertex3fv(field_bottomleft);
+ glEnd();
+ glPopMatrix();
+ glDisable(GL_TEXTURE_2D);
+}
+
+void boards()
+{
+ glLoadIdentity();
+ glMaterialfv( GL_FRONT, GL_DIFFUSE, mat_board );
+ glPushMatrix();
+ glTranslatef(0.0,0.0,52.0);
+ glScalef(39.5,1.0,1.0);
+ glBegin(GL_POLYGON);
+ glVertex3fv(board_topleft);
+ glVertex3fv(board_topright);
+ glVertex3fv(board_bottomright);
+ glVertex3fv(board_bottomleft);
+ glEnd();
+ glPopMatrix();
+
+ glPushMatrix();
+ glTranslatef(-39.5, 0.0 ,0.0);
+ glRotatef(-90, 0.0, 1.0, 0.0);
+ glScalef(52.0, 1.0, 1.0);
+ glBegin(GL_POLYGON);
+ glVertex3fv(board_topleft);
+ glVertex3fv(board_topright);
+ glVertex3fv(board_bottomright);
+ glVertex3fv(board_bottomleft);
+ glEnd();
+ glPopMatrix();
+
+ glPushMatrix();
+ glTranslatef(39.5, 0.0, 0.0);
+ glRotatef(90, 0.0, 1.0, 0.0);
+ glScalef(52.0 , 1.0,1.0);
+ glBegin(GL_POLYGON);
+ glVertex3fv(board_topleft);
+ glVertex3fv(board_topright);
+ glVertex3fv(board_bottomright);
+ glVertex3fv(board_bottomleft);
+ glEnd();
+ glPopMatrix();
+}
+
+void ball(void)
+{
+ glMaterialfv( GL_FRONT, GL_DIFFUSE, mat_ball );
+ glColor4fv(white);
+ glLoadIdentity();
+ glPushMatrix();
+ glTranslatef(ball_x,ball_y,ball_z);
+ glutSolidSphere(ball_radius,20,20);
+ glPopMatrix();
+}
+
+
+void goal()
+{
+ glLoadIdentity();
+ glPushMatrix();
+ glMaterialfv( GL_FRONT, GL_DIFFUSE, mat_goal );
+ glTranslatef(0.0, 0.0, 50.0);
+ glPushMatrix();
+ glTranslatef(goal_width / 2.0, 0.0, 0.0);
+ glRotatef(90,1.0,0.0,0.0);
+ glScalef(0.12, 0.12, goal_height);
+ // post
+ Wuerfel(1.0);
+ glPopMatrix();
+ glPushMatrix();
+ glTranslatef(- (goal_width / 2.0), 0.0, 0.0);
+ glRotatef(90,1.0,0.0,0.0);
+ glScalef(0.12, 0.12, goal_height);
+ // post
+ Wuerfel(1.0);
+ glPopMatrix();
+ glPushMatrix();
+ glTranslatef(0.0, goal_height, 0.0);
+ glScalef(goal_width/2.0,0.12,0.12 );
+ // crossbar
+ Wuerfel(1.0);
+ glPopMatrix();
+ glPopMatrix();
+}
+
+void player(int playerNr, GLfloat *pos)
+{
+ GLUquadricObj* left_lower_leg;
+ GLUquadricObj* right_lower_leg;
+ GLUquadricObj* left_upper_leg;
+ GLUquadricObj* right_upper_leg;
+ GLUquadricObj* torso;
+ GLUquadricObj* left_lower_arm;
+ GLUquadricObj* right_lower_arm;
+ GLUquadricObj* left_upper_arm;
+ GLUquadricObj* right_upper_arm;
+
+ left_lower_leg = gluNewQuadric();
+ right_lower_leg = gluNewQuadric();
+ left_upper_leg = gluNewQuadric();
+ right_upper_leg = gluNewQuadric();
+ torso = gluNewQuadric();
+ left_lower_arm = gluNewQuadric();
+ right_lower_arm = gluNewQuadric();
+ left_upper_arm = gluNewQuadric();
+ right_upper_arm = gluNewQuadric();
+
+ glLoadIdentity();
+ glPushMatrix();
+ glColor4fv(white);
+ //
+ //glTranslatef(0.0, 5.8, 0.0);
+ glTranslatef(0.0, 1.6, 0.0);
+ glTranslatefv(pos);
+ switch (playerNr) {
+ case 1:
+ glRotatef(-90, 0.0, 1.0, 0.0);
+ break;
+ case 2:
+ glRotatef(90, 0.0, 1.0, 0.0);
+ break;
+ case 3:
+ break;
+ }
+ glRotatef(90, 1.0, 0.0, 0.0);
+ //glScalef(3,3,3);
+ // torso
+
+ gluCylinder(torso, 0.25, 0.25, 0.8, 20, 20);
+
+ glPushMatrix();
+ glTranslatef(0.2, 0.0, 0.8);
+ switch (playerNr) {
+ case 1:
+ glRotatef(-pl1, 1.0, 0.0, 0.0);
+ break;
+ case 2:
+ glRotatef(-pl2, 1.0, 0.0, 0.0);
+ break;
+ case 3:
+ glRotatef(-pl3, 1.0, 0.0, 0.0);
+ break;
+ }
+ gluCylinder(left_upper_leg, 0.10, 0.10, 0.45, 20, 20);
+ glPushMatrix();
+ glTranslatef(0.0, 0.0, 0.45);
+ switch (playerNr) {
+ case 1:
+ glRotatef(-pl1*2, 1.0, 0.0, 0.0);
+ break;
+ case 2:
+ glRotatef(-pl2*2, 1.0, 0.0, 0.0);
+ break;
+ case 3:
+ glRotatef(-pl3*2, 1.0, 0.0, 0.0);
+ break;
+ }
+ gluCylinder(left_lower_leg, 0.05, 0.05, 0.35, 20, 20);
+ glPopMatrix();
+ glPopMatrix();
+
+ glPushMatrix();
+ glTranslatef(-0.2, 0.0, 0.8);
+ gluCylinder(right_upper_leg, 0.10, 0.10, 0.45, 20, 20);
+ glPushMatrix();
+ glTranslatef(0.0, 0.0, 0.45);
+ gluCylinder(right_lower_leg, 0.05, 0.05, 0.35, 20, 20);
+ glPopMatrix();
+ glPopMatrix();
+
+ glPushMatrix();
+ glTranslatef(0.35, 0.0, 0.0);
+ glRotatef(45, 1.0, 0.0, 0.0);
+ gluCylinder(left_upper_arm, 0.10, 0.10, 0.45, 20, 20);
+ glPushMatrix();
+ glTranslatef(0.0, 0.0, 0.45);
+ glRotatef(-90,1.0, 0.0, 0.0);
+ gluCylinder(left_lower_arm, 0.05, 0.05, 0.35, 20, 20);
+ glPopMatrix();
+ glPopMatrix();
+
+ glPushMatrix();
+ glTranslatef(-0.35, 0.0, 0.0);
+ glRotatef(45, 1.0, 0.0, 0.0);
+ gluCylinder(right_upper_arm, 0.10, 0.10, 0.45, 20, 20);
+ glPushMatrix();
+ glTranslatef(0.0, 0.0, 0.45);
+ glRotatef(-90,1.0, 0.0, 0.0);
+ gluCylinder(right_lower_arm, 0.05, 0.05, 0.35, 20, 20);
+ glPopMatrix();
+ glPopMatrix();
+
+ // head
+ glTranslatef(0.0, 0.0, -0.2);
+ glutSolidSphere(0.2,20,20);
+ glPopMatrix();
+}
+
+//void animate()
+void animate_player1(int n)
+//void animate_player1()
+{
+ //cam_x+=0.1;
+ //cam_z-=0.1;
+ //int dir = 0;
+
+ int move=30;
+
+ if (ball_x >= -4)
+ ball_x-=.2;
+ if ( (pl1 < move) && dir == 0)
+ pl1++;
+ else if ((pl1 > -move) && dir == 1)
+ pl1--;
+ else if (pl1 == move)
+ dir = 1;
+ else if (pl1 == -move)
+ //dir = 0;
+ {
+ z=2;
+ glutTimerFunc(50,animate_player2,z);
+ }
+ if (z==1)
+ glutTimerFunc(50,animate_player1,z);
+ //glutIdleFunc(animate_player2);
+ //z++;
+ //if (z>51)
+ // glutTimerFunc(10,animate_player2,2);
+ //else
+ // exit(0);
+ glutPostRedisplay();
+ //std::cout << "here " << n << std::endl;
+}
+
+void animate_player2(int n)
+//void animate_player2()
+{
+ //int dir = 0;
+ int move=30;
+
+ if (ball_x <= -3)
+ ball_x+=.2;
+ if ( (pl2 < move) && dir == 0)
+ pl2++;
+ else if ((pl2 > -move) && dir == 1)
+ pl2--;
+ else if (pl2 == move)
+ dir = 1;
+ else if (pl2 == -move)
+ //dir = 0;
+ {
+ z=3;
+ glutTimerFunc(50,animate_player3,z);
+ }
+ if (z==2)
+ glutTimerFunc(50,animate_player2,z);
+ //glutIdleFunc(animate_player3);
+ //z++;
+ //if (z>51)
+ // glutTimerFunc((int) z*10,animate_player3,3);
+ //else
+ // exit(0);
+ glutPostRedisplay();
+ //std::cout << "here " << n << std::endl;
+}
+
+void animate_player3(int n)
+//void animate_player3()
+{
+ //int dir = 0;
+ int move=30;
+
+ if (ball_z <= 51)
+ ball_z+=.4;
+ if ( (pl3 < move) && dir == 0)
+ pl3++;
+ else if ((pl3 > -move) && dir == 1)
+ pl3--;
+ else if (pl3 == move)
+ dir = 1;
+ else if (pl3 == -move)
+ //dir = 0;
+ glutTimerFunc(50,do_nothing,0);
+ //z++;
+ //if (z<51)
+ //glutTimerFunc((int) z*10,animate_player3,0);
+ if (z==3)
+ glutTimerFunc(50,animate_player3,z);
+ //glutIdleFunc(animate_player3);
+ //else
+ // exit(0);
+ glutPostRedisplay();
+ //std::cout << "here " << n << std::endl;
+}
+
+void do_nothing(int n)
+{
+}
+
+void RenderScene(void)
+{
+ GLfloat pos_pl1[]={4.0, .0, 20.0};
+ GLfloat pos_pl2[]={-4.0, .0, 20.0};
+ GLfloat pos_pl3[]={0.0, .0, 19.0};
+
+ //glClearColor(0.f, 0.f, 0.f, 0.f);
+ glClearColor(0.32f, 0.85f, 1.f, 0.f);
+ glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
+ glViewport(0,0,glutGet(GLUT_WINDOW_WIDTH),glutGet(GLUT_WINDOW_HEIGHT)); // Reset The Current Viewport
+
+ glMatrixMode(GL_PROJECTION); // Select The Projection Matrix
+ glLoadIdentity(); // Reset The Projection Matrix
+
+ // Calculate The Aspect Ratio Of The Window
+ gluPerspective(90.0f,glutGet(GLUT_WINDOW_WIDTH)/glutGet(GLUT_WINDOW_HEIGHT),1.0f,100.0f); // View Depth of 100
+ gluLookAt(cam_x, cam_y, cam_z,
+ 0., 1., 25.,
+ 0., 1., 0.);
+ glMatrixMode(GL_MODELVIEW); // Select The Modelview Matrix
+ //glLoadIdentity(); // Reset The Modelview Matrix
+ ball();
+ goal();
+ field();
+ boards();
+ glLoadIdentity();
+ //glTranslatef(0.0, 4.0, 0.0);
+ glPushMatrix();
+ // glTranslatef(4.0, 1.6, 20.0);
+ player(1,pos_pl1);
+ glPopMatrix();
+ glPushMatrix();
+ // glTranslatef(-4.0, 1.6, 20.0);
+ player(2,pos_pl2);
+ glPopMatrix();
+ glPushMatrix();
+ // glTranslatef(0.0, 1.6, 16.0);
+ player(3,pos_pl3);
+ glPopMatrix();
+ glutSwapBuffers();
+}
+int main(int argc, char **argv)
+{
+ glutInit( &argc, argv );
+ glutInitWindowSize(800,600);
+ glutInitDisplayMode( GLUT_DOUBLE|GLUT_RGB|GLUT_DEPTH );
+ glutCreateWindow("Fussball Animation");
+ glutDisplayFunc( RenderScene );
+ //glutIdleFunc(animate_player1);
+ //for (int i=0;i<100;i++)
+ z=1;
+ glutTimerFunc(1,animate_player1,z);
+ init();
+ glutMainLoop();
+ return 0;
+} \ No newline at end of file
diff --git a/Bachelor/GDV2/Wuerfel.cpp b/Bachelor/GDV2/Wuerfel.cpp
new file mode 100644
index 0000000..c5703d2
--- /dev/null
+++ b/Bachelor/GDV2/Wuerfel.cpp
@@ -0,0 +1,105 @@
+#include <windows.h>
+#include <gl\gl.h>
+#include "Wuerfel.h"
+
+
+void Wuerfel(GLfloat fSeitenL)
+{
+ glBegin(GL_POLYGON);//Vorderseite
+ glColor4f(1.,0.,0.,1.); //ROT
+ glVertex3f(-fSeitenL, -fSeitenL, +fSeitenL);
+ glColor4f(1.0, 1.0, 0.0 ,1.0f); //GELB
+ glVertex3f(+fSeitenL, -fSeitenL, +fSeitenL);
+ glColor4f(1.0f,1.0f,1.0f,1.0f); //WEISS
+ glVertex3f(+fSeitenL, +fSeitenL, +fSeitenL);
+ glColor4f(1.0f,0.0f,1.0f,1.0f); //MAGENTA
+ glVertex3f(-fSeitenL, +fSeitenL, +fSeitenL);
+ glEnd();
+
+#ifdef SCHRITTWEITE
+ glFlush();
+ Sleep(2000);
+#endif
+
+ glBegin(GL_POLYGON);//Rueckseite
+ glColor4f(0., 1., 1., 1.); //CYAN
+ glVertex3f(+fSeitenL, +fSeitenL, -fSeitenL);
+ glColor4f(0., 1., 0., 1.); //GRUEN
+ glVertex3f(+fSeitenL, -fSeitenL, -fSeitenL);
+ glColor4f(0., 0., 0., 1.); //SCHWARZ
+ glVertex3f(-fSeitenL, -fSeitenL, -fSeitenL);
+ glColor4f(0., 0., 1., 1.); //BLAU
+ glVertex3f(-fSeitenL, +fSeitenL, -fSeitenL);
+ glEnd();
+
+#ifdef SCHRITTWEITE
+ glFlush();
+ Sleep(2000);
+#endif
+
+ glBegin(GL_POLYGON);//Rechte Seite
+ glColor4f(1., 1., 0., 1.); //GELB
+ glVertex3f(+fSeitenL, -fSeitenL, +fSeitenL);
+ glColor4f(0., 1., 0., 1.); //GRUEN
+ glVertex3f(+fSeitenL, -fSeitenL, -fSeitenL);
+ glColor4f(0., 1., 1., 1.); //CYAN
+ glVertex3f(+fSeitenL, +fSeitenL, -fSeitenL);
+ glColor4f(1., 1., 1., 1.); //WEISS
+ glVertex3f(+fSeitenL, +fSeitenL, +fSeitenL);
+ glEnd();
+
+#ifdef SCHRITTWEITE
+ glFlush();
+ Sleep(2000);
+#endif
+
+ glBegin(GL_POLYGON);//Linke Seite
+ glColor4f(0., 0., 1., 1.); //BLAU
+ glVertex3f(-fSeitenL, +fSeitenL, -fSeitenL);
+ glColor4f(0., 0., 0., 1.); //SCHWARZ
+ glVertex3f(-fSeitenL, -fSeitenL, -fSeitenL);
+ glColor4f(1., 0., 0., 1.); //ROT
+ glVertex3f(-fSeitenL, -fSeitenL, +fSeitenL);
+ glColor4f(1., 0., 1., 1.); //MAGENTA
+ glVertex3f(-fSeitenL, +fSeitenL, +fSeitenL);
+ glEnd();
+
+#ifdef SCHRITTWEITE
+ glFlush();
+ Sleep(2000);
+#endif
+
+ glBegin(GL_POLYGON);//Bodenflaeche
+ glColor4f(0., 0., 0., 1.); //SCHWARZ
+ glVertex3f(-fSeitenL, -fSeitenL, -fSeitenL);
+ glColor4f(0., 1., 0., 1.); //GRUEN
+ glVertex3f(+fSeitenL, -fSeitenL, -fSeitenL);
+ glColor4f(1., 1.,0., 1.); //GELB
+ glVertex3f(+fSeitenL, -fSeitenL, +fSeitenL);
+ glColor4f(1., 0., 0., 1.); //ROT
+ glVertex3f(-fSeitenL, -fSeitenL, +fSeitenL);
+ glEnd();
+
+#ifdef SCHRITTWEITE
+ glFlush();
+ Sleep(2000);
+#endif
+
+ glBegin(GL_POLYGON);//Deckflaeche
+ glColor4f(1.f, 0.f, 1.f, 1.f); //MAGENTA
+ glVertex3f(-fSeitenL, +fSeitenL, +fSeitenL);
+ glColor4f(1.f, 1.f, 1.f, 1.f); //WEISS
+ glVertex3f(+fSeitenL, +fSeitenL, +fSeitenL);
+ glColor4f(0.f, 1.f, 1.f, 1.f); //CYAN
+ glVertex3f(+fSeitenL, +fSeitenL, -fSeitenL);
+ glColor4f(0.f, 0.f, 1.f, 1.f); //BLAU
+ glVertex3f(-fSeitenL, +fSeitenL, -fSeitenL);
+ glEnd();
+
+#ifdef SCHRITTWEITE
+ glFlush();
+ Sleep(2000);
+#endif
+
+ return;
+} \ No newline at end of file
diff --git a/Bachelor/GDV2/Wuerfel.h b/Bachelor/GDV2/Wuerfel.h
new file mode 100644
index 0000000..371c1a8
--- /dev/null
+++ b/Bachelor/GDV2/Wuerfel.h
@@ -0,0 +1,3 @@
+//#define SCHRITTWEITE
+
+void Wuerfel( GLfloat fSeitenL );
diff --git a/Bachelor/GDV2/vls-gdv-kap07B.doc b/Bachelor/GDV2/vls-gdv-kap07B.doc
new file mode 100644
index 0000000..e611b48
--- /dev/null
+++ b/Bachelor/GDV2/vls-gdv-kap07B.doc
Binary files differ
diff --git a/Bachelor/GDV2/vls-gdv-kap08.doc b/Bachelor/GDV2/vls-gdv-kap08.doc
new file mode 100644
index 0000000..4d5a1ad
--- /dev/null
+++ b/Bachelor/GDV2/vls-gdv-kap08.doc
Binary files differ
diff --git a/Bachelor/GDV2/vls-gdv-kap09.doc b/Bachelor/GDV2/vls-gdv-kap09.doc
new file mode 100644
index 0000000..13bfbd6
--- /dev/null
+++ b/Bachelor/GDV2/vls-gdv-kap09.doc
Binary files differ
diff --git a/Bachelor/GDV2/vls-gdv-kap11.doc b/Bachelor/GDV2/vls-gdv-kap11.doc
new file mode 100644
index 0000000..8d9e30d
--- /dev/null
+++ b/Bachelor/GDV2/vls-gdv-kap11.doc
Binary files differ
diff --git a/Bachelor/GDV2/vls-gdv-kap12.doc b/Bachelor/GDV2/vls-gdv-kap12.doc
new file mode 100644
index 0000000..e8df29e
--- /dev/null
+++ b/Bachelor/GDV2/vls-gdv-kap12.doc
Binary files differ
diff --git a/Bachelor/GDV2/vls-gdv-kap13.doc b/Bachelor/GDV2/vls-gdv-kap13.doc
new file mode 100644
index 0000000..e461bb4
--- /dev/null
+++ b/Bachelor/GDV2/vls-gdv-kap13.doc
Binary files differ