02 |Introduction to OpenGL Imam Cholissodin| imam.cholissodin@gmail.com
Introduction to OpenGL Computer Graphics What’s OpenGL ? OpenGL History OpenGL Architecture Fixed-Function vs Programmability Related Libraries OpenGL Syntax Simple CG Program Architecture Setup OpenGL Demo OpenGL Program
Computer Graphics Grafika komputer (Inggris: Computer graphics) adalah bagian dari ilmu komputer yang berkaitan dengan pembuatan dan manipulasi gambar (visual) secara digital (sumber : Wiki). Bagaimana menurut pemahaman anda?
What is OpenGL ? Low-level Graphics API (Application Programming Interface) / antarmuka perangkat lunak ke kartu grafis. Independen terhadap platform (hanya menyediakan fungsi grafis, tidak menyediakan fungsi yang dependen terhadap platform : input handling, windowing, dsb). Banyak digunakan di aplikasi grafis : CAD programs, games, data visualization, dsb.
OpenGL History Dikembangkan pertama kali oleh SGI (Silicon Graphics, Inc). 1992 diambil alih oleh OpenGL ARB (Architecture Review Board) : 3DLabs, ATI, Dell, Evans & Sutherland, Hewlett-Packard, IBM, Intel, Matrox, NVIDIA, SGI, Sun Microsystems sebagai pembuat dan pengelola spesifikasi OpenGL. 2006 dikontrol oleh The Khronos group.
OpenGL Architecture Sebuah state machine, contoh untuk menggambar objek dengan warna merah programmer harus merubah color state ke merah lalu menggambar objek tersebut. Tetapi sejak OpenGL 3.0 (programmable pipeline/shader based) menjadi less state- oriented API : state functions untuk color, normals, lighting deprecated (kadaluarsa).
Fixed-Function vs Programmability Fixed-function pipeline dirancang utk berjalan di CPU (single-path rendering). Programmable pipeline (shader based) dirancang utk berjalan di GPU sehingga lebih flexible dan mudah dikontrol oleh programmer. Ada 3 jenis shaders : Vertex shaders (memodifikasi vertex), Fragment shaders (memodifikasi pixel), Geometry shaders (menggenerate vertices, dan bukan fitur inti).
Related Libraries GLUT (OpenGL Utility Toolkit) menyediakan fungsi untuk windowing, menus, input-handling. SDL (Simple Direct Media Layer) : librari multimedia cross-platform . GLFW : windowing, creating an OpenGL context and managing input .
OpenGL Syntax Diawali dengan awalan gl : glVertex3f() Nomor menunjukkan jumlah parameter : glVertex3f(1.0f, 1.0f, 1.0f) punya 3 parameter Huruf setelah nomor menunjukkan tipe data parameter : glVertex3f() bertipe data float.
Simple CG Program Architecture Inisialisasi Berisi kode inisialisasi : penciptaan window, loading resource, dsb . berisi finite loop untuk logika, dan rendering. Update logika Rendering Keluar ? De-Inisialisasi
Setup OpenGL (using GLUT) Windows : http://www.cs.csustan.edu/%7ersc/SDSU/GLUTinstall.html GLUT download : http://www.opengl.org/resources/libraries/glut/glut_downloads.php
Setup OpenGL 3 file penting dalam OpenGL yang akan digunakan, yaitu : glut.h, glut32.lib dan glu32.dll Letakkan glut.h ke dalam direktori : “Programs Files\VC\include” Letakkan glut32.lib ke dalam direktori : “Programs Files\VC\lib” Letakkan glut32.dll ke dalam direktori : “Windows\System32”
Demo Configuration OpenGL Live Demo Setup OpenGL di Kelas Live Demo OpenGL Code Base Create Line Contoh code online dapat di akses pada link berikut : http://www.glprogramming.com/red/chapter01.html (hello.c & double.c)
Imam Cholissodin| imam.cholissodin@gmail.com Selesai Imam Cholissodin| imam.cholissodin@gmail.com