Membuat 3D planet bumi mengelilingi matahari OpenGL C++ projek
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.
- pertama setting terlebih dahulu codeblocknya dengan openGL . dapat dilihat disini caranya.
- buat projek baru di openGL. dapat dilihat disini caranya.
- kemudian copykan kode dibawah ini.
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.
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 3D planet bumi mengelilingi matahari OpenGL C++ projek "
Post a Comment