Top Banner
Serba Serbi Grafika Game
23

Serba Serbi Grafika Game

Jan 12, 2017

Download

Documents

trinhkhanh
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Serba Serbi Grafika Game

Serba Serbi Grafika Game

Page 2: Serba Serbi Grafika Game

Mengenal OpenGL

● Open Graphics Library is a standard specification defining a cross-language, cross-platform API for writing applications that produce 2D and 3D computer graphics. The interface consists of over 250 different function calls which can be used to draw complex three-dimensional scenes from simple primitives.

● OpenGL was developed by Silicon Graphics Inc. (SGI) in 1992[4] 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.

Page 3: Serba Serbi Grafika Game

Tujuan OpenGL

● Hide complexities of interfacing with different 3D accelerators by presenting a single, uniform interface

● Hide differing capabilities of hardware platforms by requiring support of the full OpenGL feature set for all implementations (using software emulation if necessary)

Page 4: Serba Serbi Grafika Game

Tujuan OpenGL

● OpenGL ≠ Tool untuk membuat game● OpenGL = Tool untuk mempermudah

implementasi grafika 2D dan 3D dengan standar bahasa yang sama pada platform yang berbeda

● Logika dan alur game tetap dikendalikan melalui bahasa pemrograman yang dipilih.

Page 5: Serba Serbi Grafika Game

Fungsi OpenGL

● Rasterised points, lines and polygons as basic primitives

● A transform and lighting pipeline

● Z-buffering

● Texture mapping

● Alpha blending (transparency)

Page 6: Serba Serbi Grafika Game

Fungsi OpenGL

Z-buffering● Z-buffering is the management of

image depth coordinates in three-dimensional (3-D) graphics, usually done in hardware, sometimes in software. It is one solution to the visibility problem, which is the problem of deciding which elements of a rendered scene are visible, and which are hidden.

● Known also as depth-buffering

Page 7: Serba Serbi Grafika Game

Fungsi OpenGLTexture mapping

● Texture mapping is a method for adding detail, surface texture (a bitmap or raster image), or color to a computer-generated graphic or 3D model. Its application to 3D graphics was pioneered by Dr Edwin Catmull in his Ph.D. thesis of 1974.

● Digunakan juga untuk memperbaiki perspektif secara otomatis

Page 8: Serba Serbi Grafika Game

Bentuk OpenGL

● Berupa library pada bahasa pemrograman

● Berbasis pemrograman teks (console), dan tidak berhubungan dengan elemen window → agar dapat di “bind” dengan berbagai jenis bahasa pemrograman, baik yang teks maupun visual.

● Inti perintah OpenGL sebenarnya pendek, tetapi inisialisasi bisa panjang, tergantung bahasa pemrogaman masing-masing.glBegin( GL_POLYGON );              /* Begin issuing a polygon */glColor3f( 0, 1, 0 );               /* Set the current color to green*/glVertex3f( ­1, ­1, 0 );            /* Issue a vertex */glVertex3f( ­1, 1, 0 );             /* Issue a vertex */glVertex3f( 1, 1, 0 );              /* Issue a vertex */glVertex3f( 1, ­1, 0 );             /* Issue a vertex */glEnd();                            /* Finish issuing the polygon */

Page 9: Serba Serbi Grafika Game

Pustaka OpenGL

● The Red Book

OpenGL Programming Guide, 7th edition. ISBN 0-321-55262-8A readable tutorial and reference book – this is a 'must have' book for OpenGL programmers.

● The Blue Book

OpenGL Reference manual, 4th edition. ISBN 0-321-17383-XEssentially a hard-copy printout of the man pages for OpenGL.Includes a poster-sized fold-out diagram showing the structure of an idealised OpenGL implementation.

● OpenGL telah mencapai versi 4.2 per 8 Agustus 2011

Page 10: Serba Serbi Grafika Game

Preview OpenGL

Page 11: Serba Serbi Grafika Game

Mengenal Sprite

● Sprite adalah objek dua dimensi yang berupa citra bitmap

● Karena bukan vektor, maka untuk mewujudkan gerakan citra, biasanya dengan manipulasi seluruh bitmap, atau dengan menempatkan serangkaian bitmap yang mewujudkan gerakan tersebut (animasi antara, seperti film kartun)

Page 12: Serba Serbi Grafika Game

Objek Sprite

Page 13: Serba Serbi Grafika Game

Objek Sprite

Page 14: Serba Serbi Grafika Game

Dunia dalam Game: Sprite

● Menggunakan prinsip objek mengambang diatas background seperti pada prinsip gambar vektor, tetapi tidak mengolah primitif grafika

● Dunia sprite pada umumnya terbagi dalam blok, baik secara 2D maupun 3D

● Model dunia ini adalah model tertua yang digunakan dalam game, dan masih digunakan sampai sekarang

● Pergerakan objek sprite adalah dari blok ke blok, meskipun dalam pergeseran antar blok tersebut dapat diselipkan animasi antara

● Deteksi tumbukan (collision detection) dilakukan berdasarkan posisi objek terhadap blok

Page 15: Serba Serbi Grafika Game

Contoh Game Berbasis Sprite

● Pacman

Page 16: Serba Serbi Grafika Game

Contoh Game Berbasis Sprite

● Super Mario Bros, Prince of Persia I & II

Page 17: Serba Serbi Grafika Game

Contoh Game Berbasis Sprite

● Ragnarok, Age of Empires I&II, Warcraft (old),Red Alert

Page 18: Serba Serbi Grafika Game

Dunia dalam Game: Polygon

● Sprite menggunakan memory seperti kalau kita membuka citra bitmap, artinya efisiensi memory dapat dihitung secara jelas, dan jika objek tidak banyak, maka memory irit

● Kekurangan sprite adalah: lokasi gerakan terbatas, sudut pandang terbatas

● Perkembangan hardware dan software masa kini semakin memungkinkan seandainya dunia digambar sebagian besar atau seluruhnya dari primitif grafika, terutama titik dan poligon.

Page 19: Serba Serbi Grafika Game

Dunia dalam Game: Polygon

● Objek dalam dunia “polygon” seluruhnya berupa model vektor, baik 2D atau 3D.

● Karena semua berupa objek vektor, maka manipulasi lebih leluasa: bentuk objek, gerak diri objek (gerak manusia, binatang, air), perpindahan objek, perspektif dunia (camera), pencahayaan, transparansi, pantulan, tekstur, dan lain-lain →semuanya menuju usaha membuat dunia menjadi “nyata”.

● Kekurangannya ialah dunia “polygon” memakan memory dan resource yang sangat besar, dan membutuhkan hardware acceleration.

Page 20: Serba Serbi Grafika Game

Dunia dalam Game: Polygon

● Deteksi tumbukan pada dunia “polygon” juga lebih rumit, karena tidak terbagi dalam blok-blok lokasi, tetapi murni menggunakan koordinat.

Page 21: Serba Serbi Grafika Game

Contoh Game Berbasis “Polygon”

● Counter-Strike, DotA

Page 22: Serba Serbi Grafika Game

Contoh Game Berbasis “Polygon”

● Need For Speed

Page 23: Serba Serbi Grafika Game

Gerakan Dalam Game

● Gerakan dapat berupa gerak diri objek atau transformasi objek (perpindahan, perbesaran/pengecilan, rotasi)

● Untuk perpindahan, dapat menggunakan lintasan yang biasanya berupa lintasan yang dibuat sendiri, atau mengikuti hukum fisika

● Tidak susah kok untuk diterapkan● Lihat contoh!