15.startup

来源:互联网 发布:手机怎么打开php格式 编辑:程序博客网 时间:2024/05/22 03:38

以前的所有例子都用到了ExampleApplication,这一节终于脱离ExampleApplication。直接上代码。

int main(void){ogre::root* root = new ogre::root("plugins_d.cfg");if(!root ->showconfigdialog()){return -1;}ogre::renderwindow* window = root ->initialise(true, "ogre3dbeginnersguide");ogre::scenemanager* scenemanager = root ->createscenemanager(ogre::st_generic);ogre::camera* camera = scenemanager ->createcamera("camera");camera ->setposition(ogre::vector3(0, 0, 50));camera ->lookat(ogre::vector3(0, 0, 0));camera ->setnearclipdistance(5);ogre::viewport* viewport = window ->addviewport(camera);viewport ->setbackgroundcolour(ogre::colourvalue(0.0, 0.0, 0.0));camera ->setaspectratio(ogre::real(viewport ->getactualwidth()) / ogre::real(viewport ->getactualheight()));ogre::configfile cf;cf.load("resources_d.cfg");ogre::configfile::sectioniterator sectioniter = cf.getsectioniterator();ogre::string sectionname, typename, dataname;while(sectioniter.hasmoreelements()){sectionname = sectioniter.peeknextkey();ogre::configfile::settingsmultimap* settings = sectioniter.getnext();ogre::configfile::settingsmultimap::iterator i;for(i = settings ->begin(); i != settings ->end(); ++i){typename = i ->first;dataname = i ->second;ogre::resourcegroupmanager::getsingleton().addresourcelocation(dataname, typename, sectionname);}}ogre::resourcegroupmanager::getsingleton().initialiseallresourcegroups();ogre::entity* ent = scenemanager ->createentity("sinbad.mesh");scenemanager ->getrootscenenode() ->attachobject(ent);root ->startrendering();return 0;}
当然还要包括头文件OIS.h和Ogre.h

原创粉丝点击