Monday, 22 February 2010

Coding open gl Aquarium dan ikan

Disini saya memberikan salah satu contoh coding open gl untuk membuat akuarium sederhana... kalau anda perlu atau berminat silahkan saja copy coding ini. semoga bermanfaat.. ----------------------------------------------------------------------------------------------
#include #include #include #include #include #include GLuint g_Texture[1]; float sumbuY = -70; float sumbuY2 = 0; int gerak=0; int sudut = 0; int jarak; float sumbuX=-350; int jumlah_ikan=1; float sbX2=0; float pergerakan_gelembung = -200; float pergerakan_kcptanx=-50; float pergerakan_kcptanx2=50; float srad; typedef struct { float r, g, b; } color_t; color_t warna [9] = {{1, 0, 1}, {1, 1, 0}, {1, 0.5, 0.5}, {0, 1, 0}, {0, 0.5, 0.7}, {0.5, 0.2, 0.1},{0.3, 0.4, 0},{0.3, 0.7, 0.1}}; void color (color_t col) { glColor3f (col.r, col.g, col.b); } typedef struct { float x,y; }titik; //UNTUK TEXTURE MAPPING void LoadFile(UINT texture[], char *filename, int ID) { glPixelStorei(GL_UNPACK_ALIGNMENT,1); glGenTextures(1,&texture[ID]); glBindTexture(GL_TEXTURE_2D, texture[ID]); _AUX_RGBImageRec *Image = auxDIBImageLoadA( (const char*) filename); gluBuild2DMipmaps(GL_TEXTURE_2D, 3, Image->sizeX, Image->sizeY,GL_RGB,GL_UNSIGNED_BYTE,Image->data); delete Image; } // UNTUK MATA void drawPolygon(titik pnt[]){ glBegin(GL_POLYGON); for(int j = 0;j<360;j++){ j =" 0;j<360;j++){" s="0;s<360;s++){" srad="s*3.14/180;" x="(float)(5*cos(srad));" y="(float)(5*sin(srad));" b="0;b<360;b++){" srad="b*3.14/180;" x="(float)(8*cos(srad));" y="(float)(8*sin(srad));" k =" 0;k<360;k++){" x="(float)(100*cos(k*3.14/90)),y="(float)(30*sin(k*3.14/60));" i="0;i<3){ height="glutGet(GLUT_WINDOW_HEIGHT);" width="glutGet(GLUT_WINDOW_WIDTH);" ll =" 0;ll<65;ll++){" x="(float)(140*cos(ll*3.14/180)),y="(float)(190*sin(ll*3.14/90));" lx =" 0;lx<20;lx++){" x="(float)(120*cos(ll*3.14/180)),y="(float)(130*sin(ll*3.14/90));" kk =" 0;kk<15;kk++){" x="(float)(100*cos(kk*3.14/90)),y="(float)(120*sin(kk*3.14/90));" bb =" 0;bb<32;bb++){" x="(float)(100*cos(bb*3.14/90)),y="(float)(100*sin(bb*3.14/180));" ka =" 0;ka<15;ka++){" x="(float)(100*cos(ka*3.14/90)),y="(float)(120*sin(ka*3.14/90));" xa =" 0;xa<25;xa++){" x="(float)(100*cos(xa*3.14/90)),y="(float)(190*sin(xa*3.14/90));" re =" 0;re<32;re++){" x="(float)(100*cos(re*3.14/90)),y="(float)(150*sin(re*3.14/180));" be =" 0;be<45;be++){" x="(float)(100*cos(be*3.14/90)),y="(float)(180*sin(be*3.14/180));" xe =" 0;xe<20;xe++){" x="(float)(100*cos(xe*3.14/90)),y="(float)(160*sin(xe*3.14/180));" cv =" 0;cv<180;cv++){" x="(float)(40*cos(cv*3.14/180)),y="(float)(34*sin(cv*3.14/180));" bbr =" 0;bbr<180;bbr++){" x="(float)(40*cos(bbr*3.14/180)),y="(float)(34*sin(bbr*3.14/180));" cx =" 0;cx<120;cx++){" x="(float)(40*cos(cx*3.14/180)),y="(float)(34*sin(cx*3.14/180));" bbx =" 0;bbx<100;bbx++){" x="(float)(40*cos(bbx*3.14/180)),y="(float)(20*sin(bbx*3.14/180));" cvq =" 0;cvq<70;cvq++){" x="(float)(21*cos(cvq*3.14/180)),y="(float)(12*sin(cvq*3.14/180));" bba =" 0;bba<180;bba++){" x="(float)(40*cos(bba*3.14/180)),y="(float)(40*sin(bba*3.14/180));" cva =" 0;cva<180;cva++){" x="(float)(70*cos(cva*3.14/180)),y="(float)(34*sin(cva*3.14/180));" btr =" 0;btr<180;btr++){" x="(float)(70*cos(btr*3.14/180)),y="(float)(34*sin(btr*3.14/180));" ewc =" 0;ewc<180;ewc++){" x="(float)(50*cos(ewc*3.14/180)),y="(float)(20*sin(ewc*3.14/180));" bbb =" 0;bbb<180;bbb++){" x="(float)(50*cos(bbb*3.14/180)),y="(float)(20*sin(bbb*3.14/180));" ec =" 0;ec<180;ec++){" x="(float)(100*cos(ec*3.14/180)),y="(float)(60*sin(ec*3.14/180));" bbe =" 0;bbe<180;bbe++){" x="(float)(100*cos(bbe*3.14/180)),y="(float)(60*sin(bbe*3.14/180));" ew =" 0;ew<360;ew++){" x="(float)(50*cos(ew*3.14/180)),y="(float)(70*sin(ew*3.14/180));" ew2 =" 0;ew2<360;ew2++){" x="(float)(50*cos(ew2*3.14/180)),y="(float)(70*sin(ew2*3.14/180));" w =" 0;w<360;w++){" x="(float)(50*cos(w*3.14/180)),y="(float)(70*sin(w*3.14/180));" qq =" 0;qq<360;qq++){" x="(float)(90*cos(qq*3.14/180)),y="(float)(120*sin(qq*3.14/180));" c =" 0;c<360;c++){" x="(float)(50*cos(c*3.14/180)),y="(float)(70*sin(c*3.14/180));" q =" 0;q<360;q++){" x="(float)(90*cos(q*3.14/180)),y="(float)(120*sin(q*3.14/180));" k =" 0;k<20;k++){" x="(float)(100*cos(k*3.14/90)),y="(float)(120*sin(k*3.14/90));" l =" 0;l<70;l++){" x="(float)(120*cos(l*3.14/180)),y="(float)(100*sin(l*3.14/90));" b =" 0;b<32;b++){" x="(float)(100*cos(b*3.14/90)),y="(float)(100*sin(b*3.14/180));" a =" 0;a<30;a++){" x="(float)(100*cos(a*3.14/90)),y="(float)(100*sin(a*3.14/90));" r =" 0;r<70;r++){" x="(float)(50*cos(r*3.14/180)),y="(float)(100*sin(r*3.14/90));" n =" 0;n<52;n++){" x="(float)(100*cos(n*3.14/90)),y="(float)(100*sin(n*3.14/180));" s="0;s<360;s++){" srad="s*3.14/180;" x="(float)(20*cos(srad));" y="(float)(15*sin(srad));" x="(float)(10*cos(srad));" y="(float)(3*sin(srad));" x="(float)(30*cos(srad));" y="(float)(20*sin(srad));" x="(float)(15*cos(srad));" y="(float)(8*sin(srad));" q="nambah" w=" kurang" r="stop/play" sudut="0;" pergerakan_kcptanx =" 30;"> (1100)){ sudut=180; pergerakan_kcptanx = -30; // ke kiri } else{ pergerakan_kcptanx = pergerakan_kcptanx; } sumbuX=sumbuX+pergerakan_kcptanx; //UNTUK MAJU MUNDUR Y /*if(sumbuY < (-50)){ sudut=0; pergerakan_kcptanx2 = 12; // ke kanan } else if(sumbuY > (100)){ sudut=180; pergerakan_kcptanx2 = -12; // ke kiri } else{ pergerakan_kcptanx2 = pergerakan_kcptanx2; }*/ // sumbuX=sumbuX+pergerakan_kcptanx; // sumbuY=sumbuY+pergerakan_kcptanx2; // pergerakan gelembung if(pergerakan_gelembung<600){ pergerakan_gelembung="20;" jumlah_ikan="="5)" jumlah_ikan="5;" jumlah_ikan="="1)" jumlah_ikan="1;" gerak="="1){" gerak="0;" gerak="1;">
//=================================================================================

No comments:

Post a Comment