Third Demo of OGRE
2010-07-04 23:58
302 查看
#include "ExampleApplication.h" class FameApplication : public ExampleApplication { public: FameApplication(); ~FameApplication(); //Just override the mandatory create scene method void createScene(void); void destroyScene(void); }; FameApplication::FameApplication() { } FameApplication::~FameApplication() { } void FameApplication::createScene() { // Set ambient light mSceneMgr->setAmbientLight(ColourValue(0.5, 0.5, 0.5)); //set Shadows mSceneMgr->setShadowTechnique(SHADOWTYPE_STENCIL_ADDITIVE); // setup a ogre mesh Entity* ogreHead = mSceneMgr->createEntity("Ninja", "ninja.mesh"); ogreHead->setCastShadows(true); SceneNode* headNode = mSceneMgr->getRootSceneNode()->createChildSceneNode(); headNode->attachObject(ogreHead); 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); ogreHead = mSceneMgr->createEntity("GroundEntity", "ground"); mSceneMgr->getRootSceneNode()->createChildSceneNode()->attachObject(ogreHead); ogreHead->setMaterialName("Examples/Rockwall"); ogreHead->setCastShadows(false); // Create a skydome mSceneMgr->setSkyDome(true, "Examples/CloudySky", 5, 8); // Create a light Light* l = mSceneMgr->createLight("MainLight"); //set light type is point l->setType(Light::LT_POINT); // Accept default settings: point light, white diffuse, just set position // NB I could attach the light to a SceneNode if I wanted it to move automatically with // other objects, but I don't l->setPosition(20,80,50); //set light of Diffuse l->setDiffuseColour(1.0, 0.0, 0.0); //set light of Specular l->setSpecularColour(1.0, 0.0, 0.0); l = mSceneMgr->createLight("MinorLight"); l->setType(Light::LT_DIRECTIONAL); l->setDiffuseColour(ColourValue(.25, .25, 0)); l->setSpecularColour(ColourValue(.25, .25, 0)); l->setDirection(Vector3( 0, -1, 1 )); } void FameApplication::destroyScene() { } INT WINAPI WinMain( HINSTANCE hInst, HINSTANCE, LPSTR strCmdLine, INT ) { // Create application object FameApplication app; try { app.go(); } catch( Ogre::Exception& e ) { MessageBox( NULL, e.getFullDescription().c_str(), "An exception has occured!", MB_OK | MB_ICONERROR | MB_TASKMODAL); } return 0; }
相关文章推荐
- Fourth Demo of OGRE
- Fifth Demo of OGRE---Listener
- Sixth Demo of OGRE---Buffer Input
- Seventh Demo of OGRE
- Eleventh Demo of OGRE
- Eighth Demo of OGRE
- Twelfth Demo of OGRE
- Thirteenth Demo of OGRE
- Second Demo of OGRE
- Fifteenth Demo of OGRE
- First Demo of OGRE
- Lerning Entity Framework 6 ------ A demo of using Entity framework with MySql
- 运行Ogre Demo出错
- picture_info demo of transition in css
- Third review of team blog(6.26)
- ogre游戏制作一(安装和编译demo)
- understanding the kernel of the linux the third vesion
- [bug] captcha中demo运行失败(TypeError must be sequence of length 4, not 2)
- OGRE Demo_Dot3Bump
- 【笔记】六、OGRE与CEGUI中Demo分析