Senin, 04 April 2011

pengaplikasian pada ogre

implementasi ogre
buat project baru dengan menekan alt+shift+n lalu pilihlah C++ Project, perhatikan gambar berikut


Isikan nama project pada Project Name, lalu pilih Project Type dengan Hello World C++ Project, uncheck pilihan show project types and toolchains… lalu pada bagian Toolchains pilih MinGW kemudian klik finish.


Jika berhasil maka pada bagian Project Explorer akan muncul sebuah hirarki seperti ini :



Lalu selanjutnya kita akan membuat sebuah project aplikasi 3D yang memanfaatkan OGRE.


Ulangi langkah 9, lalu pada langkah berikutnya pilih Empty Project dengan Toolchains MinGW.


Lalu klik project yang dibuat pada langkah 13, pada bagian project explorer lalu tekan alt+enter maka Properties akan terbuka.


Arahkan kebagian C/C++ Build à Settings, Klik Manage Configurations lalu klik baris Release dan tekan Set Active dan klik OK.


Masuk ke bagian GCC C++ Compiler pada Tool Settings, selanjutnya ikutilah petunjuk table berikut ini untuk bagian-bagian properties pada pilihan Debug dan Release. Pastikan yang aktif adalah Release.



Mash pada bagian Tool Setting, masuk ke bagian MinGW C++ Linker ikutilah petunjuk table berikut ini untuk bagian-bagian properties pada pilihan Debug dan Release. Pastikan yang aktif adalah Release.


Masuk kebagian sourcecode, masukkan sourcecode berikut untuk testing :


#include "ExampleApplication.h"
class BelajarOgre : public ExampleApplication {
public:
BelajarOgre(){
}
~BelajarOgre(){
}
protected:
void createScene(void){
//mSceneMgr utk manage semua semua yg tampil pd screen
mSceneMgr->setAmbientLight(ColourValue(1,1,1));
//Entity ad objek yg bs dirender discene
Entity *ent1 = mSceneMgr->createEntity("Robot","robot.mesh");
Entity *ent2 = mSceneMgr->createEntity("Robot2","robot.mesh");
SceneNode *node1 = mSceneMgr->getRootSceneNode()->createChildSceneNode("RobotNode");
SceneNode *node2 = mSceneMgr->getRootSceneNode()->createChildSceneNode("RobotNode2", Vector3(50,-100,0));
//attach entity ke scenenode ut beri lokasi render robot
node1->attachObject(ent1);
node2->attachObject(ent2);
}
};
#if OGRE_PLATFORM == OGRE_PLATFORM_WIN32
#define WIN32_LEAN_AND_MEAN
Include "windows.h"
INT WINAPI WinMain(HINSTANCE hInst, HINSTANCE, LPSTR strCmdLine, INT)
#else
int main(int argc, char **argv)
#endif
{
//bikin objek aplikasi
BelajarOgre app;
try {
app.go();
} catch (Exception e) {
#if OGRE_PLATFORM == OGRE_PLATFORM_WIN32
MessageBox(NULL,e.what(),"Terjadi Error!",MB_OK | MB_ICONERROR |MB_TASKMODAL);
#else
fprintf(stderr,"Terjadi Error = %s\n",e.what());
#endif
}
return 0;
}

Build project tersebut, dan masuk kedalam direkori OgreSDK\bin\release lalu buka file resource.cfg maka isinya sbb :
# Resource locations to be added to the 'boostrap' path
# This also contains the minimum you need to use the Ogre example framework
[Bootstrap]
Zip=../../../Media/packs/OgreCore.zip
# Resource locations to be added to the default path
[General]
FileSystem=../../../Media
FileSystem=../../../Media/fonts
FileSystem=../../../Media/materials/programs
FileSystem=../../../Media/materials/scripts
FileSystem=../../../Media/materials/textures
FileSystem=../../../Media/models
FileSystem=../../../Media/overlays
FileSystem=../../../Media/particle
FileSystem=../../../Media/gui
FileSystem=../../../Media/DeferredShadingMedia
Zip=../../../Media/packs/cubemap.zip
Zip=../../../Media/packs/cubemapsJS.zip
Zip=../../../Media/packs/dragon.zip
Zip=../../../Media/packs/fresneldemo.zip
Zip=../../../Media/packs/ogretestmap.zip
Zip=../../../Media/packs/skybox.zip
Ganti bagian ../../../ dengan fullpath lokasi OgreSDK anda dalam hal ini isi resource.cfg milik saya menjadi :
# Resource locations to be added to the 'boostrap' path
# This also contains the minimum you need to use the Ogre example framework
[Bootstrap]
Zip=D:\BIN\OGRE_SDK\OgreSDK\media\packs\OgreCore.zip
# Resource locations to be added to the default path
[General]
FileSystem=D:\BIN\OGRE_SDK\OgreSDK\Media
FileSystem=D:\BIN\OGRE_SDK\OgreSDK\Media\fonts
FileSystem=D:\BIN\OGRE_SDK\OgreSDK\Media\materials\programs
FileSystem=D:\BIN\OGRE_SDK\OgreSDK\Media\materials\scripts
FileSystem=D:\BIN\OGRE_SDK\OgreSDK\Media\materials\textures
FileSystem=D:\BIN\OGRE_SDK\OgreSDK\Media\models
FileSystem=D:\BIN\OGRE_SDK\OgreSDK\Media\overlays
FileSystem=D:\BIN\OGRE_SDK\OgreSDK\Media\particle
FileSystem=D:\BIN\OGRE_SDK\OgreSDK\Media\gui
FileSystem=D:\BIN\OGRE_SDK\OgreSDK\Media\DeferredShadingMedia
Zip=D:\BIN\OGRE_SDK\OgreSDK\media\packs\cubemap.zip
Zip=D:\BIN\OGRE_SDK\OgreSDK\media\packs\cubemapsJS.zip
Zip=D:\BIN\OGRE_SDK\OgreSDK\media\packs\dragon.zip
Zip=D:\BIN\OGRE_SDK\OgreSDK\media\packs\fresneldemo.zip
Zip=D:\BIN\OGRE_SDK\OgreSDK\media\packs\ogretestmap.zip
Zip=D:\BIN\OGRE_SDK\OgreSDK\media\packs\skybox.zip
Savelah file tersebut, lalu copy semua isi direktori OgreSDK\bin\release kedalam workspace project anda khusunya direkori nama_workspace\nama_project\Release, misalkan milk saya 3d-programming\Tutor1\Release.


Masuk ke direktori nama_workspace\nama_project\Release, jalankan file executablenya biasanya nama_project.exe maka akan muncul dialog seperti ini,

Disini kita mengkonfigurasi output yang ditampilkan, tekan OK, maka hasilnya adalah sbb:

referensi :
http://www.scribd.com/doc/48480784/la1
http://www.scribd.com/doc/51151758/la2



cara instalasi ogre

Pada windows

1. Download file-file yg dibutuhkan untuk membuat aplikasi 3D dengan library OGRE3D (Object Oriented Graphics Rendering Engine) antara lain :

· Eclipse-CPP ganymede di sini http://www.eclipse.org/downloads/ sebagai IDC++

· MinGW toolbox sebagai GCC opensource compiler disini

· MYSYS sebagai GNU Terminal environment MSYS-1.0.10.exe

· OGRE3D SDK sebagai rendering engine di OGRE SDK for Code::Blocks + MinGW C++ Toolbox , perlu diperhatikan bahwa kita menggunakan MinGW sebagai c++ compilernya


2. Instalah MinGW Toolbox dan setelah itu lakukan setting environment variable, misalkan anda menginstalnya di D:\mingw, maka dalam environment variable kita set path dengan nilai D:\mingw\bin

2. 2. Instalah MinGW Toolbox dan setelah itu lakukan setting environment variable, misalkan anda menginstalnya di D:\mingw, maka dalam environment variable kita set path dengan nilai D:\mingw\bin


3. Untuk mengecek apakah path yg kita setting pada langkah 2, bukalah command prompt lalu ketik gcc -v, jika path sudah terkonfigurasi dengan benar maka hasilnya seperti dibawah ini :






4. Selanjutnya kita install MYSYS, dengan ini kita dapat menjalankan perintah-perintah LINUX kedalam command prompt WINDOWS, pertama jalankan setup file MSYS-1.0.10.exe yang telah didownload, lalu lakukan setting path terhadap hasil instalasi MYSYS tersebut. Misal anda menginstall MYSYS di D:\mysys\1.0 maka dalam environment variable PATH kita tambahkan nilai D:\mysys\1.0\bin, sehingga hasilnya seperti berikut :


5. Untuk mengeceknya kita ketikkan salah satu perintah LINUX melalui command prompt, misalnya uname –a


6.Selanjutnya installah OGRE yang telah didownload, pada tutorial ini dibuat adalah OgreSDKSetup1.4.2_CBMingW.exe. Misalkan kita instal di D:\OGRE_SDK. Maka lakukan setting variable seperti langkah-langkah sebelumnya, namun dalam hal ini kita buat variabel system baru dalam hal ini bernama OGRE_HOME

 
7. Lalu extractlah file eclipse hasil download dan jalankan file eclipse.exe dalam folder eclipse
8. Selanjutnya kita akan membuat sebuah Hello World project untuk mengetahui apakah eclipse telah dapat mendeteksi compiler MinGW yg telah diinstal.

Pada linux 
Distro linux yang saya pilih sebagai media untuk instalasi OGRE adalah linux ubuntu.  Disini saya akan menjelaskan secara singkat langkah2 instalasi OGRE di ubuntu. Sebelum mulai menginstal setidaknya kita telah menyediakan paket libfreeimage, jadi kita tidak perlu download dari sourcenya). Selamat mengikuti !!!
Download beberapa paket yg belum ada, seperti : OIS dan Cg Tool kit .
kemudian lanjutkan dengan :
Instalasi OIS
Install dulu dependency :
sudo apt-get install autoconf automake1.9 libtool libxaw6-dev build-essential
membutuhkan 63.3 MB
Kemudian mulai build
make clean # bersihkan folder objek hasil kompilasi sebelumnya
./bootstrap
./configure –disable-ogre # karena ogre yg akan memanggil ois
make
sudo make install
Instalasi Cg Toolkiet
extract Cg_toolkit, dan kopi ke /usr semuanya :
cd Cg
sudo cp usr/* /usr -R
Instalasi Ogre
Install dulu dependency :
sudo apt-get install libzzip-dev libxxf86vm-dev \
libxrandr-dev libxrandr-dev libfreeimage-dev \
libcegui-mk2-dev libfreetype6-dev libdevil-dev \
libgtk2.0-dev libcppunit-dev libglut3-dev
jalankan terlebih dahulu :
aclocal
Kemudian mulai build :
./bootstrap
./configure

referensi :
http://ekobudiarso33.wordpress.com/2011/04/04/game-engine-bag-2-teori/
anoa5.files.wordpress.com/2010/03/slide1_grafkomp2.ppt


game engine ogre

Game Engine adalah system perangkat lunak yang dirancang untuk menciptakan dan pengembangan video game. Ada banyak mesin permainan yang dirancang untuk bekerja pada konsol permainan video dan sistem operasi desktop seperti Microsoft Windows, Linux, dan Mac OS X. fungsionalitas inti biasanya disediakan oleh mesin permainan mencakup mesin render ( “renderer”) untuk 2D atau 3D grafis, mesin fisika atau tabrakan (dan tanggapan tabrakan), suara, script, animasi, kecerdasan buatan, jaringan, streaming, manajemen memori, threading, dukungan lokalisasi, dan adegan grafik. Proses pengembangan permainan sering dihemat oleh sebagian besar menggunakan kembali mesin permainan yang sama untuk menciptakan permainan yang berbeda.
Game engine biasanya datang dengan berbagai macam jenis dan ditujukan untuk berbagai kemampuan pemrogramman diantaranya Roll-your-own game engine dan Mostly-ready game engines.Roll-your-own game engine banyak perusahaan game kecil seperti publisher indie biasanya menggunakan engine nya sendiri. Ini berarti mereka menggunakan API seperti XNA, DirectX atau OpenGL untuk membuat game engine mereka sendiri. Disisi lain, mereka kadang menggunakan libraries komersil atau malah open source. Terkadang mereka malah membuat semuanya dari nol. Mostly-ready game engines. Engine engine ini biasanya sudah menyediakan semuanya begitu diberikan pada developer / programmer. Semuanya termasuk contoh GUI, physiscs, libraries model dan texture, dan segalanya. Banyak dari mereka yang sudah benar benar matang, sehingga dapat langsung digunakan untuk scripting sejak hari pertama.
Freeware game engine/open source game engine antara lain Blender, Golden T Game Engine (GTGE), DXFramework, Ogre, Aleph One, Axiom Engine, Allegro Library, Box2D, Build Engine, Cube, Cube 2, DarkPlaces, jMonkeyEngine (jME), Panda3D, Sphere.
Artikel kali ini akan membahas mengenai Ogre. OGRE (Object-Oriented Graphics Rendering Engine) adalah engine yang objek oriented fleksible 3D rendering pada game engine yang ditulis dalam bahasa C++ serta didesain mampu berkembang . Gambaran abstraknya OGRE menggunakan sistem library seperti Direct 3D dan OpenGL, serta menyediakan sebuah dasar interface di dunia object dan class object yang lebih tinggi. Yang dilakukan hanya mentranslasi dan merotasikan entitas yang memiliki animasi. Ogre merupakan sebuah open-source rendering grafis engine yang dibuat dan dirawat oleh tim kecil core, yang dikontribusikan dan dikembangkan oleh komunitasnya. Ogre dapat menjadi engine yang berkembang di kemudian hari karena sifatnya yang open source. Ogre dikembangkan oleh official Ogre team page. Ogre berjalan pada berbagai tools graphics 3D yang sesuai compatible dengan Ogre, meskipun performa pasti akan berbeda-beda. Ogre didukung C + + compiler (misalnya VisualStudio atau Code:: Blocks / MinGW).  Akhirnya, akan diperlukan sebuah tempat untuk isi program 3D. Ogre dijalankan dengan script C++, namun dapat pula dengan bahasa lainnya yaitu pada Python (Python-Ogre), Jawa (Ogre4j) dan untuk. NET languages – C # dan VB.NET – (MOGRE). Ogre adalah sebuah komponen dalam pengembangan yang lebih besar.
Fitur-Fitur yang terdapat pada OGRE yaitu :
Desain yang berobject oriented dengan menggunakan plug-in 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.

 referensi : 
http://putrikero.wordpress.com/2010/03/17/game-engine/
http://afinaa.wordpress.com/2010/06/23/game-engine-ogre-vs-delta-part-1/