Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

02 |Introduction to OpenGL

Presentasi serupa


Presentasi berjudul: "02 |Introduction to OpenGL"— Transcript presentasi:

1 02 |Introduction to OpenGL
Eriq Muhammad Adams J |

2 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.

3 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.

4 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).

5 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).

6 OpenGL Rendering Pipeline
Vertex Operation : konversi vertices ke primitives dan operasi yang berhubungan dengan texturing, kalkulasi lighting, proyeksi dari spatial coordinates ke dalam koordinat layar. Pixel Operation : pengubahan pixel dalam berbagai format ke dalam beberapa komponen, lalu diproses oleh pixel map dan hasilnya diclamping (the process of limiting a position to an area) dan ditulis ke texture memory. Rasterization : konversi dari data geometri dan pixel ke fragments (setiap fragment mencerminkan sebuah pixel dalam framebuffer (buffer utk menampung data pixel)). Per-Fragment Operations : sebelum data pixel dan geometri disimpan dalam framebuffer akan dilakukan texturing -> pengkombinasian warna primer dan sekunder + perhitungan fog (final color dan depth generation) -> operasi blending (transparansi), dsb.

7 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 .

8 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.

9 Simple CG Program Architecture
Inisialisasi Berisi kode inisialisasi : penciptaan window, loading resource, dsb . berisi finite loop untuk update logika, dan rendering. Update logika Rendering Keluar ? De-Inisialisasi

10 Setup OpenGL (using GLFW)
Silakan lihat petunjuk dan unduh contoh demo program di

11 Hello OpenGL !


Download ppt "02 |Introduction to OpenGL"

Presentasi serupa


Iklan oleh Google