Adsterra

Projek OpenGL Membuat Rumah dengan Pembrograman C++ dan C

Membuat Desain rumah 2D di openGL itu adalah hal yang sulit apalagi kalau kita tidak mengerti cara membuatnya. disini kita akan belajar membuat program openGL rumah dengan code block. lengkap dengan sourcodenya yang dapat di copas langsung ke dalam editornya. hasil dari projek kita adalah seperti gambar di bawah ini.



    Gambar diatas adalah sebuah gambar 2 Dimensi yang tidak bisa ditranslasikan ataupun di beri efek karena gambar diatas adalah gambar sederhana sebuah desain.

langkah-langkah untuk membuatnya adalah sebagai berikut.


adapun langkah -langkah dalam membuatnya adalah sebagai berikut :

  1. download terlebih dahulu library openglnya disini : Download
  2. setting opengl di codeblock dengan openGl dapat dilihat disini : view
  3. buat projek baru dengan openGL caranya dapat dilihat disini : view
  4. copy semua sourcode yang tersedia di artikel ini
Adapun sourcode dari artikel ini adalah sebagai berikut :

#include<Windows.h>       // for MS Windows
#include<GL\glut.h>       // GLUT, include glu.h and gl.h
//Note: GLglut.h path depending on the system in use
void init()
{
    // Set display window color to as glClearColor(R,G,B,Alpha)
    glClearColor(0.5, 0.9, 0.4, 0.0);
    // Set projection parameters.
    glMatrixMode(GL_PROJECTION);
    // Set 2D Transformation as gluOrtho2D(Min Width, Max Width, Min Height, Max Height)
    gluOrtho2D(0.0, 800, 0.0, 600);
}
void home()
{
    //Roof
    glClear(GL_COLOR_BUFFER_BIT);     // Clear display window
    // Set line segment color as glColor3f(R,G,B)
    glColor3f(0.3, 0.5, 0.8);
    glBegin(GL_POLYGON);
    glVertex2i(200, 500);
    glVertex2i(600, 500);
    glVertex2i(700, 350);
    glVertex2i(300, 350);
    glEnd();
    // Top of Front Wall
    glColor3f(0.1, 0.5, 0.0);
    glBegin(GL_TRIANGLES);
    glVertex2i(200, 500);
    glVertex2i(100, 350);
    glVertex2i(300, 350);
    glEnd();
    // Front Wall
    glColor3f(0.7, 0.2, 0.3);
    glBegin(GL_POLYGON);
    glVertex2i(100, 350);
    glVertex2i(300, 350);
    glVertex2i(300, 100);
    glVertex2i(100, 100);
    glEnd();
    // Front Door
    glColor3f(0.7, 0.2, 0.9);
    glBegin(GL_POLYGON);
    glVertex2i(150, 250);
    glVertex2i(250, 250);
    glVertex2i(250, 100);
    glVertex2i(150, 100);
    glEnd();

    // Front Door Lock
    glColor3f(0.3, 0.7, 0.9);
    glPointSize(15);
    glBegin(GL_POINTS);
    glVertex2i(170, 170);
    glEnd();

    //side Wall
    glColor3f(0.1, 0.2, 0.3);
    glBegin(GL_POLYGON);
    glVertex2i(300, 350);
    glVertex2i(700, 350);
    glVertex2i(700, 100);
    glVertex2i(300, 100);
    glEnd();
    // window one
    glColor3f(0.2, 0.4, 0.3);
    glBegin(GL_POLYGON);
    glVertex2i(330, 320);
    glVertex2i(450, 320);
    glVertex2i(450, 230);
    glVertex2i(330, 230);
    glEnd();
    // line of window one
    glColor3f(0.1, 0.7, 0.5);
    glLineWidth(5);
    glBegin(GL_LINES);
    glVertex2i(390, 320);
    glVertex2i(390, 230);
    glVertex2i(330, 273);
    glVertex2i(450, 273);
    glEnd();
    // window two
    glColor3f(0.2, 0.4, 0.3);
    glBegin(GL_POLYGON);
    glVertex2i(530, 320);
    glVertex2i(650, 320);
    glVertex2i(650, 230);
    glVertex2i(530, 230);
    glEnd();
    // lines of window two
    glColor3f(0.1, 0.7, 0.5);
    glLineWidth(5);
    glBegin(GL_LINES);
    glVertex2i(590, 320);
    glVertex2i(590, 230);
    glVertex2i(530, 273);
    glVertex2i(650, 273);
    glEnd();

    // Entrance Path
    glColor3f(0.3, 0.5, 0.7);
    glLineWidth(3);
    glBegin(GL_POLYGON);
    glVertex2i(150, 100);
    glVertex2i(250, 100);
    glVertex2i(210, 0);
    glVertex2i(40, 0);
    glEnd();
    // Process all OpenGL routine s as quickly as possible
    glFlush();
}
int main(int argc, char ** argv)
{
    // Initialize GLUT
    glutInit(&argc, argv);
    // Set display mode
    glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
    // Set top - left display window position.
    glutInitWindowPosition(100, 100);
    // Set display window width and height
    glutInitWindowSize(500, 500);
    // Create display window with the given title
    glutCreateWindow("2D House in OpenGL ");
    // Execute initialization procedure
    init();
    // Send graphics to display window
    glutDisplayFunc(home);
    // Display everything and wait.
    glutMainLoop();
}


    ketika program diatas dijalankan maka akan menghasilkan keluaran objek seperti dibawah ini. 



    semoga bermanfaat bagi semua yang sedang belajar openGL ataupun yang mengerjakan tugas openGL. kode diatas tidak akan saya jelaskan secara detail karena diweb ini dibuat sebagai referensi contohnya saja. untuk penjelasannya silahkan analisa sendiri. terimakasih...




    Referency

    1. http://kuliah-dota.blogspot.co.id/2016/05/cara-setting-opengl-pada-bloodshed-dev-c.html




    0 Response to "Projek OpenGL Membuat Rumah dengan Pembrograman C++ dan C"

    Post a Comment

    Iklan Atas Artikel

    Iklan Tengah Artikel 1

    Iklan Tengah Artikel 2

    Iklan Bawah Artikel