3 CustomSceneNode
官方代码($sdk)\examples\03.CustomSceneNode
这个例子,一看截图就很无聊,就一个五颜六色的三棱锥。好多浮躁的人看到这么没劲的例子,直接就忽略了。然而这个例子对我个人来说,感觉用途太大了,我后面自己做游戏时,经常在对引擎做扩展时,用到的就是这个例子教的东西。对于浮躁的天朝人,出现在这个位置太坑了,这例子应该反到后面些。不过会忽略这例子的人,估计是粗心大意或记忆力差的人,例子一开头就用英文写着“这个例子是为更高级一些的开发者设计的,如果你仅仅是简单的了解irr引擎,请优先看看其他的例子。”
不废话了,后面先介绍着例子。
在想实现一个渲染技巧,而irr并不支持的时候,就必须自己手工创建。要怎么创建呢?方法就是这个例子。例子里演示了如何手工创建一个场景节点,并在引擎中将其进行显示。
如何手工创建一个场景节点呢?自己好好看看前面用到场景节点类型的头文件就会受到启发了。它们都共同继承了一个基类——ISceneNode。ISceneNode基类,就是手工创建节点必须的。ISceneNode类是个抽象类,它里面大部分公用的方法已经写好了,只有部分方法必须有派生类明确的写成了纯虚类,这些方法就是需要自己重写的了。
例子里,写了一个CSampleSceneNode类,它公有继承了ISceneNode类。私有成员有