Archive

Posts Tagged ‘Animation’

Program OGRE Saya yang Pertama

August 10, 2008 azer89 Leave a comment

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 << &quot;An exception has occured: &quot; <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:

Categories: OGRE 3D, Programming Tags: , ,

Game Programming With OGRE 3D

August 8, 2008 azer89 9 comments

Ahh…apaan lagi ini? kali ini saya lagi membicarakan game programming, yep, saya pernah posting tentang Allegro, nah, setelah diberi tahu oleh teman, saya baru tahu kalau ada library grafis khusus untuk 3D, ya, library ini bernama OGRE 3D, atau singkatnya disebut OGRE saja (kepanjangannya sih Object-Oriented Graphics Rendering Engine). Library ini termasuk open source. O ya, library ini dikhususkan untuk bahasa C++, kalau C ? kayaknya tidak bisa karena diwajibkan untuk pemrograman berorientasi objek, untuk IDE-nya sendiri saya pake CodeBlocks+MinGw.

Awal pertama kali tahu tentang OGRE saya kayaknya mulai tertarik, wow, keren nih, soalnya kalau pake Allegro agak susah kalau pemrograman 3D-nya. Sebenarnya waktu itu saya ditawari teman untuk bikin proyek animasi dan game. Dia fokus ke desain 3D dan saya bagian programmingnya, menarik banget!

Pada saat tulisan ini ditulis–>kemampuan saya tentang OGRE masih nol besar, hahaha, cuman baru bisa compile doang, langkah awal saya belajar OGRE ya..baru menginstall aplikasi MinGw+CodeBlocks+OGRE,nah, pas dicoba compile aplikasi OGRE-nya, wah error! Katanya tidak diketemukan d3dx9d_30.dll. Wah bingung saya, kalo gak salah, d3dx9d_30.dll itu DirectX 10, nah saya tambah bingung, kan saya pakai Vista,sudah pasti ada DirectX 10-nya, tapi kok masi error aja ya? Wah terpaksa saya donwload d3dx9d_30.dll dari internet, awalnya saya pikir,bisa gak ya? Jangan-jangan d3dx9d_30.dll yang saya download palsu… Ah, mau gimana lagi, langsung saja d3dx9d_30.dll yang baru saya download kukopi ke folder OGRE-nya, dan..berhasil dicompile…..oke jeehhh…bisa! Moga-moga nanti gak ada error lagi gara-gara d3dx9d_30.dll yang didownload dari sumber yang tidak jelas.

Wew..kapan saya bisa jadi master OGRE? tunggu tanggal mainnya! hehehe….

Categories: OGRE 3D, Programming Tags: , ,