|
|
最近研究粒子系统, 已经制作了几个demo, 但是我发现如果把粒子作得特别大的时候, 摄像机拉近后,粒子并没有变大,而是保持它自身的尺寸,
dev->SetRenderState( D3DRS_LIGHTING, false);
dev->SetRenderState( D3DRS_POINTSPRITEENABLE, true);
dev->SetRenderState( D3DRS_POINTSCALEENABLE, true);
dev->SetRenderState( D3DRS_POINTSIZE_MIN, FtoD( 0.001f));
dev->SetRenderState( D3DRS_POINTSIZE_MAX, FtoD( 6000.f));
dev->SetRenderState( D3DRS_POINTSIZE, FtoD( 400.f));
dev->SetRenderState( D3DRS_POINTSCALE_A, FtoD( 0.0f));
dev->SetRenderState( D3DRS_POINTSCALE_B, FtoD( 0.0f));
dev->SetRenderState( D3DRS_POINTSCALE_C, FtoD( 1.0f));
我已经将D3DRS_POINTSCALEENABLE 置为true了, 拉远后,他会随着距离远而变小 , 但拉近到一定程度后,却不能再变大,(感觉好像是到本身尺寸大小的时候)
请前辈们 指教下。
还有有谁知道 怎样 设置粒子的变换矩阵吗 |
|