Serba Serbi Grafika Game

download Serba Serbi Grafika Game

of 23

  • date post

    12-Jan-2017
  • Category

    Documents

  • view

    214
  • download

    0

Embed Size (px)

Transcript of Serba Serbi Grafika Game

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

  • 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)

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

  • Fungsi OpenGL

    Rasterised points, lines and polygons as basic primitives

    A transform and lighting pipeline Z-buffering Texture mapping Alpha blending (transparency)

  • 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

  • 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

  • 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);/*Beginissuingapolygon*/glColor3f(0,1,0);/*Setthecurrentcolortogreen*/glVertex3f(1,1,0);/*Issueavertex*/glVertex3f(1,1,0);/*Issueavertex*/glVertex3f(1,1,0);/*Issueavertex*/glVertex3f(1,1,0);/*Issueavertex*/glEnd();/*Finishissuingthepolygon*/

  • Pustaka OpenGL

    The Red BookOpenGL 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 BookOpenGL 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

  • Preview OpenGL

  • 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)

  • Objek Sprite

  • Objek Sprite

  • 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

  • Contoh Game Berbasis Sprite

    Pacman

  • Contoh Game Berbasis Sprite

    Super Mario Bros, Prince of Persia I & II

  • Contoh Game Berbasis Sprite

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

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

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

  • Dunia dalam Game: Polygon

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

  • Contoh Game Berbasis Polygon

    Counter-Strike, DotA

  • Contoh Game Berbasis Polygon

    Need For Speed

  • 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!

    Slide 1Slide 2Slide 3Slide 4Slide 5Slide 6Slide 7Slide 8Slide 9Slide 10Slide 11Slide 12Slide 13Slide 14Slide 15Slide 16Slide 17Slide 18Slide 19Slide 20Slide 21Slide 22Slide 23