Open GL
Menampilkan Garis
Menampilkan garis dalam OpenGL menggunakan perintah GL_LINES. Menggambarkan garis hanya menggunakan 2 buah vertex,yaitu titik mulai dan titik akhir. Untuk jelasnya, perhatikan gambar dibawah ini :

Program untuk membuat garis adalah:
glBegin(GL_LINES);
glVertex3f(0.2, 0.2, 0.0);
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();
Program Lengkap untuk membuat garis adalah:
#include <gl/glut.h>
void Draw() {
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0, 1.0, 1.0);
glBegin(GL_LINES);
glVertex3f(0.2, 0.2, 0.0);
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();
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(“Line”);
Initialize();
glutDisplayFunc(Draw);
glutMainLoop();
return 0;
}
Hasil Kompile program garis diatas adalah :

Menampilkan Segitiga
Menampilkan Segitiga menggunakan perintah GL_TRIANGLES dengan 3 buah vertex. Segitiga yang dibentuk bisa searah dengan jarum jam atau berlawanan. Pada contoh ini gambar pertama berlawanan dengan arah jarum jam dan yang kedua sebaliknya.

Perintah menampilkan segitiga adalah:
glBegin(GL_TRIANGLES);
glVertex3f(0.2, 0.2, 0.0);
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();
Perintah lengkap menampilkan segitiga adalah :
#include <gl/glut.h>
void Draw() {
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0, 1.0, 1.0);
glBegin(GL_TRIANGLES);
glVertex3f(0.2, 0.2, 0.0);
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();
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(“Triangles”);
Initialize();
glutDisplayFunc(Draw);
glutMainLoop();
return 0;
}
Hasil Kompiler program segitiga diatas adalah:

Menampilkan garis dalam OpenGL menggunakan perintah GL_LINES. Menggambarkan garis hanya menggunakan 2 buah vertex,yaitu titik mulai dan titik akhir. Untuk jelasnya, perhatikan gambar dibawah ini :
Program untuk membuat garis adalah:
glBegin(GL_LINES);
glVertex3f(0.2, 0.2, 0.0);
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();
Program Lengkap untuk membuat garis adalah:
#include <gl/glut.h>
void Draw() {
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0, 1.0, 1.0);
glBegin(GL_LINES);
glVertex3f(0.2, 0.2, 0.0);
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();
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(“Line”);
Initialize();
glutDisplayFunc(Draw);
glutMainLoop();
return 0;
}
Hasil Kompile program garis diatas adalah :
Menampilkan Segitiga
Menampilkan Segitiga menggunakan perintah GL_TRIANGLES dengan 3 buah vertex. Segitiga yang dibentuk bisa searah dengan jarum jam atau berlawanan. Pada contoh ini gambar pertama berlawanan dengan arah jarum jam dan yang kedua sebaliknya.
Perintah menampilkan segitiga adalah:
glBegin(GL_TRIANGLES);
glVertex3f(0.2, 0.2, 0.0);
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();
Perintah lengkap menampilkan segitiga adalah :
#include <gl/glut.h>
void Draw() {
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0, 1.0, 1.0);
glBegin(GL_TRIANGLES);
glVertex3f(0.2, 0.2, 0.0);
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();
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(“Triangles”);
Initialize();
glutDisplayFunc(Draw);
glutMainLoop();
return 0;
}
Hasil Kompiler program segitiga diatas adalah:
Color
Untuk memberi warna pada objek, seperti titik atau garis, dapat dilakukan dengan menggunakan fungsi à glColor3f(red,green,blue);
Di mana red, green, blue berada pada 0 sampai dengan 1, yang menunjukkan skala pencerahan dari masing-masing skala.
Berikut adalah beberapa fungsi color :
- glColor3f(0,0,0);//black
- glColor3f(0,0,1);//blue
- glColor3f(0,1,0);//green
- glColor3f(0,1,1)//cyan
- glColor3f(1,0,0)//red
- glColor3f(1,0,1)//magenta
- glColor3f(1,1,0);//yellow
- glColor3f(1,1,1);//white
Program ini menampilkan 4 buah titik dengan ukuran tertentu dengan warna yang berbeda-beda. Warna dasar dari dalam OpenGL itu adalah merah,hijau dan biru (RGB).
Kode Program pewarnaan adalah :

Kode Program pewarnaan adalah :
#include <windows.h>
#include <gl/glut.h>
void Display(void)
{
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_POINTS);
glColor3f(0.0,1.0,0.0);
glVertex2f(10.,10.);
glColor3f(1.0,1.0,0.0);
glVertex2f(10.,110.);
glColor3f(0.0,0.0,1.0);
glVertex2f(150.,110.0);
glColor3f(1.0,1.0,1.0);
glVertex2f(150.,10);
glEnd();
glFlush();
}
void reshape(int w,int h)
{
glViewport(0,0,(GLsizei)w,(GLsizei)h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(0.0,160.0,0.0,120);
}
void init(void)
{
glClearColor(1.0,0.0,0.0,1.0);
glPointSize(20.0);
}
void main(int argc,char* argv[])
{
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(320,240);
glutCreateWindow("ProgramPertama");
init();
glutDisplayFunc(Display);
glutReshapeFunc(reshape);
glutMainLoop();
}Program di atas bila dikompel hasilnya :Catatan :
glPushMatrix berfungsi untuk menyimpan koordinat yang ada. Sedangkan glPopMatrix adalah suatu fungsi guna memangil suatu fungsi yang telah disimpan pada glPushMatrix.