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 :
- library openGL glut + codeblock atau bisa menggunakan editor Dev C++.
- library dibuat setingannya ke kode block.
- 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.
-
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
- http://www.sholihin.com/2011/10/membuat-persegi-warna-warni-dengan.html
- http://yuniarelfrida.blogspot.co.id/2012/10/membuat-garis-dengan-opengl_26.html
ijin share ya
ReplyDelete