LISTING
PROGRAM
#include
"ExampleApplication.h"
class
BelajarOgre : public ExampleApplication {
public:
BelajarOgre(){
}
~BelajarOgre(){
}
protected:
void
createScene(void){
Entity
*ent1 = mSceneMgr->createEntity("Robot","robot.mesh");
Entity
*ent2 = mSceneMgr->createEntity("Razor","razor.mesh");
Entity
*ent3 = mSceneMgr->createEntity("Robot2","robot.mesh");
Entity
*ent4 = mSceneMgr->createEntity("Razor2","razor.mesh");
SceneNode
*node1= mSceneMgr>getRootSceneNode()->createChildSceneNode("RobotNode",
Vector3(125, 0, 0));
node1->attachObject(ent1);
node1->yaw(Degree(-180));
SceneNode
*node2= mSceneMgr>getRootSceneNode()->createChildSceneNode("RazorNode",
Vector3(100, 0, 0));
node2->attachObject(ent2);
node2->yaw(Degree(-90));
SceneNode
*node3= mSceneMgr>getRootSceneNode()->createChildSceneNode("Robot2Node",
Vector3(-125, 0, 0));
node3->attachObject(ent3);
SceneNode
*node4= mSceneMgr>getRootSceneNode()->createChildSceneNode("Razor2Node",
Vector3(-100, 0, 0));
node4->attachObject(ent4);
node4->yaw(Degree(90));
}
};
LOGIKA
PROGRAM
void
createScene(void){
Entity
*ent1 = mSceneMgr->createEntity("Robot","robot.mesh");
Entity
*ent2 = mSceneMgr->createEntity("Razor","razor.mesh");
Entity
*ent3 = mSceneMgr->createEntity("Robot2","robot.mesh");
Entity
*ent4 = mSceneMgr->createEntity("Razor2","razor.mesh");
Listing di atas
ini merupkan void createScene(void) digunakan sebagai pendeklarasian method
yang ada dalam program ini. Method tersebut diberi nama createScene. Selain
itu, method ini memiliki parameter void dan bertipe void yang artinya adalah
method ini tidak dapat memberikan nilai balik. Lalu terdapat pendeklarasian
objek entity yang diberi nama dengan *ent1, *ent2, *ent3, dan *ent4. Tanda (*)
pointer yang dapat dipanggil pada line – line statemen tertentu. Lalu untuk membuat suatu entity,
kita gunakan sintaks createEntity dimana parameter yang ada didalamnya yaitu
merupakan nama dari entity yang dibuat, kemudian file model yang akan dipanggil
atau dibuat. Listing di atas terdapat 4 entity yang diberi nama Robot, Razor,
Robot2 dan Razor2, lalu kita panggil file robot.mesh dan razor.mesh untuk
memanggil file model yang telah disediakan oleh OGRE.
SceneNode*node1= mSceneMgr>getRootSceneNode()->createChildSceneNode("RobotNode",
Vector3(125, 0, 0));
node1->attachObject(ent1);
node1->yaw(Degree(-180));
Listing
di ats ini digunakan untuk membuat parent node. Node yang pertama ini diberi
nama *node1, dimana node1 ini di dalamnya berisikan nama objeknya yaitu
“RobotNode” dengan koordinatnya adalah X=125, Y=0, Z=0. Lalu terdapat |node1->attachObject(ent1);|
digunakan untuk melakukan proses attach atau upload object yang sebelumnya
telah dideklarasikan objeknya. Lalu terdapat node1->yaw(Degree(-180)); yang
digunakan untuk memutar objek pada sumbu Y sebesar 180 derajat searah dengan
jarum jam.
SceneNode*node2= mSceneMgr>getRootSceneNode()->createChildSceneNode("RazorNode",
Vector3(100, 0, 0));
node2->attachObject(ent2);
node2->yaw(Degree(-90));
Listing di
ats ini digunakan untuk membuat parent node. Node yang pertama ini diberi nama
*node2, dimana node1 ini di dalamnya berisikan nama objeknya yaitu “RazorNode”
dengan koordinatnya adalah X=100, Y=0, Z=0. Lalu terdapat
|node2->attachObject(ent2);| digunakan untuk melakukan proses attach atau
upload object yang sebelumnya telah dideklarasikan objeknya. Lalu terdapat
|node2->yaw(Degree(-90));| yang digunakan untuk memutar objek pada sumbu Y
sebesar 90 derajat searah dengan jarum jam.
SceneNode*node3= mSceneMgr>getRootSceneNode()->createChildSceneNode("Robot2Node",
Vector3(-125, 0, 0));
node3->attachObject(ent3);
Listing
di ats ini digunakan untuk membuat parent node. Node yang pertama ini diberi
nama *node3, dimana node1 ini di dalamnya berisikan nama objeknya yaitu
“Robot2Node” dengan koordinatnya adalah X=-125, Y=0, Z=0. Lalu terdapat
|node3->attachObject(ent3);| digunakan untuk melakukan proses attach atau
upload object yang sebelumnya telah dideklarasikan objeknya.
SceneNode*node4= mSceneMgr>getRootSceneNode()->createChildSceneNode("Razor2Node",
Vector3(-100, 0, 0));
node4->attachObject(ent4);
node4->yaw(Degree(90));
Listing
di ats ini digunakan untuk membuat parent node. Node yang pertama ini diberi
nama *node4, dimana node1 ini di dalamnya berisikan nama objeknya yaitu
“Razor2Node” dengan koordinatnya adalah X=-100, Y=0, Z=0. Lalu terdapat
|node4->attachObject(ent4);| digunakan untuk melakukan proses attach atau
upload object yang sebelumnya telah dideklarasikan objeknya. Lalu terdapat
|node4->yaw(Degree(90));| yang digunakan untuk memutar objek pada sumbu Y
sebesar 90 derajat berlawanan arah dengan jarum jam.
OUTPUT
PPROGRAM
Tidak ada komentar:
Posting Komentar