Program OGRE Saya yang Pertama


Setelah dipelajari sampe otak panas, kemampuan OGRE saya yang nasibnya “gelap gak jelas” akhirnya menunjukkan titik terang….he he he
berikut ini aplikasi OGRE yang suderrrhana banget
#include
#include
class SampleApp : public ExampleApplication
{
public:
// Basic constructor
SampleApp()
{}
protected:
// Just override the mandatory create scene method
void createScene(void)
{
// Create the SkyBox
mSceneMgr->setSkyBox(true, "Examples/CloudyNoonSkyBox"); //latar langit
// Create a light
Light* myLight = mSceneMgr->createLight("Light0");
myLight->setType(Light::LT_POINT);
myLight->setPosition(0, 40, 0);
myLight->setDiffuseColour(1, 1, 1);
myLight->setSpecularColour(1, 1, 1);
Entity *ent1 = mSceneMgr->createEntity( "Ogre", "ogrehead.mesh" ); //bikin objeknya (kepalanya ogre)
SceneNode *node1 = mSceneMgr->getRootSceneNode()->createChildSceneNode( "OgreNode" );
node1->attachObject( ent1 );
Entity *ent2 = mSceneMgr->createEntity( "Ninja", "ninja.mesh" ); //bikin objek ninja
SceneNode *node2 = mSceneMgr->getRootSceneNode()->createChildSceneNode( "NinjaNode", Vector3( 50, 0, 1000 ) ); // letaknya x=50, y=0, z=1000
node2->attachObject( ent2 );
node2->scale( 5, 2, 3 ); // memanipulasi skala dari objek 3D
//ent1->setVisible(false); //disable tampilan
}
};
// ----------------------------------------------------------------------------
// Main function, just boots the application object
// ----------------------------------------------------------------------------
#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
{
// Create application object
SampleApp app;
try
{
app.go();
}
catch( Exception& e )
{
#if OGRE_PLATFORM == OGRE_PLATFORM_WIN32
MessageBox( NULL, e.getFullDescription().c_str(), "An exception has occured!", MB_OK | MB_ICONERROR | MB_TASKMODAL);
#else
std::cerr << "An exception has occured: " <scale( 5, 2, 3 );
gunanya adalah memanipulasi ukuran objek, kalau kita memperbesar skala y nanti karakter kita akan menjadi jangkung, bisa juga diubah jadi gendut atau pendek
Dalam OGRE, terdapat berbagai macam jenis vektor, yang saya bahas ini vektor 3D, nah, kalau sumbu x itu adalah garis dari sebelah kiri monitor sampai sebelah kanan monitor, subu y adalah bagian bawah monitor ke bagian atas monitor, sedangkan sumbu z berasal dari dalam monitor lalu ke luar monitor.
kalau kita mau merotasi objek pada sumbu x
node2->pitch( Degree( -90 ) );
kalau kita mau merotasi objek pada sumbu y
node1->yaw( Degree( -90 ) );
kalau kita mau merotasi objek pada sumbu z
node3->roll( Degree( -90 ) );
nih…screenshotnya:










SocialVibe