Adsterra

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.


  1. pertama setting terlebih dahulu codeblocknya dengan openGL . dapat dilihat disini caranya.
  2. buat projek baru di openGL. dapat dilihat disini caranya.
  3. kemudian copykan kode dibawah ini.

Reverensi




    #include <windows.h>
    #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
    1. 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 :

     Contoh Projek 2D openGL

    Baca juga Animasi 2D untuk projek openGL lainnya dibawah ini

    Dasar OpenGL

    Baca juga Dasar Dari OpenGL dibawah ini jika kalian ingin menekuninya.


    0 Response to "Membuat 3D planet bumi mengelilingi matahari OpenGL C++ projek "

    Post a Comment

    Iklan Atas Artikel

    Iklan Tengah Artikel 1

    Iklan Tengah Artikel 2

    Iklan Bawah Artikel