Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
Diterbitkan olehYohanes Salim Telah diubah "7 tahun yang lalu
1
17 februari 2011 PJ : Nuraini Purwandari
Training OGRE 17 februari 2011 PJ : Nuraini Purwandari This presentasion is dedicated to Laboratory of Information of Universitas Gunadarma
2
PEMBAHASAN Dalam Materi Training ini akan dibahas antara lain :
Pengenalan & Instalasi Ogre Pewarnaan pada Ogre Shadowing / Bayangan pada Ogre Ligthing, Viewport dan Camera Rotasi pada Ogre Translasi pada Ogre Penskalaan pada Ogre Sky, Fog dan Terrain pada Ogre Particle dan Material pada Ogre Animasi dengan Ogre
3
Pengenalan & Instalasi Ogre
(Object-oriented Graphics Rendering Engine) adalah open source rendering engine grafik yang ditulis dan dimaintain oleh tim inti kecil. Telah berkembang luas menjadi komunitas. Tutorial
4
Pengenalan & Instalasi Ogre
Berikut ini adalah file-file yg dibutuhkan untuk membuat aplikasi 3D dengan library OGRE3D (Object Oriented Graphics Rendering Engine) antara lain : Eclipse-CPP ganymede sebagai IDE C++ MinGW toolbox sebagai GCC opensource compiler MYSYS sebagai GNU Terminal environment OGRE3D SDK sebagai rendering engine di OGRE SDK for Code::Blocks + MinGW C++ Toolbox , perlu diperhatikan bahwa kita menggunakan MinGW sebagai c++ compilernya Setelah proses penginstalan selesai maka langkah selanjutnya adalah mengetikkan source code pada Eclipse dan melakukan penyetingan pada Menu Setting di properties Setelah itu baru di Build All dan akan muncul outputnya.
5
Tampilan Awal window Ogre
6
Pewarnaan pada Ogre Model warna dimana warna yang dihasilkan merupakan kombinasi warna RED, GREEN dan BLUE. Dalam API yang terdapat dalam OGRE, model ini biasa dijadikan pada parameter pemanggilan fungsi ColourValue(float red,float green, float blue) dimana parameter fungsi ini memiliki range antara 0.0f sampai 1.0f. Contoh constanta warna built-in yang terdapat pada OGRE, diantaranya : static const Black = ColourValue(0.0,0.0,0.0) static const White=ColourValue(1.0,1.0,1.0) static const Red = ColourValue(1.0,0.0,0.0) static const Green = ColourValue(0.0,1.0,0.0) static const Blue = ColourValue(0.0,0.0,1.0)
7
Shadowing pada Ogre SceneManager memiliki fungsi setShadowTechnique untuk menset type bayangan yang kita inginkan Untuk mencoba shadow pada Ogre, tambahkan kode berikut pada TutorialApplication::createScene(); void createScene(void) { Entity *ent; Light *light; mSceneMgr->setAmbientLight( ColourValue( 0, 0, 0 ) ); mSceneMgr->setShadowTechnique( SHADOWTYPE_STENCIL_ADDITIVE ); ent = mSceneMgr->createEntity("Ninja", "ninja.mesh"); ent->setCastShadows(true); mSceneMgr->getRootSceneNode()->createChildSceneNode()->attachObject(ent); Plane plane(Vector3::UNIT_Y, 0); MeshManager::getSingleton().createPlane("ground", ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME, plane, 1500,1500,20,20,true,1,5,5,Vector3::UNIT_Z); ent = mSceneMgr->createEntity("GroundEntity", "ground"); ent->setMaterialName("Examples/Rockwall"); ent->setCastShadows(false);
8
Light, Viewport dan Camera pada Ogre
Cahaya / Light Point (LT_POINT) cahaya point memancarkan cahaya dari titik ke semua arah Spotlight (LT_SPOTLIGHT) Cahaya akan keluar melalui suatu arah tertentu Bisa ditentukan besar sudut lingkaran dalam dan lingkaran luar terang pada center, dan lebih redup pada bagian luar Directional (LT_DIRECTIONAL) mensimulasikan cahaya jarak jauh yang menabrak apapun pada scene dari satu arah menset directional light
9
Membuat Viewport pada Ogre
Tambahkan kode berikut pada TutorialApplication::createViewport() // Create one viewport, entire window virtual void createViewports(void) { Viewport* vp = mWindow->addViewport(mCamera); vp->setBackgroundColour(ColourValue(0,0,0)); mCamera->setAspectRatio(Real(vp->getActualWidth()) / Real(vp->getActualHeight())); } Perintah membuat viewport dengan menempelkan sebuah kamera pada viewport. Perintah kedua menset background dari viewport. Menset aspect ratio dari viewport.
10
Membuat Kamera pada Ogre
Tambahkan kode berikut pada TutorialApplication::createCamera() protected: virtual void createCamera(void) { mCamera = mSceneMgr->createCamera("PlayerCam"); mCamera->setPosition(Vector3(0,10,500)); mCamera->lookAt(Vector3(0,0,0)); mCamera->setNearClipDistance(5); } Perintah pertama membuat kamera dengan nama “PlayerCam” Perintah kedua menset posisi dari kamera, sedang perintah berikutnya menset arah pandang kamera Perintah terakhir menentukan jarak terdekat yang terlihat kamera. Untuk menset jarak terjauh gunakan setFarClipDistance
11
Contoh Output menggunakan Light, Viewport, Camera dan Shadowing
12
Contoh Output menggunakan Light, Viewport, Camera dan Shadowing
13
Rotasi pada Ogre Di Ogre, kita dapat merotasikan objek dengan mempergunakan method yaw, pitch, dan roll baik dalam degree atau dalam radian.
14
Contoh Output Rotasi
15
Translasi pada Ogre Translasi merupakan suatu proses yang menyebabkan perpindahan objek dari satu titik ke titik lain. Method : node1->translate( Vector3( 10, 0, 10 ) );
16
Penskalaan pada Ogre Penskalaan dalam OGRE merupakan salah satu bagian dari hubungan spasial transformasi yang dinyatakan dengan koordinat dinyatakan dalam sumbu X, Y, dan Z.
17
Contoh Output Skala
18
Sky, Fog dan Terrain pada Ogre
Sky / Langit Ogre menyediakan tiga jenis langit: SkyBoxes, SkyDomes, dan SkyPlanes SkyBox pada dasarnya adalah sebuah kubus raksasa yang mengelilingi semua objek dalam scene. SkyDomes sangat mirip dengan SkyBoxes. SkyPlanes sangat berbeda dari SkyBoxes dan SkyDomes. Fog / kabut Pada Ogre, setFog adalah jenis kabut (dalam kasus ini, linear). Parameter kedua untuk setFog adalah warna kabut yang kita gunakan (dalam hal ini yang sangat sangat ringan abu-abu atau "WhiteSmoke" untuk C #). Parameter ketiga tidak digunakan dalam linear kabut. Keempat dan kelima parameter menentukan rentang di mana mendapatkan kabut tebal.
19
Sky, Fog dan Terrain pada Ogre
Dasar dari SceneManager mendefinisikan method setWorldGeometry, yang subclass-subclass-nya menggunakan hampir semua scene dalam pembuatannya. Dengan menngunakan class TerrainSceneManager, kita menginginkan nama file yang memuat konfigurasi dataran (terrain). Cari TutorialApplication:: createScene fungsi anggota dan tambahkan baris kode ini: mSceneMgr->setWorldGeometry("terrain.cfg"); Kompilasi dan jalankan program, maka akan muncul dataran dari file terrain. Ada banyak pilihan dalam file terrain.cfg, namun disini kita akan membahas yang paling sederhananya saja. Satu hal yang perlu diketahui tentang TerrainSceneManager adalah bahwa hal itu telah dirancang dengan fungsi paging.
20
Contoh Output SkyBox SkyDome
21
Contoh Output SkyPlane
22
Contoh Output Terrain Fog / kabut
23
Particle dan Material pada Ogre
Particle merupakan pondasi dari sebagian besar spesial efek visual dalam aplikasi 3D. Ketika kita tidak membutuhkan sebuah particle system untuk menarik bagian efek visual tertentu, mereka membuat hidup lebih mudah ketika kita membutuhkan sebuah efek. Materials mendefinisikan bagaimana objek mencerminkan cahaya, tetapi tidak bagaimana cahaya yang dipantulkan berinteraksi dengan objek lainnya dalam scene. Dengan kata lain, objek yang kita buat tidak menjadi sumber cahaya tambahan dalam scene ketika objek tersebut merefleksikan dan/atau memancarkan cahaya.
24
Contoh Output Material
Kita menggunakan material yang telah disediakan oleh Ogre di C:\OgreSDK\media\materials\texture untuk macam-macam gambar tekstur yang dapat digunakan dan C:\OgreSDK\media\materials\scripts\Example.material untuk script code bentukan material yang ingin dibentuk.
25
Contoh Output Particle
Smoke Sun
26
Animasi pada Ogre Animasi, secara umum tidak berbeda dalam usia komputer daripada ketika beberapa seniman pertama dengan cepat membalik halaman yang berisi serangkaian gambar yang sedikit berbeda dan melihat bahwa hal tersebut memberikan ilusi gerak. Secara umum, Ogre mendukung dua cara yang berbeda untuk memanipulasi objek-objek di functional basis. Pertama adalah keyframed animation dan yang kedua adalah sebuah controller. Berikut macam-macam animasi yang terdapat pada Ogre : Animation State : interaksi utama antara aplikasi dan animasi di Ogre adalah melalui animation state. Dalam alat pemodelan kita, kita dapat menetapkan beberapa animasi unuk kerangka atau mesh sepanjang waktu. Skeletal Animation : skeletal animasi mungkin jenis animasi yang paling umum digunakan. Dengan skeletal animasi, simpul dalam mesh terikat dalam ”tulang” yang membuat sebuah kerangka.
27
Animasi pada Ogre Vertex Animation : mengacu pada fakta bahwa bukannya menghidupkan tulang dalam kerangka dan perhitungan posisi vertices sebagai fungsi dari tulang-tulang tersebut, yang sebenarnya posisi verteks animasi. Tipe dari animasi ini adalah morph animation dan pose animation. Blending Animation : kita dapat memadukan berbagai tipe animasi untuk membuat animasi kompeks dalam scene, tetapi kita tidak dapat memadukan moprh dan pose bersamaan, kita juga tidak bisa memadukan beberapa animasi morph. Controllers Saat animasi keyframed mengatur bagaimana kita menghidupkan mesh kita, sebuah controller akan menjadikan apa yang dapat bergerak, mengatakan, scenenode yang masih melekat di mesh kita, disekitar scene, dibawah kendali fungsi apa saja. Controllers mengacu pada kenyataan bahwa posisi, orientasi, skala dan sebagainya, dari satu atau lebih objek dalam scene kita yang dikendalikan oleh perhitungan nilai, melainkan melacak ke data keyframe.
28
Contoh output Animasi
29
Contoh Output Fresnel Reflection and Refractions pada Ogre
30
Contoh Output Objek Mesh Car
31
PENUTUP Slide ini dapat di download di blog :
Sekian presentasi dari saya. Terimakasih.
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.