Pendahuluan
Tentang OpenGL
Pustaka OpenGL
Installer OpenGL
Persiapan Instalasi OpenGL pada DEVC++
(Freeglut)
Contoh Aplikasi
Bentuk Keluaran Aplikasi
Daftar Pustaka
Daftar Buku Referensi
Core OpenGL (GL) : berisi ratusan fungsi yang diawali dengan "gl" (misal
glColor, glVertex, glTranslate, glRotate). Pemodelan Objek GL
merupakan sekumpulan bentuk primitif, seperti titik, garis, dan polygon.
OpenGL Utility Library (GLU): dibangun diatas core OpenGL untuk
memberikan utiliti penting dan membangun lebih banyak model (seperti
permukan quadric) surfaces). Fungsi GLU diawali dengan "glu" (contoh :
gluLookAt, gluPerspective)
OpenGL Utilities Toolkit (GLUT): memberikan dukungan untuk dapat
beroperasi dengan OS (seperti : membuat window, penanganan keyboard
dan mouse), and dan membangun lebih banyak model (seperti :
sphere(bola) and torus(donat) ). Fungsi GLUT diawali dengan "glut"
(contoh : glutCreatewindow, glutMouseFunc).
Catatan dari opengl.org:
"GLUT dirancang untuk membangun program OpenGL dari ukuran kecil
hingga menengah. Sehingga GLUT hanya cukup untuk belajar OpenGL dan
mengembangkan aplikasi sederhana. GLUT adalah sederhana, mudah dan
kecil
OpenGL Extension Wrangler Library (GLEW): merupakan lintas
platform pustaka open-source C/C++ loading ekstensi. GLEW memberikan
mekanisme runtime yang efisien untuk menentukan ekstensi OpenGL yang
mana yang mendukung platform tujuan. Sumber dan pre-build binary
terdapat pada situs : http://glew.sourceforge.net/.
1.
2.
3.
4.
5.
Deklarasi
header
#include <windows.h>
#include <GL/glut.h>
Penanganan
Object
void display()
{
glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_QUADS);
glColor3f(1.0f, 0.0f, 0.0f);
glVertex2f(-0.5f, -0.5f);
glColor3f(0.0f, 1.0f, 0.0f);
glVertex2f( 0.5f, -0.5f);
glColor3f(0.0f, 0.0f, 1.0f);
glVertex2f( 0.5f, 0.5f);
glColor3f(1.0f, 0.0f, 1.0f);
glVertex2f(-0.5f, 0.5f);
glEnd();
glFlush();
}
Penanganan
Keyboard
Program
Utama
Perintah
Arti
Keterangan
glVertex2i(x,y);
glVertex2f(x,y);
glVertex3i(x,y,z);
glVertex3f(x,y,z);
glClearColour(R,G,B,);
glColor3f(R,G,B)
glColor4f(R,G,B,)
glBegin(GL_POINTS);
Titik
Objek primitif
glBegin(GL_LINES);
Garis
Objek primitif
glBegin(GL_LINE_STRIP);
Poligaris
Objek primitif
glBegin(GL_LINE_LOOP);
Poligaris tertutup
Objek primitif
glBegin(GL_TRIANGLES);
Segitiga
Objek primitif
glBegin(GL_TRIANGLE_STRIP);
Segitiga
Objek primitif
glBegin(GL_TRIANGLE_FAN);
Segitiga
Objek primitif
glBegin(GL_QUADS);
Segiempat
Objek primitif
glBegin(GL_QUADS_STRIP);
Segiempat
Objek primitif
glBegin(GL_LINE_STIPPLE);
Garis putus-putus
Objek primitif
glBegin(GL_POLY_STIPPLE);
Objek primitif
Fungsi GL
glutInit(&argc, argv);
Untuk menyiapkan lingkungan openGL
glutInitWindowSize(500, 500);
Untuk menyiapkan ukuran jendela untuk
openGL
glutInitWindowPosition(0, 0);
Untuk menyiapkan lokasi jendela untuk openGL
glutCreateWindow( Test OpenGL);
Untuk membuat jendela untuk openGL sekaligus
memberi judul
glutKeyboardFunc(keyboard);
Untuk mengaktifkan fungsi keyboard
glutDisplayFunc(display);
Untuk mengaktifkan fungsi penyaji
glutMainLoop();
Untuk menjalankan openGL secara berulang
glutIdleFunc(renderScene);
Untuk tetap melakukan render pada saat aplikasi
sedang idle
Fungsi GLUT
glutInit berfungsi untuk inisialisasi secara umum terhadap nilai-nilai yang ada pada
library GLUT.
glutMainLoop() , yaitu digunakan untuk menjalankan program.
glutDisplayFunc(display)