Menampilkan Quad,Polygon dan Triangle Fan dengan OpenGL

Posted on Updated on


Gambar Quad adalah bentuk segiempat dengan vertex yang bebas. Bebas disini artinya mempunyai segi empat buah yang bebas. Untuk menampilkan Quad, OpenGL mengunakan perintah GL_QUADS.

Perintah sederhana menampilkan SQUAD adalah :

 

glBegin(GL_QUADS);
glVertex3f(0.2, 0.2, 0.0);
glVertex3f(0.8, 0.2, 0.0);
glVertex3f(0.6, 0.4, 0.0);
glVertex3f(0.4, 0.4, 0.0);
glVertex3f(0.4, 0.6, 0.0);
glVertex3f(0.6, 0.6, 0.0);
glVertex3f(0.8, 0.8, 0.0);
glVertex3f(0.2, 0.8, 0.0);
glEnd();

 

Gambar yang dihasilkan dari peritah diatas adalah :

Perintah lengkap menampilkan SQUAD dalam main program bahasa C adalah :

 

#include <gl/glut.h>

 

void Draw() {
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0, 1.0, 1.0);
glBegin(GL_QUADS);
glVertex3f(0.2, 0.2, 0.0);
glVertex3f(0.8, 0.2, 0.0);
glVertex3f(0.6, 0.4, 0.0);
glVertex3f(0.4, 0.4, 0.0);
glVertex3f(0.4, 0.6, 0.0);
glVertex3f(0.6, 0.6, 0.0);
glVertex3f(0.8, 0.8, 0.0);
glVertex3f(0.2, 0.8, 0.0);
glEnd();
glFlush();
}

 

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(“Quads”);
Initialize();
glutDisplayFunc(Draw);
glutMainLoop();
return 0;
}

 

Hasil setelah di kompile dari program SQUAD diatas adalah :

Menampilkan Polygon

 

Polygon atau segibanyak dapat dibentuk dengan menggunakan perintah GL_POLYGON di OpenGL.

Perintah sederhana menampilkan POLYGON adalah:

 

glBegin(GL_POLYGON);
glVertex3f(0.2, 0.2, 0.0);
glVertex3f(0.6, 0.1, 0.0);
glVertex3f(0.8, 0.3, 0.0);
glVertex3f(0.7, 0.6, 0.0);
glVertex3f(0.4, 0.8, 0.0);
glEnd();

 

Gambar yang hasil dari perintah diatas adalah :

Perintah lengkap menampilkan POLYGON dalam main program bahasa C adalah :

#include <gl/glut.h>

void Draw() {
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0, 1.0, 1.0);
glBegin(GL_POLYGON);
glVertex3f(0.2, 0.2, 0.0);
glVertex3f(0.6, 0.1, 0.0);
glVertex3f(0.8, 0.3, 0.0);
glVertex3f(0.7, 0.6, 0.0);
glVertex3f(0.4, 0.8, 0.0);
glEnd();
glFlush();
}

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(“Polygon”);
Initialize();
glutDisplayFunc(Draw);
glutMainLoop();
return 0;
}

Hasil setelah di kompile dari program POLYGON diatas adalah :

Menampilkan Triangle Fan

 

Triangle Fan adalah menghubungkan beberapa segitiga ke titik pusat. Untuk menampilkan Triangle fan, OpenGL menggunakan perintah GL_TRIANGLE_FAN.

Perintah dasar menampilkan Triangle Fan adalah :

 

glBegin(GL_TRIANGLE_FAN);
glVertex3f(0.2, 0.2, 0.0);
glVertex3f(0.6, 0.1, 0.0);
glVertex3f(0.8, 0.3, 0.0);
glVertex3f(0.7, 0.6, 0.0);
glVertex3f(0.4, 0.8, 0.0);
glEnd();

 

Gambar dari perintah dasar diatas adalah :

Program lengkap Triangle fan dalam fungsi main bahasa C adalah :

 

#include <gl/glut.h>

 

void Draw() {
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0, 1.0, 1.0);
glBegin(GL_TRIANGLE_FAN);
glVertex3f(0.2, 0.2, 0.0);
glVertex3f(0.6, 0.1, 0.0);
glVertex3f(0.8, 0.3, 0.0);
glVertex3f(0.7, 0.6, 0.0);
glVertex3f(0.4, 0.8, 0.0);
glEnd();
glFlush();
}

 

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(“Triangle Fan”);
Initialize();
glutDisplayFunc(Draw);
glutMainLoop();
return 0;
}

 

Setelah di kompile, maka hasilnya adalah :

 

 

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s