COMPUTER GRAPHICS D10K-5C01 GK09: OpenGL Dr. Setiawan Hadi, M.Sc.CS.

Slides:



Advertisements
Presentasi serupa
Stefani Priska Tangkuman TEKNIK INFORMATIKA STMIK PARNA RAYA MANADO
Advertisements

APLIKASI MANAJEMEN PERKANTORAN - D Minggu 1. Kata “ Visual ” merujuk kepada metode yang digunakan untuk membuat antar muka yang bersifat grafis Graphical.
Praktikum Grafika Komputer
PEMROGRAMAN APLIKASI BISNIS I (VISUAL STUDIO 2010)
Kurniawan Teguh Martono Sistem Komputer Universitas Diponegoro
Mata kuliah Komputer Grafik ( Grafika Computer ) 4 SKS
Perangkat Lunak Software. Perangkat Lunak merupakan sekumpulan aturan yang digunakan untuk menjalankan perangkat keras terdiri dari kumpulan istruksi.
1 Pertemuan 1 Introduction Matakuliah: sistem Operasi Tahun: 2010.
Organisasi dan Arsitektur Komputer
02 |Introduction to OpenGL
Pertemuan 1 Dasar Pemrograman Triana Elizabeth S. Kom Dibuat o/ : Renni Angreni, S.Kom.
Graphical User Interface (GUI) dan Multimedia
Pengantar Teknologi Informasi
Java GUI Container Pertemuan 2
Pertemuan 11 Interaksi User Diadaptasi dari paint.c E. Angel.
Pengantar Grafika Komputer
OPERASI DASAR SISTEM OPERASI KOMPUTER
Rekayasa Perangkat Lunak 1
COMPUTER GRAPHICS D10K-5C01 GK11: OpenGL Transformasi dan Interaksi Dr. Setiawan Hadi, M.Sc.CS. Program Studi S-1 Teknik Informatika FMIPA Universitas.
Pertemuan 1 Dani Hamdani, S.Kom..
Pemograman Berorientasi Objek
Algoritma & PEMROGRAMAN 2B (Visual basic)
Program Studi S-1 Teknik Informatika FMIPA Universitas Padjadjaran
PEMROSESAN DOKUMEN FILE DOKUMEN
Rekayasa Perangkat Lunak (Software Engineering)
Program Studi S-1 Teknik Informatika FMIPA Universitas Padjadjaran
Operating System Structure
Operating System Structure
Graphical User Interface (GUI) dan Multimedia
Pengenalan Sistem Operasi
Pemrograman Visual Oleh : Erni Fatmawati.
OPERASI DASAR SISTEM OPERASI KOMPUTER
VISUAL BASIC.NET Apa Itu VB.NET ?
Program Studi S-1 Teknik Informatika FMIPA Universitas Padjadjaran
Louis Bertrand Secondra
Operating System Structure
Program Studi S-1 Teknik Informatika FMIPA Universitas Padjadjaran
Algoritma & PEMROGRAMAN 2B (Visual basic)
BAB 5 OPERASI DASAR SISTEM OPERASI KOMPUTER
LAB PEMOGRAMAN III (VISUAL BASIC)
Melakukan Instalasi Sistem Operasi Dasar
Visual Studio 2008 Merupakan perangkat lunak yang terintegrasi. Di dalamnya terdapat beberapa perangkat lunak untuk pengembang ( Programmer ), antara lain.
Grafika Komputer Pengenalan Grafika Komputer &
Hardware Hardware Merupakan komponen-komponen fisik peralatan yang membentuk suatu sistem komputer, serta peralatan-peralatan lain yang mendukung komputer.
Rekayasa Perangkat Lunak (Software Engineering)
02 |Introduction to OpenGL
PERANGKAT LUNAK (SOFTWARE)
Introduction to Database Management System Pertemuan 01
Pemrograman Dasar TinyOS Menggunakan nesC
04 Membangun Sistem Informasi ERP Tahapan SDLC Hata Maulana, M.T.I.
Program Studi S-1 Teknik Informatika FMIPA Universitas Padjadjaran
SOFTWARE DAN BRAINWARE
Grafika komputer 1.
Perangkat Lunak (Software)
Sistem Operasi Komputer
Program Studi S-1 Teknik Informatika FMIPA Universitas Padjadjaran
Pengenalan Borland Delphi 7.0
Graphical User Interface (GUI) dan Multimedia
Sistem Operasi. Pendahuluan Sistem Operasi Arsitektur Sistem Komputer Hardware Operating System (OS) Programming Language (e.g. PASCAL) Application Programs.
02 |Introduction to OpenGL
OPERASI DASAR SISTEM OPERASI KOMPUTER
OpenGL (Open Graphics Library)
Gtk dengan glade MUSDALIFAH DJ.
02 |Introduction to OpenGL
04 Membangun Sistem Informasi ERP Tahapan SDLC Hata Maulana, M.T.I.
ANALISIS ALGORITMA DALAM PENERAPAN GAMBAR
Program Studi S-1 Teknik Informatika FMIPA Universitas Padjadjaran
02 |Introduction to OpenGL
SISTEM OPERASI & MANAGEMENT FILE
ALGORITMA DAN PEMROGRAMAN 2B
Transcript presentasi:

COMPUTER GRAPHICS D10K-5C01 GK09: OpenGL Dr. Setiawan Hadi, M.Sc.CS. Program Studi S-1 Teknik Informatika FMIPA Universitas Padjadjaran

Materi Apa itu OpenGL Sejarah dan Perkembangan OpenGL Konsep Perangkat Lunak OpenGL Pemrograman OpenGL menggunakan Visual Studio C++

OpenGL OpenGL adalah sebuah program aplikasi interface yang digunakan untuk mendefinisikan komputer grafis 2D dan 3D. Program lintas-platform API ini umumnya dianggap ketetapan standar dalam industri komputer dalam interaksi dengan komputer grafis 2D dan juga telah menjadi alat yang biasa untuk digunakan dengan grafis 3D. Singkatnya, Open Graphics Library, OpenGL menghilangkan kebutuhan untuk pemrogram untuk menulis ulang bagian grafis dari sistem operasi setiap kali sebuah bisnis akan diupgrade ke versi baru dari sistem.

OpenGL OpenGL adalah kumpulan standard API (Application Programming Interface) yang menghubungkan software dengan hardware grafis untuk membuat aplikasi 3D secara real time. Intinya OpenGL itu adalah kumpulan library untuk mengakses hardware (GL= graphical library). OpenGL mendefinisikan berbagai instruksi untuk menggambar objek, image (umumnya 3D) dan melakukan berbagai operasi terhadap objek-objek tersebut. OpenGL tidak mengandung source code, hanya spesifikasi saja. Pembuat GPU (graphical processing unit) seperti NVIDIA, Intel, Samsung dll yang akan membuat implementasi. Dengan cara ini walaupun GPU diproduksi oleh berbagai produsen dengan berbagai berbagai variasi tipe dan implementasi, semuanya dapat diperintah dengan spesifikasi yang sama.

OpenGL OpenGL (Open Graphics Library)[3] adalah spesifikasi standar yang mendefinisikan sebuah lintas-bahasa, lintas platform API untuk mengembangkan aplikasi yang menghasilkan grafis komputer 2D maupun3D. Antarmuka terdiri dari lebih dari 250 panggilan fungsi yang berbeda yang dapat digunakan untuk menggambar tiga dimensi yang adegan-adegan kompleks dari bentuk-bentuk primitif sederhana. OpenGL dikembangkan oleh Silicon Graphics Inc (SGI) pada tahun 1992 dan secara luas digunakan dalam CAD, realitas maya, visualisasi ilmiah, visualisasi informasi, dan simulasi penerbangan. Hal ini juga digunakan dalam video game, di mana bersaing dengan Direct3D on Microsoft Windows platform (lihat vs OpenGL Direct3D). OpenGL dikelola oleh sebuah teknologi konsorsium nirlaba yaitu Khronos Group.

OpenGL OpenGL (Open Graphics Library) is a cross-language, multi-platform application programming interface (API) for rendering 2D and 3D vector graphics. The API is typically used to interact with a graphics processing unit (GPU), to achieve hardware-accelerated rendering. OpenGL was developed by Silicon Graphics Inc. (SGI) from 1991 and released in January 1992 and is widely used in CAD, virtual reality, scientific visualization, information visualization, flight simulation, and video games. OpenGL is managed by the non-profit technology consortium Khronos Group.

Sejarah dan Perkembangan 1973: Graphical Kernel System (GKS) 1982: Silicon Graphics (SGI) mengimplementasikan konsep grafik pipeline 3D 1992: OpenGL menjadi platform-independent API 2002: OpenGL ES The Standard for Embedded Accelerated 3D Graphics

Library OpenGL OpenGL core library OpenGL Utility Library (GLU) OpenGL32 on Windows GL on most unix/linux systems (libGL.a) OpenGL Utility Library (GLU) Provides functionality in OpenGL core but avoids having to rewrite code Links with window system GLX for X window systems WGL for Windows AGL for Macintosh

GLUT OpenGL Utility Toolkit (GLUT) Provides functionality common to all window systems Open a window Get input from mouse and keyboard Menus Event-driven Code is portable but GLUT lacks the functionality of a good toolkit for a specific platform No slide bars

Organisasi Perangkat Lunak application program OpenGL Motif widget or similar GLUT GLX, AGL or WGL GLU GL X, Win32, Mac O/S software and/or hardware

Arsitektur OpenGL geometry pipeline CPU Immediate Mode Per Vertex Operations & Primitive Assembly Polynomial Evaluator Display List Per Fragment Operations Frame Buffer CPU Rasterization Texture Memory Pixel Operations

Fungsi-fungsi OpenGL Primitives Attributes Transformations Points Line Segments Polygons Attributes Transformations Viewing Modeling Control (GLUT) Input (GLUT) Query

Format Fungsi OpenGL function name dimensions glVertex3f(x,y,z) x,y,z are floats belongs to GL library glVertex3fv(p) p is a pointer to an array

OpenGL #defines Most constants are defined in the include files gl.h, glu.h and glut.h Note #include <GL/glut.h> should automatically include the others Examples glBegin(GL_POLYGON) glClear(GL_COLOR_BUFFER_BIT) include files also define OpenGL data types: GLfloat, GLdouble,….

Program Sederhana Generate a square on a solid background

simple.c #include <GL/glut.h> void mydisplay(){ glClear(GL_COLOR_BUFFER_BIT); glBegin(GL_POLYGON); glVertex2f(-0.5, -0.5); glVertex2f(-0.5, 0.5); glVertex2f(0.5, 0.5); glVertex2f(0.5, -0.5); glEnd(); glFlush(); } int main(int argc, char** argv){ glutCreateWindow("simple"); glutDisplayFunc(mydisplay); glutMainLoop();

Event Loop Note that the program defines a display callback function named mydisplay Every glut program must have a display callback The display callback is executed whenever OpenGL decides the display must be refreshed, for example when the window is opened The main function ends with the program entering an event loop

Defaults simple.c is too simple Makes heavy use of state variable default values for Viewing Colors Window parameters Future OpenGL programs will make the defaults more explicit

Referensi

Pemrograman OpenGL pada VS Resources Visual Studio GLUT for Win32 version 3.7.6 as of Nov 8th 2001 (glut-3.7.6-bin.zip) Preparation Unzip file glut-3.7.6-bin.zip Copy (asumsi Visual Studio 2010) glut.h: ‘C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\GL\’ glut32.lib: ‘C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib\’ glut32.dll: ‘C:\Windows\System32\’ Catatan: untuk windows 64 bit, letakkan glut32.dll pada ‘C:\Windows\SysWOW64\’

Langkah-langkah Dasar Buka Visual Studio buat project baru dengan template C++, Win32 Console Applications, Isi Foldernya, Next, Empty Project Add New Item Source File C++ File, beri nama filenya Ketikan program OpenGLnya Tambahkan alamat include dan lib OpenGL pada properti proyeknya Kompilasi programnya Dalami konsep dan sistem koordinat OpenGL dengan menganti nilainya dan juga menambah vertexnya Contoh: Buat papan catur, papan halma, papan monopoli, objek: mobil, komputer, logo, ruang 3D, dll.