From 33613a85afc4b1481367fbe92a17ee59c240250b Mon Sep 17 00:00:00 2001 From: Sven Eisenhauer Date: Fri, 10 Nov 2023 15:11:48 +0100 Subject: add new repo --- Bachelor/GDV2/EigeneAufgabe.cpp | 84 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 Bachelor/GDV2/EigeneAufgabe.cpp (limited to 'Bachelor/GDV2/EigeneAufgabe.cpp') 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 +#include + +#include + + + +// 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"<