Minggu, 10 April 2011

Implementasi OGRE

Untuk membuat project OGRE, saya mengkonfigurasi OGRE SDK-nya. Dengan cara seperti ini :
1. Pada Eclipse, pilih menu Window – Preferences – C/C++  environment.
2. Klik tombol New. Beri nama OgreSDK. Lokasi: C:\ogreSDK.
3. Untuk menghentikan auot-building projects pada Eclipse yaitu dengan: klik Project – uncheck ‘Build Automatically’
Setelah menkonfigurasi(mensetting) OGRE SDK-nya kemudian saya lanjut ketahap pembuatan project baru, dengan cara seperti ini ;

1. Saya membuat sebuah Hello World project untuk mengetahui apakah eclipse telah dapat mendeteksi compiler MinGW yg telah diinstal.
2. Setelah itu kita buat project baru dengan menekan alt+shift+n lalu pilihlah C++ Project, perhatikan gambar berikut :


3. Kemudian mengisikan nama project pada menu Project Name, lalu pilih Project Type dengan Hello World C++ Project, uncheck pilihan show project types and toolchains.
4. Lalu pada bagian Toolchains pilih MinGW kemudian klik finish. Jika berhasil maka pada bagian Project Explorer akan muncul sebuah hirarki seperti ini :


5. Lalu selanjutnya saya akan membuat sebuah project aplikasi 3D yang memanfaatkan OGRE.
6. Ulangi langkah 2, lalu pada langkah berikutnya pilih Empty Project dengan Toolchains MinGW.
7. Lalu klik project yang dibuat pada langkah 5, pada bagian project explorer lalu tekan alt+enter maka Properties akan terbuka.
8. Arahkan kebagian C/C++ Build  Settings, Klik Manage Configurations lalu klik baris Release dan tekan Set Active dan klik OK.
9. 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.


10. Masih 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.




11. 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");
SceneNode *node1 = mSceneMgr->getRootSceneNode()->createChildSceneNode("RobotNode");
//attach entity ke scenenode ut beri lokasi render robot
node1->attachObject(ent1);
}
};
#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;
}


12. Lalu lakukan 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


13. Kemudian mengganti bagian ../../../ dengan fullpath pada lokasi OgreSDK 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=C:\BIN\ogreSDK\OgreSDK\Media
FileSystem=C:\BIN\ogreSDK\OgreSDK\Media\fonts
FileSystem=C:\BIN\ogreSDK\OgreSDK\Media\materials\programs
FileSystem=C:\BIN\ogreSDK\OgreSDK\Media\materials\scripts
FileSystem=C:\BIN\ogreSDK\OgreSDK\Media\materials\textures
FileSystem=C:\BIN\ogreSDK\OgreSDK\Media\models
FileSystem=C:\BIN\ogreSDK\OgreSDK\Media\overlays
FileSystem=C:\BIN\ogreSDK\OgreSDK\Media\particle
FileSystem=C:\BIN\ogreSDK\OgreSDK\Media\gui
FileSystem=C:\BIN\ogreSDK\OgreSDK\Media\DeferredShadingMedia
Zip=C:\BIN\ogreSDK\OgreSDK\media\packs\cubemap.zip
Zip=C:\BIN\ogreSDK\OgreSDK\media\packs\cubemapsJS.zip
Zip=C:\BIN\ogreSDK\OgreSDK\media\packs\dragon.zip
Zip=C:\BIN\ogreSDK\OgreSDK\media\packs\fresneldemo.zip
Zip=C:\BIN\ogreSDK\OgreSDK\media\packs\ogretestmap.zip
Zip=C:\BIN\ogreSDK\OgreSDK\media\packs\skybox.zip

14. Kemudian disave file tersebut, lalu copy semua isi direktori OgreSDK\bin\release kedalam workspace project khusunya direkori nama_workspace\nama_project\Release, misalkan milk saya 3d-programming\Tutor1\Release.
15. Masuk ke direktori nama_workspace\nama_project\Release, jalankan file executablenya biasanya nama_project.exe maka akan muncul dialog seperti ini :


16. Setelah dikonfigurasikan semua, lalu saya mengklik OK maka hasil output yang akan dikeluarkan seperti ini :




Berikut adalah contoh output dalam ogre :













Cara instalasi OGRE

Dalam installasi OGRE memiliki beberapa tahapan agar bisa digunakan karena OGRE tidak berjalan sendiri melainkan membutuhkan applikasi lain untuk berjalan. User akan membutuhkan komponen-komponen berikut :

1.      Eclipse
AC / C + + ekstensi untuk Eclipse, WIT. Untuk program C + + di Eclipse, instal ekstensi CDT.

2.      Sebuah kompiler, GCC (MinGW)
CDT bekerja dengan GCC, compiler gnu koleksi, awalnya ditulis untuk platform unix (seperti linux atau FreeBSD). Untuk menjalankannya di windows, kita perlu menciptakan lingkungan unix di windows agar gcc dapat berjalan. Ada dua pilihan.  Salah satu pilihan adalah Cygwin, yang hanya menerjemahkan semua sistem unix panggilan ke panggilan sistem windows, yang memungkinkan semua program unix untuk berjalan di windows. Pilihan kedua, kita akan gunakan adalah MinGW. MinGW merupakan kumpulan alat pengembangan linux (seperti compiler dan file header) yang terdiri dari gcc untuk windows.

3.      MSYS
Tools yang digunakan untuk mengkonfigurasi gcc. MSYS mengkonfigurasikan gcc di bawah platform windows.

4.      The Ogre SDK, Code:: Blocks versi
Untuk membuat program OGRE, kita perlu OGRE SDK. Ada beberapa SDK precompiled yang tersedia untuk platform pengembangan yang berbeda. Tidak ada SDK khusus untuk Eclipse.

5.      Install Eclipse
Sistem dasar Eclipse akan menampilkan lingkungan pemrograman Java yang dapat ditambahkan untuk bahasa lain. Install Eclipse, untuk praktikum kali ini, user menggunakan Eclipse Helios versi Eclipse IDE untuk C / C++ Developer. User dapat mendownload Eclipse IDE untuk C / C++ Developer, dengan C/C++ Development Tools Plugin sudah termasuk dalam paket installasi. Setelah didownload, extrak file tersebut dan jalankan Eclipse.exe .

6.      Install MinGW
MinGW adalah aplikasi gcc untuk Windows. Aplikasi ini seluruhnya berada dalam satu direktori. User akan menggunakan C:/mingw sebagai direktori file. Dalam direktori ini terdapat beberapa subdirektori seperti bin dan libs. MinGW terdiri dari beberapa paket distribusi yang masing-masing memiliki file dalam satu atau lebih dari direktori ini. untuk menginstall paket baru, cukup ekstrak ke direktori (misal) C:/mingw. Kemudian user perlu menambahkan direktori ini ke PATH variabel Windows juga, caranya:
+++  Klik kanan My Computer – Properties – Advanced – Environmental Variables  +++
Klik Path variable. Klik Edit, Add “;c:\mingw\bin” (tanpa tanda petik) pada Variable value. Tanda kutip ganda digunakan untuk memisahkan direktori yang berbeda.

7.      Install MSYS
Setelah mendownload MSYS.1.0.10.exe maka install ke direktori C:\msys. Skrip instalasi akan meminta anda untuk memberitahukan dimana anda menginstall MinGW. Agar program MSYS dapat dijalankan dimana saja, maka user perlu menambahkan direktori ini ke PATH windows juga. Caranya:
Klik kanan My Computer – Properties – Advanced – Environmental Variables.
Klik Path variable. Edit, tambahakan “;c\mysys\bin” (tanpa tanda kutip) pada Variable value. Tanda kutip digunakan untuk memisahkan direktori yang berbeda.

Untuk mengecek apakah hasil instalasi kita dapat bekerja dengan benar, maka user dapat mengeceknya melalui Command Prompt dan ketikkan perintah berikut:
“gcc –v”
“rm –versi”
Untuk kedua file, user harus mendapatkan beberapa informasi versi. Jika user mendapatkan pesan “is not recognized as an internal or external command, operable program or batch file” , itu artinya Windows tidak dapat menemukan program yang telah kita install. Periksa apakah Path variable telah diatur dengan benar.


8.
      Install OgreSDK
Untuk membuat aplikasi Ogre3D kita harus menginstall OgreSDK. Download OGRE SDK for Code::Blocks + MinGW C++ Toolbox, kemudian install di suatu tempat. Disini user akan menggunakan C:\ogreSDK.


Yang support terhadap OGRE adalah :
· Direct3D (Supporting DirectX 9 and 10) and OpenGL support [DirectX 7 Unsupported as of Ogre 1.2.0].
· Windows (all major versions), Linux and Mac OS X support
· Builds on Visual C++ 2003, 2005, 2008 and 2010.
· Builds on gcc 4+ on Linux and Mac OS X and for iPhone.

Pengertian OGRE

Ogre 3D (Object – Oriented Graphics Rendering Engine) merupakan 3D engine yang bersifat fleksibel (multi – platform ) yang dibangun dengan menggunakan bahasa C++. Ogre 3D di design untuk mempermudah para developer dalam memproduksi karya – karya 3D, Ogre 3d berupa sekumpulan library – library yang nantinya akan digunakan untuk berbagai keperluan pembuatan object dan konfigurasi dan grafis 3D hardware-accelerated.
Untuk membuat objek yang akan digunakan pada OGRE dapat menggunakan 3d graphics engine yang banyak dikenal seperti 3dsmax. Jika ingin membuat objek animasi 3d dengan 3dsmax, kita membutuhkan converter atau exporter karena 3dsmax tidak dapat mengeksport file .mesh sedangkan untuk menggunakan ogre dibutuhkan file berekstensi .mesh .
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.