Membuat Boneka DanBO 3D projek di openGL codeBlock C++
ketemu lagi kita sobat... !! kali ini kita belajar openGL 3D dengan codeblock C++ membuat boneka DanBo 3D. baiklah tidak perlu banyak bicara kita langsung saja.
- setting codeblock terlebih dahulu kalau belum tau caranya klik disini
- buka codeblock buat new projek. caranya ada disini gan.
- kemudian copykan sourcode dibawah ini..
Reverensi
#include <gl/glut.h>
int w = 480, h = 480, z = -50;
int x1 = 0, y1 = 0, z1 = 0, sudut = 0;
void timer(int value) {
glutPostRedisplay();
glutTimerFunc(50,timer,0);
}
void myKeyboard(unsigned char key, int x, int y) {
if(key == 'a') z += 5; //mendekat
else if (key == 'd') z -= 5; //menjauh
else if (key == 'x') { //rotasi sumbu x
x1 = 1;
y1 = 0;
z1 = 0;
sudut += 5;
} else if (key == 'y') { //rotasi sumbu y
x1 = 0;
y1 = 1;
z1 = 0;
sudut += 5;
} else if (key == 'z') { //rotasi sumbu z
x1 = 0;
y1 = 0;
z1 = 1;
sudut += 5;
}
}
void init() {
glClearColor(0.0,0.0,0.0,1.0);
glEnable(GL_DEPTH_TEST);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(30., (GLdouble)w/(GLdouble)h, 1., 300.);
glMatrixMode(GL_MODELVIEW);
}
void resize(int w1, int h1) {
glViewport(0,0,w1,h1);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(45.0, (float)w1/(float)h1, 1.0, 300.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}
void balok(double panjang, double lebar, double tinggi) {
glScalef(panjang, tinggi, lebar);
glutSolidCube(1);
}
void renderScene(void) {
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
glClearColor(1,1,1,1);
glTranslatef(0, 0, z);
glRotatef(sudut, x1, y1, z1);
glPushMatrix(); //badan
glColor3f(0, 0, 0);
balok(10, 6, 9);
glPopMatrix();
glPushMatrix(); //kepala
glTranslatef(0, 9.5, 0);
glColor3f(0.8, 0.1, 0.2);
balok(15, 8, 10);
glPopMatrix();
glPushMatrix(); //mata kiri
glTranslatef(-2.2, 9.6, 4.1);
glRotatef(90, 0, 1, 0);
glColor3f(0.2, 0, 0);
glutSolidSphere(1, 2, 30);
glPopMatrix();
glPushMatrix(); //mata kanan
glTranslatef(2.2, 9.6, 4.1);
glRotatef(90, 0, 1, 0);
glColor3f(0.2, 0, 0);
glutSolidSphere(1, 2, 30);
glPopMatrix();
glPushMatrix(); //mulut
glTranslatef(0, 7.5, 4.1);
glRotatef(90, 0, 1, 0);
glRotatef(90, 1, 0, 0);
glColor3f(0.2, 0, 0);
glutSolidCone(1.5, 2, 2, 2);
glPopMatrix();
glPushMatrix(); //garis
glTranslatef(0, 3, 0);
glColor3f(1, 1, 1);
balok(10.2, 6.2, 1);
glPopMatrix();
glPushMatrix(); //garis
glTranslatef(0, 1, 0);
glColor3f(1, 1, 1);
balok(10.2, 6.2, 1);
glPopMatrix();
glPushMatrix(); //garis
glTranslatef(0, -1, 0);
glColor3f(1, 1, 1);
balok(10.2, 6.2, 1);
glPopMatrix();
glPushMatrix(); //garis
glTranslatef(0, -3, 0);
glColor3f(1, 1, 1);
balok(10.2, 6.2, 1);
glPopMatrix();
glPushMatrix(); //tangan kiri
glTranslatef(-6.5, -0.5, 2.5);
glRotatef(-45, 1, 0, 0);
glColor3f(0.8, 0.1, 0.2);
balok(3, 3, 8);
glPopMatrix();
glPushMatrix(); //tangan kanan
glTranslatef(6.5, -0.5, -2.5);
glRotatef(45, 1, 0, 0);
glColor3f(0.8, 0.1, 0.2);
balok(3, 3, 8);
glPopMatrix();
glPushMatrix(); //kaki kanan
glTranslatef(-2, -7, -0.5);
glRotatef(10, 1, 0, 0);
glColor3f(0.8, 0.1, 0.2);
balok(3, 3, 10);
glPopMatrix();
glPushMatrix(); //kaki kiri
glTranslatef(2, -7, 0.5);
glRotatef(-10, 1, 0, 0);
glColor3f(0.8, 0.1, 0.2);
balok(3, 3, 10);
glPopMatrix();
glutSwapBuffers();
}
int main(int argc, char **argv) {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DEPTH | GLUT_DOUBLE | GLUT_RGBA);
glutInitWindowPosition(100,100);
glutInitWindowSize(w,h);
glutCreateWindow("Kampret 32");
gluOrtho2D(-w/2, w/2, -h/2, h/2);
glutDisplayFunc(renderScene);
glutTimerFunc(50, timer, 0);
glutKeyboardFunc(myKeyboard);
glutReshapeFunc(resize);
init();
glutMainLoop();
}
kemudian compile sourcodenya dengan menekan tombol f9.... maka hasilnya akan seperti dibawah ini... taraaaaaa.... selamat mencoba dan semoga bermanfaat. jangan lupa komentar dan likenya yah kawan... bila ada pertanyaan silahkan tanyakan komentar dibawah.
berikut ini adalah kombinasi tombol untuk projek diatas
a = mendekat
d = menjauh
x = mutar depan
z = memutar berlawanan jarum jam
y = mutar tengah
Reverensi
Daftar Pustaka
- https://sigmaakhiria.wordpress.com/2013/04/27/membuat-danbo-3d-dengan-opengl/
Contoh Projek 3D lainnya.
Baca Juga Projek OpenGL dengan C++ Lainnya dibawah ini :
projek OpenGL 3D
- Membuat projek Parkiran Mobil
- Membuat Game Animasi Rumah
- Membuat Projek Kotak Berputar
- Membuat projek Pensil
- Membuat projek Hujan
- Membuat Animasi Teko
- Membuat Animasi Mobil
- Lampion Merah
- Membuat Animasi Robot
- Membuat Animasi Perahu Layar
- Membuat projek Bola Memantul
- Membuat Projek Sepeda
- Membuat Projek planet bumi berotasi
- Membuat Projek Tatasurya
- Membuat Projek Pohon
- Membuat Boneka Sawah
- Membuat Projek Anak Anjing berjalan
- Membuat Projek Boneka Dambo
- Membuat Projek Boneka
- Membuat Projek Mobil
- Membuat Projek Kipas Angin
- Membuat projek RUmah
- membuat Projek Sendok
0 Response to "Membuat Boneka DanBO 3D projek di openGL codeBlock C++"
Post a Comment