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