Thursday, March 17, 2011

-3D-

assalammualaikum...hari ini nak bercerita sedikit ilmu yang belajar td dekat kelas...duduk kat lab berjam-jam sampai lebam kan..dah siap nk tnggu turn memang siap g makan la kan..hihiihi...punya khusyuk budak-budak nie mengadap coding memang xingat...tengok sebelah baca novel,tengaok sebelah lagi banyak la die pnyer tab kan.macam2..tp tu la gelagat pelajar kan....so pas dok taip coding kan memang happy la bila tak ada error kan...bila ade error mmg muka masing-masing nak tensen sebab xpuas hati la kan..."kenapa nie saya punya xkuar ni...dah check tapi xkuar2 jugak" kata si minah nie kan..bila dah member sebelah tolong tengok pe lagi satu salah taip abis la....so muka member punya ceria sebab dah leh run memang xingat...huhuhu...



example coding:

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

static int year=0,day=0;

void init(void)
{
       glClearColor(0.0,0.0,0.0,0.0);
       glShadeModel(GL_FLAT);
}
void display(void)
{
       glClear(GL_COLOR_BUFFER_BIT);
       glColor3f(1.0,1.0,1.0);

       glPushMatrix();
       glutWireSphere(1.0,20,16);
       glRotatef((GLfloat)year,0.0,1.0,0.0);
       glTranslatef(2.0,0.0,0.0);
       glRotatef((GLfloat)day,0.0,1.0,0.0);
       glutWireSphere(0.2,10,8);
       glPopMatrix();
       glutSwapBuffers();
}

void reshape(int w,int h)
{

       glViewport(0,0,(GLsizei)w,(GLsizei)h);
       glMatrixMode(GL_PROJECTION);
       glLoadIdentity();
       gluPerspective(60.0,(GLfloat)w/(GLfloat)h,1.0,20.0);
       glMatrixMode(GL_MODELVIEW);
       glLoadIdentity();
       gluLookAt(0.0,0.0,5.0,0.0,0.0,0.0,0.0,1.0,0.0);
}
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;

                     case 27:
                           exit(0);
                           break;
                     default:
                                  break;
       }
}

int main(int argc, char** argv)
{
       glutInit(&argc, argv);
       glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGB);
       glutInitWindowSize(500,500);
       glutInitWindowPosition(100,100);
       glutCreateWindow("Planetary Systems");
       init();
       glutDisplayFunc(display);
       glutReshapeFunc(reshape);
       glutKeyboardFunc(keyboard);
       glutMainLoop();
       return 0;
}


output



1 comment:

LinkWithin

Related Posts Plugin for WordPress, Blogger...