开源3d游戏引擎irrlicht(鬼火)example讲解——customscenenode

开源3d游戏引擎irrlicht(鬼火)example讲解——customscenenode

ID:10201070

大小:232.00 KB

页数:7页

时间:2018-06-12

开源3d游戏引擎irrlicht(鬼火)example讲解——customscenenode_第1页
开源3d游戏引擎irrlicht(鬼火)example讲解——customscenenode_第2页
开源3d游戏引擎irrlicht(鬼火)example讲解——customscenenode_第3页
开源3d游戏引擎irrlicht(鬼火)example讲解——customscenenode_第4页
开源3d游戏引擎irrlicht(鬼火)example讲解——customscenenode_第5页
资源描述:

《开源3d游戏引擎irrlicht(鬼火)example讲解——customscenenode》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、开源3D游戏引擎Irrlicht(鬼火)Example讲解——CustomSceneNode赵刚Irrlicht引擎自带的第3个Example叫做CustomSceneNode,她演示了用户如何自己创建新的场景节点,如果用户对irrlicht里面已有的SceneNode都不满意,希望自己创建一个有特定功能的SceneNode可以参照这个例子做,这个例子创建的SceneNode很简单,只不过是一个四棱锥,但方法是可以参考的,用户理解后完全可以创建出复杂的SceneNode。程序运行起来如下图:运行03.C

2、ustomSceneNode.exe的时候会先出来一个控制台窗口,按a,再按回车即可,表示选择OpenGL作为渲染API。进入bin目录下的examples目录可以看到03.CustomSceneNode目录,双击CustomSceneNode_vc9.vcproj文件打开工程文件,工程文件中只有一个main.cpp文件。内容如下(去除了英文注释):#include#include"driverChoice.h"usingnamespaceirr;#ifdef_MSC_VER#p

3、ragmacomment(lib,"Irrlicht.lib")#endifclassCSampleSceneNode:publicscene::ISceneNode{core::aabbox3dBox;video::S3DVertexVertices[4];video::SMaterialMaterial;public:CSampleSceneNode(scene::ISceneNode*parent,scene::ISceneManager*mgr,s32id):scene::IScene

4、Node(parent,mgr,id){Material.Wireframe=false;Material.Lighting=false;Vertices[0]=video::S3DVertex(0,0,10,1,1,0,video::SColor(255,0,255,255),0,1);Vertices[1]=video::S3DVertex(10,0,-10,1,0,0,video::SColor(255,255,0,255),1,1);Vertices[2]=video::S3DVertex(0,

5、20,0,0,1,1,video::SColor(255,255,255,0),1,0);Vertices[3]=video::S3DVertex(-10,0,-10,0,0,1,video::SColor(255,0,255,0),0,0);Box.reset(Vertices[0].Pos);for(s32i=1;i<4;++i)Box.addInternalPoint(Vertices[i].Pos);}virtualvoidOnRegisterSceneNode(){if(IsVisible)S

6、ceneManager->registerNodeForRendering(this);ISceneNode::OnRegisterSceneNode();}virtualvoidrender(){u16indices[]={0,2,3,2,1,3,1,0,3,2,0,1};video::IVideoDriver*driver=SceneManager->getVideoDriver();driver->setMaterial(Material);driver->setTransform(video::

7、ETS_WORLD,AbsoluteTransformation);driver->drawVertexPrimitiveList(&Vertices[0],4,&indices[0],4,video::EVT_STANDARD,scene::EPT_TRIANGLES,video::EIT_16BIT);}virtualconstcore::aabbox3d&getBoundingBox()const{returnBox;}virtualu32getMaterialCount()const{

8、return1;}virtualvideo::SMaterial&getMaterial(u32i){returnMaterial;}};intmain(){video::E_DRIVER_TYPEdriverType=driverChoiceConsole();if(driverType==video::EDT_COUNT)return1;IrrlichtDevice*device=createDevice(driverType,core

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。