Dalam Tugas Pengantar Grafik Komputer dan Pengolahan Citra saya akan membuat beberapa contoh grafik dengan menggunakan program OpenGL :
/* OpenGL
Segitiga */
glClearColor (0.0f, 0.0f, 0.0f,
0.0f);
glClear (GL_COLOR_BUFFER_BIT);
glPushMatrix ();
glBegin (GL_TRIANGLES);
glColor3f (1.0f, 0.0f, 0.0f); glVertex2f (0.0f, 1.0f);
glColor3f (0.0f, 1.0f, 0.0f); glVertex2f (0.87f, -0.5f);
glColor3f (0.0f, 0.0f, 1.0f); glVertex2f (-0.87f, -0.5f);
glEnd ();
glPopMatrix ();
SwapBuffers (hDC);
theta += 1.0f;
Sleep (1);
}
}
Output :
/* OpenGL Kotak */
glClearColor (0.0f, 0.0f, 0.0f,
0.0f);
glClear (GL_COLOR_BUFFER_BIT);
glBegin (GL_POLYGON);
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, 2.0f, 0.0f); glVertex2f (0.5f, 0.5f);
glColor3f (0.0f, 0.0f, 3.0f); glVertex2f (0.5f, -0.5f);
glEnd ();
SwapBuffers (hDC);
Sleep (1);
}
}

Output :
/* OpenGL Garis Diagonal*/
glClearColor (0.0f, 0.0f, 0.0f,
0.0f);
glClear (GL_COLOR_BUFFER_BIT);
glPushMatrix ();
glClearColor(1,1,1,0);
glColor3f(1,1,1); //
glBegin(GL_LINES);
glVertex3f(0,0,-0.8);
glVertex3f(9.9,8.9,0.1);
glEnd ();
glPopMatrix ();
SwapBuffers (hDC);
Sleep (1);
}
}
Output :
Penjelasan
:
glColor3f(R,G,B)
Warna latar muka dengan tiga komponen warna (RGB)
glColor4f(R,G,B,) Warna latar muka dengan empat komponen warna (RGB, alpha)
R = red, G= green, B= blue
glColor3f(0.0,1.0,0.0);
//setting warna
glColor3f(1,0,0);
// ini setting warna merah/Red program garis (coba lihat kembali program
diatas)
glColor3f (1.0f,
0.0f, 0.0f);
glColor3f (0.0f, 1.0f, 0.0f); Kombinasi warna pada
segitiga & kotak seperti diatas
glColor3f (0.0f, 2.0f, 0.0f);
glColor3f (0.0f, 0.0f, 3.0f);
glClearColor
(0.0f, 0.0f, 0.0f, 0.0f);
karena:
Red= 0.0 Green=0.0 Blue= 1.0
glClear(GL_COLOR_BUFFER_BIT); // Fungsi ini akan menghapus window dan
memberi warna yang telah kita definisikan sebelumnya dengan menggunakan
glClearColor.
glBegin(GL_LINES);
// Membuat Garis dan merupakan Objek primitif
glBegin(GL_TRIANGLES);
// Membuat Segitiga dan merupakan Objek primitif
glBegin(GL_QUADS); // Segiempat dan merupakan objek primitif
GL_LINES)
mulai menggambar garis
GL_TRIANGLES
setiap 3 glVertex membentuk segitiga, dan tiap segitiga saling lepas
GL_QUADS
tiap 4 glVertex membentuk segi empat
GL_POLYGON.
n glVertex akan membentuk bidang bersisi n
Contoh:
glBegin(GL_LINES);
glVertex3f(0,0,-0.8);
glVertex3f(9.9,8.9,0.1);
Contoh
lain:
glVertex3i(1,0,-2);
glVertex3f(1.0, 0.0, -2.0);
adalah sama yaitu
meletakkan titik di layar pada koordinat x = 1, y = 0 dan z = -2, perbedaannya
yaitu pada perintah pertama menspesifikasikan titik dengan tipe data integer
32-bit, sedangkan yang kedua dengan tipe data single precision floating point.
Pembuatan garis :
glBegin(GL_LINES);
/* Ingin menggambar garis */
glVertex2(tipe_data)(koordinat X1, koordinat Y1); /* menyatakan sejumlah
titik */
glVertex2(tipe_data)(koordinat X2, koordinat Y2); /* menyatakan sejumlah
titik */
glEnd();
/* Akhir menggambar titik */
Pembuatan
segitiga :
glBegin
(GL_TRIANGLES);
/* Ingin menggambar segitiga * /
glColor3f (1.0f, 0.0f, 0.0f); glVertex2f (0.0f, 1.0f); /*
menyatakan sejumlah titik * /
glColor3f (0.0f, 1.0f, 0.0f); glVertex2f (0.87f, -0.5f); /* menyatakan
sejumlah titik */
glColor3f (0.0f, 0.0f, 1.0f); glVertex2f (-0.87f, -0.5f); /* menyatakan
sejumlah titik */
glEnd ();
/* Akhir menggambar titik
* /
Pembuatan
kotak :
glBegin (GL_POLYGON);
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, 2.0f, 0.0f); glVertex2f (0.5f, 0.5f);
glColor3f (0.0f, 0.0f, 3.0f); glVertex2f (0.5f, -0.5f);
glEnd ();