Wednesday, October 4, 2017

Menggambar dengan OpenGL di Devc++

Halooooo kembali lagi ngepost ilmu disini, kali ini membahas tentang gimana cara menggambar pake OpenGL di Devc++...nah silakan disimak ya readers :)

Program 1:


  • Menambah titik

#include<GL/glut.h> //memanggil librari OpenGL
void titik();
main(int argc,char**argv)
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);
glutInitWindowSize(600,800); //ukuran jendela pada saat di compile
glutInitWindowPosition(100,100); //menentuka posisi jendela
glutCreateWindow("Tambah beberapa titik"); //Judul pada saat di compile
glClearColor(0.0,0.0,0.0,0.0); //warna latar belkang 4 komponen wana yaittu RGB, dan alpha
glMatrixMode(GL_PROJECTION);
//glOrtho((0.0,1.0,0.0,1.0);
glOrtho(1.0,1.0,1.0,1.0,-1.0,1.0);
glutDisplayFunc(titik);
glutMainLoop();
}
void titik()
{
glClear(GL_COLOR_BUFFER_BIT); //membersihkan semua piksel
glPointSize(8.8); //ukuran titik piksel
glBegin(GL_POINTS); //perintah untuk grafik primitif
glColor3f(1.0,1.0,1.0); //warna latar muka/3 komponen warna RGB
glVertex2f(0.25,0.25); //lokasi titik berada di (x,y)/ type argumennya adalah integer dan 2dimensi yatu x dan y
glColor3f(0.1,1.0,1.0);
glVertex2f(0.5,0.5);
glColor3f(0.1,1.0,1.0);
glVertex2f(0.30,0.30);
glColor3f(0.1,1.0,1.0);
glVertex2f(0.55,0.55);
//glPointSize(2.0);
glEnd(); //Akhir perintah OpenGL
glFlush(); //Untuk mengeekusi openGL infinite time
}


  • Merubah warna titik

#include<GL/glut.h> //memanggil librari OpenGL
void titik();
main(int argc,char**argv)
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);
glutInitWindowSize(600,800);
glutInitWindowPosition(100,100);
glutCreateWindow("Ganti Warna");
glClearColor(0.0,0.0,0.0,0.0); //warna latar belkang 4 komponen wana yaittu RGB, dan alpha
glMatrixMode(GL_PROJECTION);
//glOrtho((0.0,1.0,0.0,1.0);
glOrtho(1.0,1.0,1.0,1.0,-1.0,1.0);
glutDisplayFunc(titik);
glutMainLoop();
}
void titik()
{
glClear(GL_COLOR_BUFFER_BIT); //membersihkan semua piksel
glPointSize(9.0); //ukuran titik piksel
glBegin(GL_POINTS); //perintah untuk grafik primitif
glColor3f(0.0,0.0,1.1); //warna latar muka/3 komponen warna RGB (biru)
glVertex2f(0.25,0.25); //lokasi titik berada di (x,y)/ type argumennya adalah integer dan 2dimensi yatu x dan y
glColor3f(0.0,1.1,0.0); //warna hijau
glVertex2f(0.5,0.5);
glColor3f(1.1,1.1,0.0); //warna kuning
glVertex2f(0.30,0.30);
glColor3f(1.0,0.0,0.0); //warna merah
glVertex2f(0.55,0.55);
        glColor3f(0.0,0.0,1.1); //warna biru
        glVertex2f(0.55,0.55);
//glPointSize(2.0);
glEnd(); //Akhir perintah OpenGL
glFlush(); //Untuk mengeekusi openGL infinite time
}



  • Menganalisa

  
 Program 2 & 3

  • Segitiga sama kaki
#include <iostream>
#include <Gl/glut.h>
#include <stdio.h>
void titik();
main(int argc, char** argv)
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);
glutInitWindowSize(600,800);
glutInitWindowPosition(100,100);
glutCreateWindow("Percobaan Segitiga Sama Kaki");
glClearColor(0.0,0.0,0.0,0.0); //warna latar belakang/ 4 komponen warna yaitu RGB, dan alpha
glMatrixMode(GL_PROJECTION);
//glOrtho(0.0,1.0,0.0,1.0,-1.0,1.0);
glOrtho(1.0,1.0,1.0,1.0,-1.0,1.0);
glutDisplayFunc(titik);
glutMainLoop();
}
void titik()
{
glClear(GL_COLOR_BUFFER_BIT);//membersihkan semua piksel
glBegin(GL_LINES);//perintah untuk grafik primitif

glColor3f(0.0,0.0,1.0);//warna latar antarmuka/3 komponen warna RGB
glVertex2f(-0.5,-0.2);
glVertex2f(0.0,0.5);

glColor3f(0.0,0.0,1.0);
glVertex2f(0.5,-0.2);
glVertex2f(0.0,0.5);
glColor3f(0.0,0.0,1.0);
glVertex2f(0.5,-0.2);
glVertex2f(-0.5,-0.2);

glPointSize(50.0f);
glLineWidth(50.0f);
glEnd();
glFlush();
}


  • Kubus
#include <GL/glut.h>
void titik();
 main(int argc, char** argv)
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);
    glutInitWindowSize(600,600);
    glutInitWindowPosition(100,100);
    glutCreateWindow("PERCOBAAN KUBUS");
    glClearColor(0.0,0.0,0.0,0.0);
    glMatrixMode(GL_PROJECTION);
    glutDisplayFunc(titik);
    glutMainLoop();
}
     void titik()
    {
    glClear(GL_COLOR_BUFFER_BIT);
    glBegin(GL_POLYGON);
    glColor3f(1.1,0.0,0.0); //persegi merah
    glVertex2f(-0.5,-0.5);
    glVertex2f(-0.5,0.5);
    glVertex2f(0.5,0.5);
    glVertex2f(0.5,-0.5);
    glEnd();
    glFlush();
    } //untuk mengeksekusi opengL infinite time


  • Pelangi, 7 warna 7 garis

#include<GL/glut.h>
void titik ();
main(int argc, char** argv)
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);
glutInitWindowSize(800,600);
glutInitWindowPosition(100,100);
glutCreateWindow("7 WARNA 7 GARIS");
glClearColor(0.0,0.0,0.0,0.0);
glMatrixMode(GL_PROJECTION);
glOrtho(0.0,1.0,0.0,1.0,-1.0,1.0);
glutDisplayFunc(titik);
glutMainLoop();
}
void titik()
{
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_LINES);
glColor3f(1.0,0.0,0.0);
glVertex2f(0.5,0.7);
glColor3f(0.0,0.0,0.0);
glVertex2f(0.5,0.9); 
glColor3f(0.0,1.0,0.0);
glVertex2f(0.8,0.3);
glColor3f(0.0,1.0,0.0);
glVertex2f(0.2,0.2);
glColor3f(0.0,0.0,1.0);
glVertex2f(0.6,0.9);
glColor3f(0.0,0.0,1.0);
glVertex2f(0.4,0.4);
glColor3f(1.0,5.0,0.0);
glVertex2f(0.15,0.3);
glColor3f(1.0,5.0,0.0);
glVertex2f(0.7,0.7);
glColor3f(0.0,5.0,0.0);
glVertex2f(0.55,0.8);
glColor3f(0.1,1.0,1.0);
glVertex2f(0.10,0.9);
glColor3f(1.0,0.0,1.0);
glVertex2f(0.3,0.9);
glColor3f(1.0,0.0,1.0);
glVertex2f(0.5,0.5);
glColor3f(1.0,1.0,1.0);
glVertex2f(0.8,0.15);
glColor3f(1.0,1.0,1.0);
glVertex2f(0.7,0.3);
glPointSize(50.0f);
glEnd();
glFlush();
}


  • Kotak berwarna

#include<GL/glut.h>
void titik();


void titik()
{
glClear(GL_COLOR_BUFFER_BIT); //merah
glBegin(GL_POLYGON);
glColor3f(0.0,1.0,0.0);
glVertex2f(-0.7f,-0.7f);
glVertex2f(-0.7f,0.7f);
glVertex2f(0.7f,0.7f);
glVertex2f(0.7f,-0.7f);
glVertex2f(-0.7f,-0.7f);
glPointSize(50.0f);
glEnd();//akhir perintah OpenGL

    
glBegin(GL_POLYGON);
glColor3f(1.0,0.0,0.0);
glVertex2f(-0.3f,-0.3f);
glVertex2f(-0.3f,0.3f);
glVertex2f(0.3f,0.3f);
glVertex2f(0.3f,-0.3f);
glVertex2f(-0.3f,-0.3f);
glPointSize(50.0f);
glEnd();//akhir perintah OpenGL
glFlush();//untuk mengeksekusi openGL infinite time
}

main(int argc, char** argv)
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);
glutInitWindowSize(800,800);
glutInitWindowPosition(100,100);
glutCreateWindow("Percobaan yang ke-4");
glClearColor(0.0,0.0,0.0,0.0);
glMatrixMode(GL_PROJECTION);
// glOrtho(0.0,1.0,0.0,1.0,-1.0,1.0);
glOrtho(1.0,1.0,1.0,1.0,-1.0,1.0);
glutDisplayFunc(titik);
glutMainLoop();
}











No comments:

Post a Comment

Primitive Drawing 2 Menggunakan OpenGL di C++

Halooooo..... Elvi ngepost ilmu (lagi), kali ini Elvi mau bagi ilmu tentang primitive drawing 2 menggunakan OpenGL di C++. Nah kali ini E...