Anda di halaman 1dari 4

PRAKTIKUM GRAFIKA KOMPUTER

Pertemuan ke-2 (Primitive Drawing)

Dadan Ahmad Badar Muttaqin


2006116

Jurusan Ilmu Komputer


Program Studi Teknik Informatika
Institut Teknologi Garut
Jl. Mayor Syamsu No. 1 Jayaraga Garut 44151 Indonesia

I. PENDAHULUAN

Primitive Drawing adalah metode untuk menggambar objek secara geometris dengan langkah-langkah sederhana.
Geometri adalah cabang matematika yang berfokus pada pengukuran, bentuk, posisi, dan parameter bangun ruang.
Dalam Primitive Drawing, objek dibangun dari bagian-bagian sederhana seperti titik dan garis.

OpenGL digunakan sebagai wadah untuk menampilkan hasil komputasi dari instruksi dalam bahasa pemrograman
C++. Contohnya, untuk membuat bangun datar, titik koordinat digunakan sebagai referensi lokasi bangun datar, dan
garis menghubungkan titik-titik tersebut. Selain itu, fitur tambahan seperti warna juga digunakan untuk
mendeskripsikan objek yang dibuat.

Sumbu koordinat (x dan y) digunakan untuk menggambar objek dalam dua dimensi (2D), sedangkan sumbu (x, y,
z) digunakan untuk tampilan tiga dimensi (3D). User dapat menginisialisasi lokasi objek yang akan digambar
dengan instruksi yang ditulis pada text editor.

Drawing window adalah ruang di mana objek digambar dan dapat membantu pengguna memahami ukuran dan
posisi objek dalam gambar. Nilai maksimum sumbu x dan y bergantung pada dimensi drawing window yang telah
diatur sebelumnya. Ini memberikan kebebasan kepada pengguna untuk menggambar objek sesuai dengan cakupan
dimensi yang telah ditentukan.

1
Praktikum Grafika Komputer
Pertemuan ke-2 Primitive Drawing

II. PEMBAHASAN

A. Source Code

#include <GL/glut.h>
void Garis();
int main(int argc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(600, 800);
glutInitWindowPosition(100, 100);
glutCreateWindow("2006116 - Dadan Ahmad Badar M");
glClearColor(0.0, 0.0, 0.0, 0.0);
glMatrixMode(GL_PROJECTION);
gluOrtho2D(-300.0, 300.0, -400.0, 400.0);
glutIdleFunc(Garis);
glutDisplayFunc(Garis);
glutMainLoop();
}

void Garis()
{
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_LINES);
glColor4f(1.0f, 0.0f, 0.0f, 0.0f);
glVertex2d(-70, 0);
glVertex2d(70, 0);
glEnd();
glBegin(GL_LINES);
glColor4f(1.0f, 1.0f, 0.0f, 0.0f);
glVertex2d(-70, -20);
glVertex2d(70, -20);
glEnd();
glBegin(GL_LINES);
glColor3f(0.0f, 1.0f, 0.0f);
glVertex2d(-70, -40);
glVertex2d(70, -40);
glEnd();
glFinish();
}

2
Praktikum Grafika Komputer
Pertemuan ke-2 Primitive Drawing

B. Output

C. Penjelasan

1. `#include <GL/glut.h>`: Ini adalah direktif preprosesor yang mengimport library GLUT (OpenGL Utility
Toolkit) untuk digunakan dalam program.
2. `void Garis();`: Ini adalah deklarasi prototipe fungsi `Garis()`.
3. `int main(int argc, char** argv)`: Ini adalah fungsi `main` yang merupakan titik awal eksekusi program.
Fungsi ini menerima argumen baris perintah.
4. `glutInit(&argc, argv);`: Fungsi ini menginisialisasi GLUT dan menghubungkannya dengan argumen baris
perintah.
5. `glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);`: Fungsi ini mengatur mode display GLUT, dalam
hal ini, menggunakan mode tunggal (`GLUT_SINGLE`) dan mode warna RGB (`GLUT_RGB`).
6. `glutInitWindowSize(600, 800);`: Ini mengatur ukuran awal jendela (window) GLUT dengan lebar 600
piksel dan tinggi 800 piksel.
7. `glutInitWindowPosition(100, 100);`: Fungsi ini mengatur posisi jendela GLUT pada layar, di sini pada
koordinat (100, 100).
8. `glutCreateWindow("2006116 - Dadan Ahmad Badar M");`: Membuat jendela GLUT dengan judul
"2006116 - Dadan Ahmad Badar M".
9. `glClearColor(0.0, 0.0, 0.0, 0.0);`: Menentukan warna latar belakang jendela dengan RGBA (Red, Green,
Blue, Alpha), di sini adalah hitam (0, 0, 0, 0).
10. `glMatrixMode(GL_PROJECTION);`: Mengatur mode matriks yang digunakan, dalam hal ini adalah mode
proyeksi.
11. `gluOrtho2D(-300.0, 300.0, -400.0, 400.0);`: Mengatur proyeksi ortografik 2D dengan batas (-300.0, 300.0)
untuk sumbu X dan (-400.0, 400.0) untuk sumbu Y.
12. `glutIdleFunc(Garis);`: Mengaitkan fungsi `Garis()` dengan peristiwa idle di GLUT.
13. `glutDisplayFunc(Garis);`: Mengaitkan fungsi `Garis()` dengan peristiwa tampilan di GLUT.
14. `glutMainLoop();`: Memulai loop utama GLUT untuk mengeksekusi program.
15. `void Garis()`: Ini adalah definisi fungsi `Garis()` yang digunakan untuk menggambar garis-garis pada
jendela.

3
Praktikum Grafika Komputer
Pertemuan ke-2 Primitive Drawing

16. `glClear(GL_COLOR_BUFFER_BIT);`: Membersihkan buffer layar dengan warna latar belakang yang
telah ditentukan.
17. `glBegin(GL_LINES);`: Memulai mode menggambar garis menggunakan `GL_LINES`.
18. `glColor4f(1.0f, 0.0f, 0.0f, 0.0f);`: Mengatur warna garis pertama menjadi merah (RGBA: 1.0, 0.0, 0.0,
0.0).
19. `glVertex2d(-70, 0);`: Menggambar garis dari titik (-70, 0).
20. `glVertex2d(70, 0);`: Menggambar garis hingga titik (70, 0).
21. `glEnd();`: Mengakhiri mode menggambar garis.
22. Langkah-langkah serupa dilakukan untuk menggambar dua garis lain dengan warna yang berbeda.
23. `glFinish();`: Mengakhiri menggambar dan menampilkan hasil di jendela.

III. Kesimpulan

Membuat kode program untuk menggambar tiga garis horizontal berbeda berbeda warna di jendela grafis.
Program ini menginisialisasi jendela, mengatur properti tampilan, dan menggambar tiga garis horizontal
dengan warna yang berbeda. Pada kode program ini menciptakan jendela grafis dengan latar belakang hitam,
dan kemudian menggambar tiga garis horizontal dengan warna merah, kuning, dan hijau di dalam jendela
tersebut. Kode ini menggunakan OpenGL dan GLUT untuk mengatur tampilan dan menggambar garis-garis
tersebut.

Anda mungkin juga menyukai