fair 发表于 2006-12-7 21:42:00

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

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