[OpenGL] Combiner 2 scènes

Combiner 2 scènes [OpenGL] - Divers - Programmation

Marsh Posté le 17-06-2007 à 17:25:04    

Bonjour,
 
J'aimerais appliquer un algorithme en Opengl mais je ne sais pas comment m'y prendre pour que ça soit le plus performant possible.
 
1) Premièrement je doit dessiner ma scène texturé dans le buffer chromatique tout en modifiant le z-buffer (donc la c'est simplement dessiner une scène normalement)
2) Ensuite je doit dessiner la même scène mais sans texture et avec l'éclairage+ombres dans un buffer.  
3) Pour finir je doit mettre la scène que j'ai dessiné en dernier dans une texture et afficher cette texture en transparence sur la première scène que j'ai dessiné.
Donc au final j'aurais une scène texture + éclairé et ombré.
 
- Comment faire ça de manière performante ? Ma deuxième scène est-ce que je doit la dessiner dans un tampon auxilliaire (glDrawBuffer(GL_AUX0)) ou dans un buffer : buffer[1024][768] ?
- Dans l'algo décrit ci-dessus, il disent de remettre toutes la scène dans une texture et d'afficher cette texture en transparent sur l'autre scène. N'y a t-il pas plus performant ? Existe t-il un truc qui permettrait de copier le buffer GL_AUX0 dans le buffer chromatique par défaut avec de la transparence sans passer par un texture ?
 
Merci d'avance...


Message édité par casafa le 17-06-2007 à 17:27:20
Reply

Marsh Posté le 17-06-2007 à 17:25:04   

Reply

Marsh Posté le 18-06-2007 à 00:24:17    

moi je chercherai du coté des rendertargets.
 
pour moi tu as le backbuffer avec texture
la rendertarget éclairage+ombre
et un quad (2 triangles) avec la rendertarget utilisée comme texture qui couvre tout avec un blend (ou un shader si c'est pas trivial comme un blend).
 
c'est quoi tu veux faire un deferred rendered ? (ou faire un Quake avec lightmap en multipasse à la voodoo 1 ?)

Reply

Sujets relatifs:

Leave a Replay

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