Pertemuan 13 - Pemrograman Komputer Grafik Menggunakan API
Pemrograman Grafis 3D dengan OpenGL
Simulasi interaktif objek 3D dengan kontrol rotasi pada tiga sumbu
Kontrol Rotasi
Kontrol Objek
Apa itu OpenGL?
OpenGL (Open Graphics Library) adalah API grafis 2D dan 3D yang dikembangkan oleh Silicon Graphics Inc. (SGI).
Karakteristik utama OpenGL:
- Antarmuka yang efisien dan tidak bergantung pada perangkat keras
- Dapat diimplementasikan pada berbagai platform
- Menggunakan primitive geometris (titik, garis, poligon)
- Membentuk dasar dari game, CAD, dan industri VR
- Mendukung transformasi 3D dan rendering tingkat lanjut
#include <GL/glut.h>
void display() {
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
gluLookAt(3, 3, 3, 0, 0, 0, 0, 1, 0);
glRotatef(angleX, 1.0, 0.0, 0.0);
glRotatef(angleY, 0.0, 1.0, 0.0);
glRotatef(angleZ, 0.0, 0.0, 1.0);
glBegin(GL_QUADS);
// Depan
glColor3f(1.0, 0.0, 0.0);
glVertex3f(-1.0, -1.0, 1.0);
glVertex3f(1.0, -1.0, 1.0);
glVertex3f(1.0, 1.0, 1.0);
glVertex3f(-1.0, 1.0, 1.0);
// Belakang
glColor3f(0.0, 1.0, 0.0);
glVertex3f(-1.0, -1.0, -1.0);
glVertex3f(1.0, -1.0, -1.0);
glVertex3f(1.0, 1.0, -1.0);
glVertex3f(-1.0, 1.0, -1.0);
// Kiri
glColor3f(0.0, 0.0, 1.0);
glVertex3f(-1.0, -1.0, 1.0);
glVertex3f(-1.0, -1.0, -1.0);
glVertex3f(-1.0, 1.0, -1.0);
glVertex3f(-1.0, 1.0, 1.0);
// Kanan
glColor3f(1.0, 1.0, 0.0);
glVertex3f(1.0, -1.0, 1.0);
glVertex3f(1.0, -1.0, -1.0);
glVertex3f(1.0, 1.0, -1.0);
glVertex3f(1.0, 1.0, 1.0);
// Atas
glColor3f(1.0, 0.0, 1.0);
glVertex3f(-1.0, 1.0, 1.0);
glVertex3f(1.0, 1.0, 1.0);
glVertex3f(1.0, 1.0, -1.0);
glVertex3f(-1.0, 1.0, -1.0);
// Bawah
glColor3f(0.0, 1.0, 1.0);
glVertex3f(-1.0, -1.0, 1.0);
glVertex3f(1.0, -1.0, 1.0);
glVertex3f(1.0, -1.0, -1.0);
glVertex3f(-1.0, -1.0, -1.0);
glEnd();
glutSwapBuffers();
}
int main(int argc, char** argv) {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);
glutInitWindowSize(800, 600);
glutCreateWindow("Kubus 3D dengan OpenGL");
glEnable(GL_DEPTH_TEST);
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
Pengolahan Citra Digital
Manipulasi dan transformasi gambar menggunakan teknik pengolahan citra
Unggah Gambar
Operasi Citra
Gambar Asli
Hasil Pengolahan
Konsep Dasar Citra Digital
Citra digital adalah representasi dari citra yang diambil oleh mesin dengan bentuk pendekatan berdasarkan sampling dan kuantisasi.
Sampling menyatakan besarnya kotak-kotak yang disusun dalam baris dan kolom (piksel).
Kuantisasi menyatakan besarnya nilai tingkat kecerahan yang dinyatakan dalam nilai tingkat keabuan.
Citra Biner (Monokrom)
Hanya terdiri dari dua warna: hitam dan putih. Dibutuhkan 1 bit di memori.
Citra Grayscale
Berbagai tingkat keabuan. Semakin besar jumlah bit warna, semakin halus gradasi.
Citra Warna (True Color)
Setiap piksel merupakan kombinasi dari tiga warna dasar (RGB).
Teknik Pengolahan Citra
- Image Enhancement: Perbaikan citra dengan meningkatkan kualitas citra
- Image Restoration: Proses memperbaiki model citra
- Color Image Processing: Proses yang melibatkan citra berwarna
- Segmentation: Proses untuk membedakan atau memisahkan objek-objek
- Object Recognition: Proses untuk mengenali objek-objek dalam citra