[D3D8] Je ne comprends pas a quoi sert IDirect3DDevice8::Present

Je ne comprends pas a quoi sert IDirect3DDevice8::Present [D3D8] - Programmation

Marsh Posté le 05-02-2002 à 10:00:02    

Cette fonction, d'habitude je l'utilise apres le rendu d'une scene, mais la j'aimerais faire un systeme ou il y aurait plusieurs vues, car plusieurs scenes. J'ai donc commencé a trafiquer avec les CreateRenderTarget et SetRenderTarget, mais j'aimerais comprendre un truc : d'habitude je faisais
lpDevice->Present(NULL, NULL, NULL, NULL)
Mais qu'est-ce qu'il se passe exactement au moment ou j'invoque cette procédure?

Reply

Marsh Posté le 05-02-2002 à 10:00:02   

Reply

Marsh Posté le 05-02-2002 à 14:04:08    

up!  :hello:

Reply

Marsh Posté le 05-02-2002 à 16:07:31    

ca cycle dans la file des buffers d'affichage.
 
Exemple: double buffering
le back buffer devient le front buffer
(soit par copie soit par flip)
et le front buffer disparait.
Avant de faire le copy/flip ca attend
que le pipeline d'affichage se vide
-> logique (sauf dans le cas d'un triple buffering)
et eventuellement ca synchronise le copy/flip
avec le balayage de l'ecran pour eviter
le tearing.
 
A+
LEGREG

Reply

Marsh Posté le 05-02-2002 à 16:13:39    

Donc, pour faire des vues multiples, j'ai plutot intéret a faire le rendu dans des render-targets a part, les copier ensuite dans le back buffer, et n'invoquer Present qu'une seule fois alors, c'est ca?  :jap:

Reply

Marsh Posté le 06-02-2002 à 00:37:42    

Je crois que tu peux creer des 'additional swap chains'
associees a une vue et sur lequel tu peux
faire un present separement.
 
Pour faire ton rendu,  
tu recuperes le backbuffer de ta swap chain
et tu rends dessus grace au setrendertarget.
puis tu fais un present sur la swap chain
concerne et tu repetes ceci pour chaque vue.
 
A+
LEGREG

Reply

Marsh Posté le 06-02-2002 à 11:32:24    

Mais lors du présent, ce qui est dans le back buffer va se retrouver a l'écran, et donc supposons que deux vues se superposent, ca va scintiller! Il faut donc que je trouve une autre solution

Reply

Marsh Posté le 06-02-2002 à 14:57:48    

Si tu as plusieurs swap chains
les presents devraient etre independant
 
m'enfin j'ai jamais teste donc cf la doc..
 
LEGREG

Reply

Sujets relatifs:

Leave a Replay

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