PENGUMUMAN
" Projek ini Dibuat dengan Benar sudah berjalan secara semestinya. apabila ada ERROR di code silahkan pelajari dimana letak errornya. jangan hanya mau disuapi saja. mengcopi ini = harus mempelajari sourcodenaya sendiri.
Jangan Lupa Ucapkan Terimakasih di kolom komentar Jika Projek Ini Berhasil dijalankan.
dan untuk Glut download sementara saya tutup, jika ingin mendownload silahkan komentar dibawah "tujuan kalian belajar OPENGL beserta email kalian". nanti saya bagikan lewat email kalian yang ada dikolom komentar. (komentar tidak akan muncul jika belum disetujui dan belum dikirim openGLnya ke email kalian)"
Tentang Projek
Pada Projek
Persiapan Projek
Untuk memulai membuat projek open GL ini anda harus menseting beberapa komponen kedalam codeblock dan ketika sudah selesai menseting semuanya saatnya membuat projeknya. untul langkah-langkah persiapannya dapat melakukan beberapa langkah-langkah dibawah ini.
- Open GL download disini :View openGL
- CodeBlock setting dengan openGL caranya lihat disini: view
- buka codeblock dan buat projek baru caranya dapat dilihat disini : view
- copy semua sourcode yang tersedia di blog ini.
#include "stdlib.h" #include "gl/glut.h" int w=500, h=500,z=0; int x1=0, y1=0, a=0, z1=0; void renderScene(void){ glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glLoadIdentity(); glTranslatef(0,0,-100); glRotatef(a,x1,y1,z1); glTranslatef(0,0,z); glPushMatrix(); glTranslatef(0,-5,0); glColor3f(1,1,1); glutWireSphere(4,200,50); glPopMatrix(); glPushMatrix();//badan atas glTranslatef(0,0,0); glColor3f(1,1,1); glutWireSphere(3,200,50); glPopMatrix(); glPushMatrix();//badan bawah glTranslatef(0,4,0); glColor3f(1,1,1); glutWireSphere(2,200,50); glPopMatrix(); glPushMatrix(); //hidung glTranslatef(0,4,0); glColor3f(1,0,0); glutWireCone(1,3,200,50); glPopMatrix(); glPushMatrix(); //mata kiri glTranslatef(1,4.5,2); glColor3f(0,0,0); glutWireSphere(0.1,200,50); glPopMatrix(); glPushMatrix();//mata kanan glTranslatef(-1,4.5,2); glColor3f(0,0,0); glutWireSphere(0.1,200,50); glPopMatrix(); glPushMatrix(); glTranslatef(0,5,0);//topi glRotatef(-90,1,0,0); glColor3f(0,0,1); glutWireCone(2,4,200,50); glPopMatrix(); glutSwapBuffers(); } 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 myKeyboard(unsigned char key, int x, int y){ if (key == 'x') { x1=1;y1=0;z1=0; a+=10; } else if (key == 'y') { y1=1;x1=0;z1=0;a+=-10; } else if (key == 'z') { y1=0;x1=0;z1=1;a+=-10; } } void mySpecialKeyboard(int key, int x, int y){ switch(key){ case GLUT_KEY_UP: z+=5;break; case GLUT_KEY_DOWN:z-=5; break; } } void init(){ glClearColor(0,0,0,1); glEnable(GL_DEPTH_TEST); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(45.0,(GLdouble) w/(GLdouble) h, 1.0,300.0); glMatrixMode(GL_MODELVIEW); } void timer(int value){ glutPostRedisplay(); glutTimerFunc(50,timer,0); } int main(int argc,char **argv) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH | GLUT_RGBA); glutInitWindowPosition(100,100); glutInitWindowSize(w,h); glutCreateWindow("kampret32"); gluOrtho2D(-w/2,w/2,-h/2,h/2); glutDisplayFunc(renderScene); glutReshapeFunc(resize); glutKeyboardFunc(myKeyboard); glutSpecialFunc(mySpecialKeyboard); glutTimerFunc(1,timer,0); init(); glutMainLoop(); }
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
- https://sigmaakhiria.wordpress.com/2013/04/27/membuat-danbo-3d-dengan-opengl/
Contoh Projek 3D lainnya.
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
No comments:
Post a Comment