Langsung ke konten utama

Interaksi Mouse


1.1.1        Source Code
#include<stdlib.h>
#include<glut.h>

int w = 480;
int h = 480;

void drawQuad()
{
       glBegin(GL_QUADS);
       glColor3f(0,1,1);
       glVertex2d(-30,50);
       glVertex2d(30,50);
       glVertex2d(30,-30);
       glVertex2d(-30,-30);
       glEnd();
    glBegin(GL_TRIANGLES);
       glColor3f(1,1,0);
       glVertex2d(-25,60);
       glVertex2d(-20,50);
       glVertex2d(-30,50);
       glEnd();
       glBegin(GL_TRIANGLES);
       glColor3f(1,1,0);
       glVertex2d(25,60);
       glVertex2d(30,50);
       glVertex2d(20,50);
       glEnd();
       glBegin(GL_QUADS);
       glColor3f(2,0,2);
       glVertex2d(-20,40);
       glVertex2d(-10,40);
       glVertex2d(-10,20);
       glVertex2d(-20,20);
       glEnd();
       glBegin(GL_QUADS);
       glColor3f(2,0,2);
       glVertex2d(10,40);
       glVertex2d(20,40);
       glVertex2d(20,20);
       glVertex2d(10,20);
       glEnd();
       glBegin(GL_QUADS);
       glColor3f(0,0,0);
       glVertex2d(-15,30);
       glVertex2d(-10,30);
       glColor3f(1,1,1);
       glVertex2d(-10,20);
       glVertex2d(-15,20);
       glEnd();
       glBegin(GL_QUADS);
       glColor3f(0,0,0);
       glVertex2d(10,30);
       glVertex2d(15,30);
       glColor3f(1,1,1);
       glVertex2d(15,20);
       glVertex2d(10,20);
       glEnd();
       glBegin(GL_POLYGON);
       glColor3f(1,2.0,1.50);
       glVertex2d(-20,10);
       glVertex2d(20,10);
       glColor3f(0,0,1.50);
       glVertex2d(20,-10);
       glVertex2d(0,-20);
       glVertex2d(-20,-10);
       glEnd();
       glBegin(GL_POLYGON);
       glColor3f(1,1,0);
       glVertex2d(-15,15);
       glVertex2d(15,15);
       glColor3f(1,1,1);
       glVertex2d(15,10);
       glVertex2d(0,0);
       glVertex2d(-15,10);
       glEnd();
       glBegin(GL_TRIANGLES);
       glColor3f(1,1,0);
       glVertex2d(-30,-30);
       glVertex2d(-20,-30);
       glVertex2d(-25,-40);
       glEnd();
       glBegin(GL_TRIANGLES);
       glColor3f(1,1,0);
       glVertex2d(-20,-30);
       glVertex2d(-10,-30);
       glVertex2d(-15,-40);
       glEnd();
       glBegin(GL_TRIANGLES);
       glColor3f(1,1,0);
       glVertex2d(10,-30);
       glVertex2d(20,-30);
       glVertex2d(15,-40);
       glEnd();
       glBegin(GL_TRIANGLES);
       glColor3f(1,1,0);
       glVertex2d(20,-30);
       glVertex2d(30,-30);
       glVertex2d(25,-40);
       glEnd();
       glBegin(GL_POLYGON);
       glColor3f(0,0,1);
       glVertex2d(25,30);
       glVertex2d(45,30);
       glColor3f(0,0,3.75);
       glVertex2d(45,0);
       glVertex2d(35,-20);
       glVertex2d(25,0);
       glEnd();
       glBegin(GL_POLYGON);
       glColor3f(0,0,1);
       glVertex2d(-25,30);
       glVertex2d(-45,30);
       glColor3f(0,0,3.75);
       glVertex2d(-45,0);
       glVertex2d(-35,-20);
       glVertex2d(-25,0);
       glEnd();
}

float x = 0;
float y = 0;
float z = 0;
void Display()
{
       glClear (GL_COLOR_BUFFER_BIT);
       glPushMatrix();
       glTranslatef(x,y,z);
       drawQuad();
       glPopMatrix();
       glFlush();
}

void mouse(int button, int state, int xmouse, int ymouse)
{
       if (button == GLUT_LEFT_BUTTON && state == GLUT_DOWN)
       {     
              x = xmouse - (w/2);
              y = (h/2) - ymouse;
       }
}
void motion (int xmouse, int ymouse)
{
x=xmouse-(w/2);
       y=(h/2)-ymouse;
}

void timer (int value)
{
       glutPostRedisplay();
       glutTimerFunc(10,timer,0);

}

void main (int argc, char **argv)
{
       glutInit (&argc, argv);
       glutInitDisplayMode (GLUT_DEPTH | GLUT_SINGLE | GLUT_RGBA);
       glutInitWindowPosition(100,100);
       glutInitWindowSize (w,h);
       glutCreateWindow ("AFTINA NI'MA ROSYADA");
       gluOrtho2D(-w/2, w/2, -h/2, h/2);
      
       glutDisplayFunc(Display);
       glutTimerFunc(1000,timer,0);
       glutMouseFunc(mouse);
       //glutSpecialFunc(mySpecialKeyboard);
       glutMotionFunc(motion);
       glutMainLoop();
}

1.1.1        Output




Komentar

Postingan populer dari blog ini

Perbedaan Modul, Jobsheet, LKS, Bahan ajar dan Buku referensi

A.     Perbedaan Modul, Jobsheet, LKS, Bahan ajar dan Buku referensi 1.       Modul Modul adalah satuan program pembelajaran yang terkecil, yang dapat dipelajari oleh mahasiswa sendiri secara perseorangan (self instructional) setelah mahasiswa menyelesaikan satu satuan dalam modul, selanjutnya mahasiswa dapat melangkah maju dan mempelajari satuan modul berikutnya. 2.       Jobsheet Job sheet adalah bahan ajar yang ditulis lepas (tanpa dijilid) untuk pembelajaran praktik di bengkel. Jobsheet hanya berisi satu kegiatan praktikum. Koleksi Job sheet untuk kegiatan pembelajaran selama satu semester dapat dijilid menjadi kumpulan job sheet. Kegiatan praktik bengkel menggunakan banyak peralatan dan bahan yang beresiko, oleh sebab itu dalam job sheet perlu ditambah petunjuk K3 (keselamatan dan kesehatan kerja). Langkah-langkah kegiatan praktikum harus ditulis dengan jelas sehingga tidak menimbulkan miskonsepsi yang akan...

Perkembangan Penerapan Pancasila dari Tiap Masa

1.       Era Soeharto . Menurut beberapa sumber yang saya baca, pada era ini Pancasila sudah mulai dikenalkan dalam dunia pendidikan. Soeharto juga mengusulkan kepada MPR tentang Pedoman, Penghayatan, dan Pengamalan Pancasila. Akan tetapi pada saat era Soeharto ini, nilai - nilai Pancasila tidak diterapkan. Banyak terjadi Korupsi, Kolusi dan Nepotisme, tidak ada hak berpendapat, dan sangat banyak terjadi pelanggaran HAM. 2.       Era BJ. Habibie.   Pada era BJ. Habibie resonansi Pancasila kurang bergema karena disibukkan dengan pembenahan masalah negara khusunya politik yang ditinggalkan era soeharto. akan tetapi nilai - nilai pancasila sudah mulai diterapkan, seperti kebebasan dalam berpendapat khususnya pers, dan juga pertama kalinya diadakan pemilu yang benar - benar umum dan bebas.  3.       Era Abdurrahman Wachid .  Pada masa Gus Dur ini kebebasan berpendapat benar - benar sangat d...