Menampilkan Quad,Polygon dan Triangle Fan dengan OpenGL


Menampilkan Quad

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 :

 

 

 

 

 

4 thoughts on “Menampilkan Quad,Polygon dan Triangle Fan dengan OpenGL

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.