diff options
Diffstat (limited to 'Bachelor/GDV2/EigeneAufgabe.cpp')
| -rw-r--r-- | Bachelor/GDV2/EigeneAufgabe.cpp | 84 |
1 files changed, 84 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;
+}
+
|
