TUGAS GRAFKOM Q 3

Friday 7 December 2012



 KINCIR ANGIN

keterangan : 

pakek openGL microsoft visual c++ 2010 express.
kincir angin ini bisa di control dengan meng klik tombol di keyboard

tombol d : muter ke kiri.
tombol s : muter ke kanan..

source code

#include <glut.h>
#include <stdlib.h>

static GLfloat spin = 0.0;

void init(void)
{
   glClearColor (1.1, 1.1, 1.1, 1.1);
   glShadeModel (GL_FLAT);
}

void display(void)
{
   glClear(GL_COLOR_BUFFER_BIT); // pembuatan  tiang
   glPushMatrix();
    glColor3f(1.0, 0.0, 1.0);
   glRectf(-8.0, -50.0, 8.0, 10.0);
   glPopMatrix();


   glPushMatrix(); // pembuatan baling 1
   glRotatef(spin, 0.0, 0.0, 1.0);
   glColor3f(0.0, 0.0, 1.0); //pembuatan baling 1 warna biru
   glRectf(-5.0, -30.0, 5.0, 30.0);

   glColor3f(0.0, 1.0, 0.0); //pembuatan baling 2 hijau
   glRectf(-30.0, -5.0, 30.0, 5.0);
   glPopMatrix();
   glutSwapBuffers();
}

void spinDisplay(void)
{
   spin = spin + 0.3;
   if (spin > 360.0)
      spin = spin - 360.0;
   glutPostRedisplay();
}
void spinDisplay2(void)
{
   spin = spin - 0.3;
   if (spin > 360.0)
      spin = spin - 360.0;
   glutPostRedisplay();
}
void reshape(int w, int h)
{
   glViewport (0, 0, (GLsizei) w, (GLsizei) h);
   glMatrixMode(GL_PROJECTION);
   glLoadIdentity();
   glOrtho(-50.0, 50.0, -50.0, 50.0, -1.0, 1.0);
   glMatrixMode(GL_MODELVIEW);
   glLoadIdentity();
}

void keyboard (unsigned char key, int x, int y)
{
   switch (key) {
      case 'd':
         glutIdleFunc(spinDisplay);
         break;
      case 's':
         glutIdleFunc(spinDisplay2);
         break;
   }
}
/*void keyboard (unsigned char key, int x, int y)
{
   switch (key) {
      case 'd':
         day = (day + 10) % 360;
         glutPostRedisplay();
         break;
      case 'D':
         day = (day - 10) % 360;
         glutPostRedisplay();
         break;
      case 'y':
         year = (year + 5) % 360;
         glutPostRedisplay();
         break;
      case 'Y':
         year = (year - 5) % 360;
         glutPostRedisplay();
         break;
      default:
         break;
   }
}*/

/*
 *  Request double buffer display mode.
 *  Register mouse input callback functions
 */
int main(int argc, char** argv)
{
   glutInit(&argc, argv);
   glutInitDisplayMode (GLUT_DOUBLE | GLUT_RGB);
   glutInitWindowSize (500, 500);
   glutInitWindowPosition (100, 100);
   glutCreateWindow (argv[0]);
   init ();
   glutDisplayFunc(display);
   glutReshapeFunc(reshape);
   glutKeyboardFunc(keyboard);
   glutMainLoop();
   return 0;
}


1 comment:

RUmah dijual 3 Kamar Tidur dan Kolam Renang di Kota Malang - Graha Agung Residence

   HUNIAN RESORT DI TENGAH KOTA DENGAN KOLAM RENANG! KAWASAN PROPERTI TERBESAR DAN SATU-SATUNYA DI MALANG! GRAHA AGUNG RESIDENCE! jadi pilih...

 
FREE BLOGGER TEMPLATE BY DESIGNER BLOGS