hoho... semangat teman teman pembaca blog saya. kali ini kita akan membuat 2 planet yang saling bertranslasi. ini adalah tugas praktek dari kampus.. ya cuma nyontek-nyontek dikit ke tetangga sebelah. baiklah langsung saja ini dia langkah-langkahnya.
Untuk bisa membuat projek seperti diatas anda harus menyiapkan beberapa hal dalam penyetingan di komoputer anda yang berkaitan dengan openGL. diantaranya yaitu :
- 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.
silahkan copy contoh program dibawah ini ke projek yang anda buat. adapun sourcode yang akan anda coba adalah sebagai berikut.
Reverensi
#include <stdlib.h>
#include <GL/glut.h>
static int year1=0, day1=0, year2=0, day2=0;
void init(void) {
glClearColor(0.0,0.0,0.0,0.0);
GLfloat mat_specular[]={1.0,1.0,1.0,1.0};
GLfloat mat_shininess[]={50.0};
GLfloat light_position0[]={1.0,1.0,1.0,0.0};
glClearColor(0.0,0.0,0.0,0.0);
glShadeModel(GL_SMOOTH);
glMaterialfv(GL_FRONT,GL_SPECULAR,mat_specular);
glMaterialfv(GL_FRONT,GL_SHININESS,mat_shininess);
glLightfv(GL_LIGHT0,GL_POSITION,light_position0);
GLfloat light_position1[] = {-1.0f, 0.5f, 0.5f, 0.0f};
glLightfv(GL_LIGHT1, GL_POSITION, light_position1);
glEnable(GL_COLOR_MATERIAL);
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
glEnable(GL_LIGHT1);
glEnable(GL_NORMALIZE);
glEnable(GL_DEPTH_TEST);
}
void display(void) {
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
glColor3f(1.0,1.0,1.0);
glPushMatrix();
glutSolidSphere(1.0,20,16);
glRotatef((GLfloat)year1,0.0,1.0,0.0);
glTranslatef(2.0,0.0,0.0);
glRotatef((GLfloat)day1,0.0,1.0,0.0);
glutSolidSphere(0.2,10,8);
glPopMatrix();
glPushMatrix();
glRotatef((GLfloat)year2,0.0,1.0,1.0);
glTranslatef(2.0,1.0,0.0);
glRotatef((GLfloat)day2,0.0,1.0,0.0);
glutSolidSphere(0.2,10,8);
glPopMatrix();
glutSwapBuffers();
}
void reshape(int w, int h) {
glViewport(0,0,(GLsizei)w,(GLsizei)h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(40.0,(GLfloat)w/(GLfloat)h,1.0,20.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(0.0,0.0,8.0,0.0,0.0,0.0,0.0,1.0,0.0);
}
void keyboard(unsigned char key, int x, int y) {
switch(key) {
case 'd':
day1=(day1+15)%360; glutPostRedisplay();
day2=(day2-10)%360; glutPostRedisplay();
break;
case 'y':
year1=(year1+10)%360; glutPostRedisplay();
year2=(year2-5)%360; glutPostRedisplay();
break;
}
}
int main(int argc, char** argv) {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGB|GLUT_DEPTH);
glutInitWindowSize(600,600);
glutInitWindowPosition(0,0);
glutCreateWindow("UJIAN");
init();
glutDisplayFunc(display);
glutReshapeFunc(reshape);
glutKeyboardFunc(keyboard);
glutMainLoop();
return 0;
}
kemudian jalankan dengan menekan tombol f9. dan..... ini dia hasilnya....
kalau hasilnya seperti diatas... selamat anda berhasil melakukan tutorialnya.
kamu bisa menekan tombol berikut ini untuk menjalankan animasinya.
- tombol 'y' untuk mentranslasikan alias muter ke sekeliling pelanet besar
- tombol 'd' untuk memutar planet kecil
demikian tutorial kali ini semoga bermanfaat dan selamat mencoba. kalau berhasil jangan lupa komennya gan... biar nanti bisa diperbaiki kalau ada kesalahan. terimakasih....
Reverensi
Daftar pustaka
- https://ekorkucingid.blogspot.co.id/2013/06/cara-membuat-matahari-dan-planet-dengan.html
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
cara menambah lintasan buminya mengelilingi matahari gmna kak?
ReplyDelete