Het Neo Het Neo is tHe oNe | Ben mes lignes de code marchent sur ma GeForce 3.
La fonction suivante est appellée au sein de render (procedure de rendu de la scène) cad apres le g_pd3dDevice.Clear normal.
C'est pas très beau parceque ça efface deux fois le buffer mais je verais plus tard pour ça.
Code :
- procedure FogFX(FogStart,FogEnd,Density:DWord; Color : TD3DCOLOR);
- begin
- g_pd3dDevice.Clear(0, nil, D3DCLEAR_TARGET,Color, 1.0, 0);
- g_pd3dDevice.SetRenderState(D3DRS_FOGSTART,FogStart);
- g_pd3dDevice.SetRenderState(D3DRS_FOGEND,FogEnd);
- g_pd3dDevice.SetRenderState(D3DRS_FOGDENSITY, Density);
- g_pd3dDevice.SetRenderState(D3DRS_FOGCOLOR,Color);
- g_pd3dDevice.SetRenderState(D3DRS_FOGVERTEXMODE,D3DFOG_LINEAR);
- g_pd3dDevice.SetRenderState(D3DRS_FOGENABLE,itrue);
- g_pd3dDevice.SetRenderState(D3DRS_RANGEFOGENABLE,itrue);
- end;
|
Lorsque j'appelle la procedure j'ai testé une 20aine de valeurs pour le fog start, fog end et density et j'ai toujours le meme resultat, c'est comme si le brouillard avait une densité enorme (il ne fait pas de dégradé de la couleur du fog sur les mesh à rendre en fait). J'ai vérifié aussi si la valeur que je donnais aux diférents paramètres étaient correctement appliqué et c'est le cas.
C'est pour ça que j'ai privilégié la piste du driver mais j'ai peut-etre oublié quelquechose.
Voilà, j'espere avoir été plus clair.
Merci ---------------
Do or do not, there is no try...
|