Saturday 29 April 2017

Part1 OpenGL | Menggambar titik pada openGL

A. Titik Geometris Pada Open GL

didalam pemrograman openGL kita mengenal 10 kode primitif yang dapat kita gunakan untuk menggambar garis dan titik. diantara ke 10 tipedata primitif tersebut antara lain :
  1. Points (titik).   
  2. Lines (garis).
  3. Triangles (segitiga).
  4. Triangle Strip (segitiga jalur).
  5. Quad Strip (Quad jalur).
  6. Line Strip (garis jalur).
  7. Line Loop (garis looping).
  8. Quad (Quad).
  9. Polygon (poligon).
  10. Triangle Fan(segitiga fan)

untuk memahami satu persatu  dari 10 geometris diatas. maka saya akan membagi beberapa bagian untuk dibahas dalam artikelnya. karena kalau dibahas semua akan pusing dan sayapun pusing ngetiknya.

kali ini pada artikel pertama ini saya akan membahas dulu mengenai GL_POINTS.



B. GL_POINTS

      Pada dasarnya GL_POINTS digunakan untuk membuat sebuah titik dalam penggambaran. misalnya kita akan membuat sebuah segitiga. maka segitika mempunyai 3 titik utama yang kemudian akan disambungkan dengan garis.

Untuk mencoba tutorial ini, kamu harus mempersiapkan apa saja yang dibutuhkannya:
  1. sudah terinstal kodeblock. kemudian buka kodeblock dan pilih FILE kemudian new(projek) kemudian pilih Glut.
  2. Setelah memilih glut hapus kode bawaan codeblock
  3. Copy kode yang dibawah ini dan masukan ke projek kamu.
berikut ini adalah kode yang bisa kamu coba untuk mencoba program dari OPENGL:




Code Program

#include <gl/glut.h>


void Draw() {
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0, 1.0, 1.0);        // digunakan untuk merubah warna yaitu warna putih
glBegin(GL_POINTS);         // awal kode untuk menggambar
glVertex3f(0.2, 0.2, 0.0);       // posisi titik yang akan digambar
glVertex3f(0.8, 0.2, 0.0);
glVertex3f(0.2, 0.5, 0.0);
glVertex3f(0.8, 0.5, 0.0);
glVertex3f(0.2, 0.8, 0.0);
glVertex3f(0.8, 0.8, 0.0);
glEnd();                               // akhir kode untuk menggambar
glFlush();                             // memastikan bahwa kode dieksekusi
}



void Initialize() {
glClearColor(0.0, 0.0, 0.0, 0.0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);
}



int main(int iArgc, char** cppArgv) {
glutInit(&iArgc, cppArgv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(250, 250);
glutInitWindowPosition(200, 200);
glutCreateWindow("belajar GL_POINTS");
Initialize();
glutDisplayFunc(Draw);
glutMainLoop();
return 0;
}

sumber :
(https://zacknov.wordpress.com/2011/09/10/dasar-dasar-menggambar-dengan-opengl-dan-menggambar-titik/)




jika kode tersebut dijalankan maka hasilnya akan seperti ini :




untuk memulai menggambar titik diawali dengan GL_POINTS kemudian dilanjut dengan letak titik itu akan berada yang dipanggil dengan perintah glVertex(x,y,z) titik X titik Y dan titik Z.

glBegin(GL_POINTS);
glVertex3f(0.2, 0.2, 0.0);        // bottom left
glVertex3f(0.8, 0.2, 0.0);        // bottom right
glVertex3f(0.2, 0.5, 0.0);        // Left to 2 after the bottom left
glVertex3f(0.8, 0.5, 0.0);        // Right to 2 after the bottom left
glVertex3f(0.2, 0.8, 0.0);        // Left after the 2nd left
glVertex3f(0.8, 0.8, 0.0);        // Right after 2nd right
glEnd();


lihatlah gambar dibawah ini.

image dotted vertex
(https://zacknov.wordpress.com/2011/09/10/)


atau kalau dengan posisi angka vertex adalah sebagai berikut:

image dotted vertex
(https://zacknov.wordpress.com/2011/09/10/)
demikian tutorial pertama ini saya mulai. kemudian saya akan bahas titik-titik yang lainnya.




Daftar Pustaka

  1. https://zacknov.wordpress.com/2011/09/10/dasar-dasar-menggambar-dengan-opengl-dan-menggambar-titik/

Wednesday 26 April 2017

membuat projek openGL C atau c++ itu mudah (box colorfull 2D). . .OpenGL - tutorials

    sangat mudah membuat sebuah projek openGL di C atau C++. semua orang pasti bisa dan akan bisa bila berusaha untuk mencobanya. namun terkadang kita sulit untuk mencari contoh real dari sebuah projek-projek yang ingin kita coba hasilnya. karena kalau orangnya yang lemah ingatannya seperti saya dan tidak tau cara bikin programnya dan seperti apa bentuknya maka akan sangat kesulitan. 
     maka oleh karena itu dengan memberikan salah satu contoh di bawah ini yang membuat sebuah kotak pelangi sebagai dasar untuk pengetahuannya.



Untuk membuat sebuah projek seperti diatas yang perlu disiapkan adalah :
  1.  library openGL glut + codeblock atau bisa menggunakan editor Dev C++.
  2. library dibuat setingannya ke kode block.
  3. setelah semua beres copy paste contoh koding dibawah ini.

Code Program

#include <stdio.h>
#include <stdlib.h>
#include <gl/glut.h>

using namespace std;

void tampil(){
     glClearColor (1.0,1.0,1.0,1.0); //warna dasar putih
     glClear (GL_COLOR_BUFFER_BIT);

     glColor3f (1.0, 1.0, 0.0);//warna kuning

     glBegin(GL_POLYGON); //persegi kuning
     glVertex2f(0,0.5);
     glVertex2f(0.5,0);
     glVertex2f(0,-0.5);
     glVertex2f(-0.5,0);
     glEnd ();

     glColor3f (0.0, 0.0, 1.0); //warna biru

     glBegin(GL_POLYGON); // persegi biru
     glVertex2f(-0.5,1);
     glVertex2f(-1,0.5);
     glVertex2f(-0.5,0);
     glVertex2f(0,0.5);
     glEnd ();

     glColor3f (1.0, 0.0, 0.0); //warna merah

     glBegin(GL_POLYGON); //persegi merah
     glVertex2f(0.5,1);
     glVertex2f(0,0.5);
     glVertex2f(0.5,0);
     glVertex2f(1,0.5);
     glEnd ();

     glColor3f (0.0, 1.0, 0.0); //warna hijau

     glBegin(GL_POLYGON); //persegi hijau
     glVertex2f(-0.5,0);
     glVertex2f(-1,-0.5);
     glVertex2f(-0.5,-1);
     glVertex2f(0,-0.5);
     glEnd ();

     glColor3f (1.0, 0.0, 1.0); //warna ungu

     glBegin(GL_POLYGON); //persegi ungu
     glVertex2f(0.5,0);
     glVertex2f(0,-0.5);
     glVertex2f(0.5,-1);
     glVertex2f(1,-0.5);
     glEnd ();

     glFlush();
     }

int main(int argc, char *argv[])
{


    glutCreateWindow("ini kotak");
    glutDisplayFunc(tampil);
    glutMainLoop();

    system("PAUSE");
    return EXIT_SUCCESS;
}

      Maka setelah koding diatas dijalankan maka akan menghasilkan gambar seperti dibawah ini. yang berhiasakan warna warni sebuah desain primitif namun untuk awal-awal saya sangat bahagia bisa melakukannya.




ini adalah informasi dasar dari kodingan diatas.

  1. glBegin(mode);
       glVertex* (…);
         …..
       glVertex* (…);
    glEnd ();
       Seperti yang kita lihat di koding atas setiap awal sebuah desain gambar diopengl selalu diawali dengan GL_Begin dan di akhiri dengan glEnd, nah diatara glBegin dan glEnd itu isinya adalah sebuah titik dan manipulasi warna ada disini. adapun beberapa contoh dari macam-macam titik tersebut adalah :

GL_POINTS,
GL_LINES,
GL_LINE_STRIP,
GL_LINE_LOOP,
GL_TRIANGLES,
GL_TRIANGLE_STRIP,
GL_TRIANGLE_FAN,
GL_QUADS,
 GL_QUAD_STRIP,
GL_POLYGON

openGL code
function
glClearColor (1.0,1.0,1.0,1.0);
Indicates what color is used as background. Colors expressed in the form of RGBA (red, gree, blue alpha). Each color ranges between 0 and 1 only
glClear (GL_COLOR_BUFFER_BIT);
This function will remove windows and give the color that we have previously defined by using glclearcolor.
glColor3f (1.0, 1.0, 0.0);
Are the 3 main colors (red, green, blue). The number 1 means yes the number 0 means no. So when we will define the colors in the picture. We first define this glColor3f code before the code glBegin () \ glEnd ().
glVertex2f(0.5,1);
To determine a 2 point only on the x and y axes.
glFlush();
To ensure that the image command is executed. Without this command the image can not be loaded.
glutCreateWindow("ini kotak");
Note in the following picture note on the top there is the word "this box". Yes very true its function just for naming project only
glutDisplayFunc(tampil);
Used to call the function appear from the image that we designed above. On the show function
glutMainLoop();
Used to have openGL run the code.

Reverensi

  1. http://www.sholihin.com/2011/10/membuat-persegi-warna-warni-dengan.html
  2. http://yuniarelfrida.blogspot.co.id/2012/10/membuat-garis-dengan-opengl_26.html

Tingkat keanekaragaman hayati tingkat gen

Tingkat keanekaragaman hayati tingkat gen -- Keanekaragaman hayati adalah sebuah istilah untuk menggambarkan keanekaragaman mahluk hidup di ...