Improve the Basic tutorial

13 05 2009

Ok sekarang kita akan sedikit mempoles Basic tutorial sebelumnya dengan menambah Loading Bar dan Plane ..hehe….

1. Menambah Loading screen dan progress Bar

Loading Screen biasanya ditampilkan pada saat program sedang meload resources atau initialisasi. Nah pada saat Loading biasanya ditampilkan gambar maupun animasi. Animasi yang sering dipake adalah progress bar yang menunjukkan persentasi proses yang sedang berjalan.

Pada OGRE 3D sudah ada contoh Loading Bar menggunakan Ogre::overlay. Untuk memulainya, tambahkan pada applikasi code berikut :

#include <ExampleLoadingBar.h>

setelah itu cari code initialisasi Resource Group :

ResourceGroupManager::getSingleton().initialiseAllResourceGroups();

tambahkan code ini diatasnya :

// add Loading bar
ExampleLoadingBar mLoadingBar;

mLoadingBar.start(window, 1, 1, 0.7f);
sceneMgr->clearSpecialCaseRenderQueues();
sceneMgr->addSpecialCaseRenderQueue(RENDER_QUEUE_OVERLAY);
sceneMgr->setSpecialCaseRenderQueueMode(SceneManager::SCRQM_INCLUDE);

Pada sceneMgr diatas kita menghapus semua Render_queue, dan menambah Render_queue_overlay , karena LoadingBar menggunakan Ogre::overlay. Setelah itu lakukan initialisasi Resources Group. setelah selesai maka kita kembalikan Render_queue seperti semula. Masukkan code berikut dibawah inisialisasi resource Group

// Back to full rendering
sceneMgr->clearSpecialCaseRenderQueues();
sceneMgr->setSpecialCaseRenderQueueMode(SceneManager::SCRQM_EXCLUDE);
mLoadingBar.finish();

apabila berhasil maka Gambar akan mucul 😛

loadingbar

Gambar 1.1 Loading Screen

2. Plane

Menambah plane ( dataran ) dengan menggunakan createPlane dari Ogre::MeshMAnager, kita akan buat ukuran 2000 X 2000 pixel dengan texture “Rockwall”. Apabila ingin mengganti texture kita bisa coba-coba dengan texture yang lain seperti “RustySteel” atau “Rocky”. Silahkan lihat di  Media/Material/Script/example.Material. Untuk mengetahui Parameter dari Ogre::plane kita bisa membuka File OgrePlane.h pada OGRE SDK / include. 🙂

 // Define a floor plane mesh
        Plane p;
        p.normal = Vector3::UNIT_Y;
        p.d = 200;

        MeshManager::getSingleton().createPlane(
            "FloorPlane", ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME,
            p, 2000, 2000, 20, 20, true, 1, 50, 50, Vector3::UNIT_Z);
		//
		 // Create an entity (the floor)
		Ogre::Entity* ent = sceneMgr->createEntity("floor", "FloorPlane");
        ent->setMaterialName("Examples/Rockwall");

plane_rockwall

Gambar 1.2 Plane


<< Sebelum __________________________       Sesudah>>

Referensi :

Ogre basic tutorial 2

ExampleBSP, Example Camera Track

Note : this tutorial isn’t Complete yet.. 😛


Actions

Information

Leave a comment