Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
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 !
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.