[DirectX] FVF

FVF [DirectX] - Programmation

Marsh Posté le 28-02-2002 à 18:35:50    

dans le format D3DFVF_XYZRHW
 
ça sert à quoi le RHW?

Reply

Marsh Posté le 28-02-2002 à 18:35:50   

Reply

Marsh Posté le 28-02-2002 à 19:11:49    

Ca veut dire que les coordonnées sont déjà transfomés (matrice de projection, etc...), donc les coordonnées x et y par exemple correspondent aux pixels de la fenêtre.

Reply

Marsh Posté le 28-02-2002 à 21:39:08    

struct  CUSTOMVERTEX
{
  FLOAT  x, y, z, rhw;
  DWORD  color;
};
 
je veux bien mais tu stoques quoi dans z et rhw

Reply

Marsh Posté le 01-03-2002 à 07:05:46    

Si RHW est non nul, si je me trompe pas ça veut dire que les coordonnées sont déjà transformées.
 
Pour z, ben tu mets où se trouve le sommet sur l'axe z qui est perpendiculaire au plan formé par la fenêtre.

Reply

Marsh Posté le 01-03-2002 à 08:38:13    

Alload a écrit a écrit :

Si RHW est non nul, si je me trompe pas ça veut dire que les coordonnées sont déjà transformées.
 
Pour z, ben tu mets où se trouve le sommet sur l'axe z qui est perpendiculaire au plan formé par la fenêtre.  




 
ouais, ms si c'était ce que tu dis pour la valeur de rhw, ça serait un BOOL, pas un float, non !?

 

[jfdsdjhfuetppo]--Message édité par El_Gringo--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 01-03-2002 à 13:24:57    

effectivement, le format XYZRHW est le format déjà transformé
 
je voudrais savoir si c'est vraiment utile (ça fait gagner des fps) de passer d'un format XYZ à un XYZRHW à la main?

Reply

Marsh Posté le 01-03-2002 à 14:10:08    

ben oui ca t'evite de te coltiner la partie transform
and lighting de ton pipeline...
Attention par defaut sur certains systemes,
le pipeline ne fait
pas de clipping sur les triangles passes
en format TL et donc il faut le faire a la main avant
(il faut verifier une devicecaps).
 
Et le rhw est un float parce qu'il sert dans
les calculs de fog par exemple.
 
A+
LEGREG

Reply

Marsh Posté le 01-03-2002 à 14:15:46    

le gain est un gain dans une partie du pipeline:
tu auras compris que si le goulot d'etranglement
est en aval, ca ne te fais pas gagner grand chose
de lui filer les vertices TL.
A plus forte raison si tu fais les calculs
toi-meme a la main.
De plus passer d'un format de vertex a un  
autre ca t'impose de changer de vertex buffer
et c'est parfois preferable de conserver
le meme vertex buffer parce que là la perte
existe a tous les coups.
 
A+
LEGREG

Reply

Marsh Posté le 01-03-2002 à 14:28:21    

Citation :

Si RHW est non nul, si je me trompe pas ça veut dire que les coordonnées sont déjà transformées.


No, tu te trompes..
 

Citation :

Pour z, ben tu mets où se trouve le sommet sur l'axe z qui est perpendiculaire au plan formé par la fenêtre.  


Nope le z dans le xyzrhw
c'est 'dixit la doc':
entre 0 et 1 et c'est ce qui est utilise
dans le test avec le Zbuffer. 0 c'est proche
et 1 c'est loin.
 
A+
LEGREG

 

[jfdsdjhfuetppo]--Message édité par legreg--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 01-03-2002 à 14:51:37    

titoine42 a écrit a écrit :

je voudrais savoir si c'est vraiment utile (ça fait gagner des fps) de passer d'un format XYZ à un XYZRHW à la main?


l'intérêt de xyzrhw est de pouvoir afficher des trucs 2d simplement (eg dans quake, la vie, le nombre de munitions, etc.)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed