#include
#include
void garis_lengkung(int x, int y, int jari,int mula, int akhir, int r, int g, int b )
{
glPointSize(3);
int x1,y1;
float rad = 3.14/180;
glColor3f(r,g,b);
for (int a=mula; a<=akhir; a++)
{
x1=jari*cos(a*rad);
y1=jari*sin(a*rad);
glVertex2f(x+x1,y+y1);
}
glEnd();
}
void lingk_full(int x, int y, int jari, int r, int g, int b )
{
glPointSize(3);
int x1,y1;
float rad = 3.14/180;
glColor3f(r,g,b);
glBegin(GL_POINTS);
for (int v=0; v<=jari; v++)
{
for (int a=0; a<=380; a++)
{
x1=v*cos(a*rad);
y1=v*sin(a*rad);
glVertex2f(x+x1,y+y1);
}
}
glEnd();
}
void kotak(int x1, int y1, int x2, int y2, int r, int g, int b )
{
glColor3f(r,g,b);
glBegin(GL_LINES);
for (int i=y1; i<=y2; i++)
{
glVertex2i(x1,i);
glVertex2i(x2,i);
}
glEnd();
}
void userdraw()
{
garis_lengkung(230,320,50,90,180,0,0,0);//lengkung1
kotak(180,250,450,320,0,0,1);//kotak bawah
kotak(230,320,320,370,0,0,0);//kotak jendela
garis_lengkung(180,295,10,90,270,0,0,0);//lampu depan
garis_lengkung(450,275,10,270,440,0,0,0);//lampu belakang
garis_lengkung(250,250,32,0,180,0,0,0);// lengkung ban depan
garis_lengkung(380,250,32,0,180,0,0,0);//lengkung ban belakang
lingk_full(250,250,26,0,0,0);//ban depan
lingk_full(380,250,26,0,0,0);//ban belakang
glBegin(GL_POINTS);
glColor3f(1,1,1);
glVertex2i(250,250);
glVertex2i(380,250);
glEnd();
}
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(300,200);
glutInitWindowSize(640,480);
glutCreateWindow("Pickup");
glClearColor(1,1,1,0.0);
gluOrtho2D(0,640,0,480);
glutIdleFunc(display);
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
Tidak ada komentar:
Posting Komentar