NO.6.5_OGRE中级教程5.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
文档:教程:中级教程:中级教程五 From OGRE 3D 中文 Jump to: navigation, search 目录 [隐藏] 1 内容 2 必要条件 3 创建场景 3.1 从ManualObject创建Mesh 3.2 添加Static Geometry 4 结论 4.1 Modifying the StaticGeometry Object 4.2 Advanced Object Batching 内容 很多情况,你需要在场景中添加物体,但是却根本不需要移动它们.比如,除非你加入了物理因素,一块石头或者一棵树将永远不会被移动.Ogre为这种情况提供了StaticGeometry类,它允许你批渲染很多物体.这个通常要比手动在SceneNodes添加要快多了.在这个教程里我们要涵盖StaticGeometry的基本使用方法,另外还会再提及ManualObject的使用.请在前一个教程中获取ManualObject的使用方法. 在这个教程中,我们将手动创建一个草地mesh,然后在我们的场景中的StaticGeometry 实例中添加许多这样的草地. 本教程的代码在这里下载. 必要条件 创建一个cpp 文件,添加下面代码: #include ExampleApplication.h class TutorialApplication?: public ExampleApplication { protected: public: TutorialApplication() { } ~TutorialApplication() { } protected: MeshPtr mGrassMesh; void createGrassMesh() { } void createScene(void) { createGrassMesh(); mSceneMgr-setAmbientLight(ColourValue(1, 1, 1)); mCamera-setPosition(150, 50, 150); mCamera-lookAt(0, 0, 0); Entity *robot = mSceneMgr-createEntity(robot, robot.mesh); mSceneMgr-getRootSceneNode()-createChildSceneNode()-attachObject(robot); Plane plane; plane.normal = Vector3::UNIT_Y; plane.d = 0; MeshManager::getSingleton().createPlane(floor, ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME, plane, 450,450,10,10,true,1,50,50,Vector3::UNIT_Z); Entity* pPlaneEnt = mSceneMgr-createEntity(plane, floor); pPlaneEnt-setMaterialName(Examples/GrassFloor); pPlaneEnt-setCastShadows(false); mSceneMgr-getRootSceneNode()-createChildSceneNode()-attachObject(pPlaneEnt); } }; #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 TutorialApplication app; try { app.go(); } catch(Exception e) { #if OGRE_PLATFORM == O

您可能关注的文档

文档评论(0)

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档