Kali ini saya akan memberikan artikel
tentang bagaimana MEMBUAT ANIMASI GELAS BUKA TUTUP DENGAN C++, dengan sedikit
kebingungan yang saya alami, akhirnya saya dapat juga menyelesaikan ini tugas,
ok untuk mempersingkat waktu belajar kalian sekarang silahkan copy koding di
bawah ini,
#include "stdlib.h"
#include "gl/glut.h"
int x=0;
int z=0;
int z2=90;
void drawQuad1(void)
{
glBegin (GL_POLYGON);
glColor3f(1.0,0.0,0.0); //R
glVertex2i(0,1);
glVertex2i(-100,0);
glColor3f(1.0,1.0,0.0); //Y
glVertex2i(-100,20);
glVertex2i(0,20);
glEnd();
}
void botol(void)
{
glBegin
(GL_POLYGON);
glColor3f(1.0,0.0,0.0);
//R
glVertex2i(0,1);
glColor3f(1.0,1.0,0.0);
//Y
glVertex2i(-100,0);
glColor3f(0.0,0.0,1.0);
//B
glVertex2i(-100,-100);
glColor3f(1.0,1.0,0.0);
//Y
glVertex2i(0,-100);
glEnd();
}
void renderScene()
{
glClear(GL_COLOR_BUFFER_BIT);
glClearColor(0,0,0,0);
glLoadIdentity();
botol();
glRotatef(x,0,0,1);
if (z <= 90)
{
x-=1;
z+=1;
}
if (z > 90)
{
x+=1;
z2-=1;
}
if (z2 < 0)
{
x-=1;
z=0;
z2=90;
}
drawQuad1();
glFlush();
}
void timer (int value)
{
glutPostRedisplay();
glutTimerFunc(10,timer,0);
}
void reshape(int w,int h)
{
glViewport(0,0,(GLsizei)w,(GLsizei)h);
glMatrixMode(GL_PROJECTION);
gluOrtho2D(-320,320.0,-320,320);
glMatrixMode(GL_MODELVIEW);
}
void main(int argc, char **argv){
glutInit(&argc, argv);
glutInitWindowPosition (100,100);
glutInitWindowSize (500,500);
glutCreateWindow ("Candra Wahyu
Arifin");
//glViewport(-300,300,-300,300);
glutDisplayFunc(renderScene);
glutReshapeFunc(reshape);
glutTimerFunc(1,timer,0);
glutMainLoop();
}
Nah sedikit trik dari saya, untuk
memudahkan mengetahiu koordinat gambar, silahkan menggunakan Ms Excel, untuk
menggambar koordinat terlebih dahulu,
Mungkin itu saja yang hanya bisa saya
berikan di artikel Membuat animasi gelas di C++ ini, silahkan tinggalkan
komentar atau pertanyaan di bawah bila ada yang belum dimengerti..
1 komentar:
makasih kang
Posting Komentar