基于
OGRE
?/p>
Boids
算法实验
一?/p>
?/p>
验内?/p>
1.1
?/p>
OGRE
中实?/p>
Boids
算法,将
OpenGL
平台?/p>
MyBoids
算法移植?/p>
OGRE
中进行实现;
1.2
?/p>
OGRE
中添加以下交互功能,通过按键或者菜单均可:
?/p>
增加
/
减少
Boids
的速度?/p>
?/p>
启动
/
停止
Cube
的移动,观察
Boids
的跟随效果;
?/p>
改变
4
个规则的权值(
0-1
之间?/p>
,观?/p>
Boids
的飞行效果;
二?/p>
?/p>
验步?/p>
1.1
实验步骤
1.
拷贝
MyBoids.h,MyBoids.cpp
?/p>
E:\MFCOgre1\MFCOgre1(
对应的项目位?/p>
)
2.
添加
MyBoids.h
?/p>
MyBoids.cpp
到工程中
3.
?/p>
MFCOgre1View.h
中引入头文件
MyBoids.h(
#include
"MyBoids.h")
4.
?/p>
MFCOgre1View.cpp
?/p>
OnInitialUpdate()
函数
(OnInitialUpdate()
?/p>
MFCOgre1View
的第
115
?/p>
)
中,
添加?/p>
?/p>
AllInit()
?/p>
5.
打开
MFCOgre1View.h
,在类中创建节点变量
SceneNode*
node
,实体变?/p>
Entity*
ent
,节点变量数?/p>
SceneNode*
node4[BoidsNum]
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
Entity*
ent4[BoidsNum]
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
Ogre::String
Name[BoidsNum]
?/p>
SceneNode* node;
Entity* ent;
SceneNode* node4[BoidsNum];
Entity* ent4[BoidsNum];
Ogre::String Name[BoidsNum];
6.
打开
MFCOgre1View.cpp
,在
MFCOgre1View.cpp
的构造函数中对创建的节点和实体对象以及字符串数组
初始?/p>
for
(
int
i = 0; i< BoidsNum; i++)
{
if
(i == 0)
{