Jumat, 08 April 2011

OGRE

OGRE (Object-Oriented Graphics Rendering Engine) adalah engine yang object oriented & flexible 3D rendering pada game engine yang ditulis dalam bahasa C++ serta didesain untuk mampu men-developer dengan intuitif & mudah kepada aplikasi produksi dengan menggunakan utility hardware-accelerated 3D graphic. Gambaran abstraknya OGRE menggunakan sistem library seperti Direct3D & OpenGL, serta menyediakan sebuah dasar interface di dunia objek dan class object yang lebih tinggi.

OGRE mempunyai banyak komuniti yang aktif, salah satunya sourceforge.net yang berdiri sejak Maret 2005. Beberapa karyanga yang sudah ada & dikomersialkan diantaranya game Ankh, Azathoth, & Pasific Strom. Serta baru-baru ini muncul lagi gamenya, yaitu Eihoth 1.4.9 yang rilis pada Mei 2008. Rilisnya dibawah istilah GNU Lesser General Public License.

OGRE hanyalah rendering engine. Seperti pada engine lainnya, hanya saja OGRE pada umumnya hanya sebagai graphic rendering. Dengan kata lain fitur OGRE hanya khusus menangani vector & matrix classes, memory handling, dan lain-lain. Ini bukanlah salah satu dari semua solusi dalam istilah game development / simulasi, OGRE tidak menyediakan audio / physics support.

Pada umumnya ini bisa dikatakan sebagai kelemahan utama dari OGRE, tetapi itu setara setelah melihat kemampuan grafis ada engine ini. Kemempuan utama OGRE adalah graphics engine yang bisa memberikan para developer sebuah kebebasan untuk menggunakan physics apapun, input, audio, & library lainnya. OGRE memberikan para tim development untuk fokus pada graphics daripada beberapa sistem-sistem yang ada dalam game development. OGRE dapat mensuport OIS, SDL, dan CEGUI libraries.

Sekarang ini OGRE adalah publish dibawah dua lisensi, yaitu LGPL & OUL. Maka sekarang ini para publish tersebut membuka OGRE sebagai free / open-source software.

OGRE mempunyai banyak fitur yang bisa digunakan, diantaranya :

· Desain yang object oriented dengan menggunakan plugin untuk mempermudah memasukkan fitur lainnya.

· Engine berbasis scane graph dengan bantuan untuk sebuah varietas yang luas, octree, BSP, & Paging Landscape scene manager.

· Multi-platform dengan dukungan OpenGL & Direct3D. Bisa merender konten yang sama di beda platform tanpa harus mempunyai content creator. Dapat diakses pada platform Linux, Mac OS X, dan semua versi Windows.

· OGRE mendukung program Vertex dan Fragment selama ditulis dengan GLSH, HLSL, Cg, dan assembler.

· The landscape scene manager untuk Progressive LOD, yang mana bisa dibuat secara otomatis & manual.

· Engine animasi yang mensuport penuh untuk multiple hardware.

· OGRE mempunyai comositing manager dengan bahasa script dan full screen postprocessing untuk efek seperti HDR, blooming, satruation, brightness, blurring, & noise.

· Libraries mempunyai fitur memory debugging & loading resource dari archive-nya.

· Tersedia konten tools untuk 3D modeler, seperti 3D Studio Max, Maya, Blender, LightWare, Milkshape, Sketchup, dsb.

Sejarah singkat Ogre 3D

Tahun 1999
Sinbad mulai merencanakan proyek library baru yang dapat
menjadi API dan berdasar Platform.
25 Februari 2000
Sourceforge project didaftarkan, OGRE menjadi namanya.
Februari 2005
Ogre v1.0.0 "Azathoth" Rilis Final - resource system overhaul,
hardware pixel buffers, HDR, CEGui, XSI exporter
Maret 2005
Ogre mendapat penghargaan 'Project of the Month' di Sourceforge
4 November 2005
Ankh di rilis dan menjadi proyek komersial pertama menggunakan
Ogre
7 Mei 2006
Ogre 1.2 "Dagon" rilis secara ofisial
25 Maret 2007
Ogre 1.4 "Eihort" rilis secara ofisial
28 Agustus 2008
Ogre 1.6 "Shoggoth" rilis secara ofisial (versi 1.6.5 Stable
Release)
21 Desember 2009
Ogre 1.7 RC1 "Ctchugha" rilis secara ofisial (1.7.0 PreRelease)
28 February 2010

Ogre 1.7 "Cthugha" rilis secara ofisial (1.7.0 Stable Release)

Cara Kerja OGRE

Kelas paling mendasar dalam Ogre adalah SceneManager, Entity dan SceneNode.

SceneManager

Segala sesuatu yang muncul pada layar (screen) dikelola oleh SceneManager. Ketika kita menempatkan objek dalam scene, SceneManager yaitu kelas yang menjaga/melacak lokasinya. Bila kita membuat Kamera untuk melihat scene, SceneManager menjaga alur dari objek itu. Bila kita membuat plane, billboard, lampu dan seterusnya, SceneManager akan menjaga alur (track) itu.

Ada beberapa jenis SceneManager. Ada SceneManager yang mengubah (render) terrain, ada SceneManager untuk rendering peta BSP, dan sebagainya. Berbagai jenis SceneManager dapat dilihat di SceneManagersFAQ.

Scene adalah representasi abstrak dari apa yang ditampilkan dalam dunia virtual/maya. Scene dapat terdiri dari geometri statis seperti terrain atau bangunan interior, model semacam pohon, kursi atau monster, sumber cahaya yang menerangi tempat kejadian dan kamera yang melihat scene.

Scene dapat memiliki tipe yang cukup berbeda. Sebuah scene interior mungkin terdiri dari lorong-lorong dan kamar yang berisi mebel dan karya seni di dinding. Sebuah scene eksterior mungkin terdiri dari dataran berbukit-bukit, pohon, rumput melambai tertiup angin dan langit biru dengan awan bergerak lembut.

Ogre menyediakan satu set scene manager yang berbeda, masing-masing disesuaikan untuk dukungan terbaik berbagai jenis scene. Seorang ahli Ogre bahkan bahkan bisa mengembangkan scene manager sendiri, disesuaikan untuk jenis terbaik scene yang digunakan dalam aplikasi mereka.

Entity

Entity merupakan salah satu jenis objek yang dapat dirender pada scene. Anda dapat menganggap suatu entity sebagai sesuatu yang diwakili oleh mesh 3D. Robot akan menjadi suatu Entity, ikan akan menjadi Entity, daerah berjalan suatu karakter akan menjadi Entity yang besar. Namun, hal-hal seperti Lampu, Papan iklan, Partikel, Kamera, dll tidak akan menjadi Entity.

Satu hal yang perlu diperhatikan tentang Ogre adalah bahwa Ogre ini memisahkan benda yang dapat dirender (renderable) dari lokasi dan orientasi mereka. Ini berarti bahwa tidak dapat menempatkan Entity secara langsung dalam sebuah scene. Sebaliknya, harus melampirkan Entity ke objek SceneNode, dan SceneNode ini berisi informasi tentang lokasi dan orientasi.

SceneNode

Seperti telah disebutkan, SceneNode melacak lokasi dan orientasi bagi semua objek yang melekat padanya. Ketika membuat sebuah Entity, ini tidak dirender dalam scene sampai dipasangkan ke SceneNode. Sebagai tambahan SceneNode bukan merupakan obyek yang ditampilkan pada layar. Hanya ketika membuat sebuah SceneNode dan melampirkan Entity (atau objek lainnya) ke SceneNode itulah yang benar-benar ditampilkan pada layar.

SceneNode dapat memiliki sejumlah objek yang dipasang didalamnya. Katakanlah Anda memiliki karakter berjalan pada layar dan ingin dia menghasilkan cahaya di sekelilingnya. Cara Anda melakukan ini adalah dengan terlebih dahulu membuat SceneNode, kemudian buat Entity untuk karakter dan melampirkan ke SceneNode. Maka Anda akan membuat objek Light dan melampirkan ke SceneNode. SceneNodes bisa juga dilampirkan pada SceneNode lain yang memungkinkan untuk membuat seluruh hierarki node.

Salah satu konsep utama yang perlu diketahui tentang SceneNode adalah bahwa posisi SceneNode adalah selalu relatif terhadap SceneNode induknya, dan masing-masing SceneManager berisi node root yang semua SceneNodes lainnya yang terpasang.


Sumber :

http://en.wikipedia.org/wiki/OGRE

http://www.ogre3d.org/

0 komentar:

Posting Komentar