Kamis, 12 Januari 2017

Membuat Bintang menggunakan Microsoft Visual C++



Kali ini Saya akan Memberi tahukan source kode tentang pembuatan bentuk bintang dalam Microsoft Visual C++, pada sintak kali ini bentuk bintang menggunakan GL_LINE_LOOP untuk pewarnaan garisnya karena kalo menggunakan GL_POLYGON akan Bocor ;-) dan bentuknya tidak karuan jadi saya pada kali ini menggunakan GL_LINE_LOOP. Berikut adalah Source codenya:


#include <GL/glut.h>

void GambarPolyline(int x1,int y1,int x2,int y2,int x3, int y3,int x4, int y4,int x5, int y5,int x6, int y6,int x7, int y7,int x8,int y8, int x9, int y9, int x10, int y10){
 glPointSize(20);
 glBegin(GL_LINE_LOOP);
 glVertex2i(x1,y1);
 glVertex2i(x2,y2);
 glVertex2i(x3,y3);
 glVertex2i(x4,y4);
 glVertex2i(x5,y5);
 glVertex2i(x6,y6);
 glVertex2i(x7,y7);
 glVertex2i(x8,y8);
 glVertex2i(x9,y9);
 glVertex2i(x10,y10);
 glEnd();
}

void Gambar1(int x1,int y1,int x2,int y2,int x3, int y3,int x4, int y4,int x5, int y5,int x6, int y6,int x7, int y7,int x8,int y8, int x9, int y9, int x10, int y10){
 glPointSize(4);
 glBegin(GL_POLYGON);
 glVertex2i(x1,y1);
 glVertex2i(x2,y2);
 glVertex2i(x3,y3);
 glVertex2i(x4,y4);
 glVertex2i(x5,y5);
 glVertex2i(x6,y6);
 glVertex2i(x7,y7);
 glVertex2i(x8,y8);
 glVertex2i(x9,y9);
 glVertex2i(x10,y10);
 glEnd();
}

//draw area
void userdraw() {
 static int tick=0;

 //set warna (R,G,B)
 glColor3f(1,0,0);
 GambarPolyline(240,140,300,185,360,140,335,200,380,240,320,240,300,320,280,240,205,240,265,205);
 glColor3f(1,1,0);
 GambarPolyline(220,120,300,170,380,120,350,200,420,250,330,250,300,340,270,250,170,250,250,200);
 glColor3f(0,1,0.5);
 GambarPolyline(200,100,300,155,400,100,365,200,460,260,340,260,300,360,260,260,135,260,235,195);
 glColor3f(1,1,0);
 GambarPolyline(180,80,300,140,420,80,380,200,500,270,350,270,300,380,250,270,100,270,220,190);
 glColor3f(0,1,0);
 GambarPolyline(160,60,300,125,440,60,395,195,540,280,360,280,300,400,240,280,65,280,205,185);
 glColor3f(1,1,0);
 GambarPolyline(120,20,300,95,480,20,425,185,620,300,380,300,300,440,220,300,-5,300,175,175);
 glColor3f(1,0,0);
 

}

void display(void){
 //clear screen
 glClear(GL_COLOR_BUFFER_BIT);
 userdraw(); //jalanan userdraw()
 glutSwapBuffers();
}
int main(int argc,char **argv){
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGB);
glutInitWindowPosition(100,100); //posisi windownya di(100,100)
glutInitWindowSize(720,480); //set ukuran window
glutCreateWindow("-----=Bintang=-----"); //set judul app
glClearColor(0,0.1,0.1,0.1); //set warna backgroun(r,g,b,a)(range 0-1)
gluOrtho2D(0.,640.,0.,480.); //set area menggambar
glutIdleFunc(display);
glutDisplayFunc(display);
glutMainLoop();
return 0;
}



                Sekian dari saya jika ingin mengganti silahkan ganti pada sintak ada, jika ingin copy sertakan komen jika bisa 8-) 


EmoticonEmoticon