#include
#include
void lingkaran (int x, int y, int j, float r, float g, float b)
{
float rad=3.14/180;
glPointSize(2);
glColor3f(r,g,b);
glBegin(GL_POINTS);
for(int p=0;p<=j;p++)
{
for (int a=0;a<=360;a++)
{
int x1=p*cos(a*rad);
int y1=p*sin(a*rad);
glVertex2f(x+x1,y+y1);
}
}
glEnd();
}
void setengah_ling (int x,int y, int j, float r, float g, float b)
{
float rad=3.14/180;
glPointSize(2.5);
glColor3f(r,g,b);
glBegin(GL_POINTS);
for (int a=0;a<=180;a++)
{
int x1=j*cos(a*rad);
int y1=j*sin(a*rad);
glVertex2f(x+x1,y+y1);
}
glEnd();
}
void tembereng (int x,int y,int j,float r,float g,float b)
{
float rad=3.14/180;
glPointSize(2);
glColor3f(r,g,b);
glBegin(GL_POINTS);
for (int a=0;a<=90;a++)
{
int x1=j*cos(a*rad);
int y1=j*sin(a*rad);
glVertex2f(x+x1,y+y1);
}
glEnd();
}
void kotak (int x1, int y1,int x2,int y2, float r, float g, float b)
{
glColor3f(r,g,b);
glBegin(GL_LINES);
for(int i=y1;i
{
glVertex2i(x1,i);
glVertex2i(x2,i);
}
glEnd();
}
void userdraw()
{
lingkaran(420,180,20,0.13,0.24,0.63);//depan box
lingkaran(40,168,10,0.13,0.24,0.63);//belakang box
kotak(40,144,420,264,0.08,0.15,0.40);//box_alas
kotak(200,264,320,364,0.13,0.24,0.63);//kaca belakang_alas
tembereng(320,264,100,0.13,0.24,0.63);
lingkaran(120,144,50,0,0,0);//roda belakang
lingkaran(300,144,50,0,0,0);//roda depan
setengah_ling(120,144,60,0,0,0);//setengah lingkaran roda belakang
setengah_ling(300,144,60,0,0,0);//setengah lingkaran roda depan
}
void display(void)
{
glClear(GL_COLOR_BUFFER_BIT);
userdraw();
glutSwapBuffers();
}
int main(int argc, char** argv)
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB);
glutInitWindowPosition(100,100);
glutInitWindowSize(640,480);
glutCreateWindow("LingkaraN_ElipS");
glClearColor(1,1,1,0.0);
gluOrtho2D(0,640,0,480);
glutIdleFunc(display);
glutDisplayFunc(display);
glutMainLoop();
return 0;
}

Kamis, 01 Mei 2008
Puck Up menggunakan Open GL C++
Diposting oleh
firdausi
di
18.49
Langganan:
Posting Komentar (Atom)
0 komentar:
Posting Komentar