- 积分
- 23
- 帖子
- 9
- 主题
- 2
- 精华
- 0
- 最后登录
- 2008-7-7
- 在线时间
- 4 小时
- 私信
|
发表时间 : 2008-7-7 10:24:19
|
浏览 : 981 评论 : 0
请教高手,我想实现水面的流动效果,再creator里用dof节点作了一个水面,加载到vega后,用网上流传的dof程序在mfc框架下添加代码如下
void zsVegaView::water()
{
vgObject* obj;
vgPart* water;
vgPosition* pos;
int i;
float x, y, z, h, p, r,y0;
obj = vgFindObj("water");
water = vgFindPart(obj, "water", NULL);
pos = vgNewPos();
vgGetPos(water, pos);
vgGetPosVec(pos, &x, &y, &z, &h, &p, &r);
for (i=0; i<1000; i++)
{
y+=1;
vgPosVec(pos, x, y, z, h, p, r);
vgPos(water, pos);
vgSyncFrame();
vgFrame();
}
vgDelete(pos);
}
然后在void zsVegaView::postFrame( void )函数中调用,可是现在的问题是只有一个水面生成,移动到远处,后面就没有了。我想能生成连续不断的水面该怎么添加函数呢?我想应该不断的生成复制这个水面,但是具体的代码总是弄不好。还有就是怎么样能让水面移动到一定距离就自动消失而不是像现在这样一直移动直到程序推出才停止呢 |
|