关于瓮云兵前辈翻译的《3d游戏程序设计入门》一书的几个问提???? 

2006-12-07 21:42 发布

2345 0 0

 本来想写信向瓮云兵前辈请教这些问题的,也许他太忙,写了信一直不见回复,就拿到这里向大家请教来了。下面是我的几个问题。
关于粒子系统部分的问题:
问题1:
laser系统部分看不到效果,我认为是给出的代码没有往系统中添加任何粒子.因此我加了下面的语句,这样按住空格键就能开枪了.
 // fire!!!!!!!!!!!!!!!!
  //
   if( ::GetAsyncKeyState(VK_SPACE) & 0x8000f )
         Gun->addParticle(); 
 
问题2:
火花系统部分重写了preRender()函数,用下面的函数改变了混合因素.
 _device->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_ONE);
    _device->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_ONE);
这样就可以达到去掉 flare.bmp 图片背景色(当然这里只能是黑色)的效果(即只显示圆形的火花).不知道我理解的对吗?
如果是我这样理解的话,为什么雪花系统部分没有象火花系统一样重写preRender函数呢?最后要显示圆形的雪花的话,不也要去掉snow.bmp图片的背景色吗?
我试着重写了一下preRender,结果雪花变成了白色的正方型,实在是不理解,望赐教.
 
问题3:关于粒子最后显示在屏幕上颜色的计算问题:
我的理解是这样的:先利用属性表里粒子的颜色和纹理颜色进行计算,(但是在preRender函数当中并没有设置相应的计算方法,难道是用默认的计算方法吗?)然后将结果与后缓冲区的颜色(也就是整个基本场景)混合.这样理解对吗?不对的地方,请指教.
TA的作品 TA的主页
B Color Smilies

你可能喜欢

关于瓮云兵前辈翻译的《3d游戏程序设计入门》一书的几个问提???? 
联系
我们
快速回复 返回顶部 返回列表