Foros - Stratos

Programadores => Programación gráfica => Mensaje iniciado por: Degiik en 01 de Enero de 2005, 03:59:26 PM

Título: Sistemas De Partículas
Publicado por: Degiik en 01 de Enero de 2005, 03:59:26 PM
 No se si ando muy perdido pero... alla va.


RenderEscena (...

//glDisable (GL_DEPTH_TEST);
glEnable(GL_BLEND);
glBlendFunc (...

RenderParticulas (...

glDisable(GL_BLEND);
//glEnable (GL_DEPTH_TEST);


La question es que cuando renderizo las particulas con el Z-buffer activado no se mezclan las particulas, pq el simplemente el Zb actua y no se dibujan, y si desactivo el Zb las particulas siempre estan encima de cualquier cosa que se dibuje en la pantalla.

Soluciones ?

a.- ordeno las particlas por distancia, para debujarlas del fondo al principo ? ( mucho trabajon ???  :blink: )

b.- Renderizo primero las particulas ? y despues el resto de la escena ?

c.- alguna mas ????

A ver q decis... (ole)
Título: Sistemas De Partículas
Publicado por: deadLock++ en 01 de Enero de 2005, 04:16:01 PM
 Deshabilitá sólo la escritura del z-buffer cuando dibujés las partículas. De este modo se dibujarán al menos respecto al entorno de manera correcta.
Título: Sistemas De Partículas
Publicado por: BeRSeRKeR en 01 de Enero de 2005, 04:18:55 PM
 Lo que se suele hacer es renderizar las partículas al final del todo con el depth test activado y la escritura desactivada. Si estás utilizando additive blending con eso será suficiente pero si estás utilizando algún modo de blending como por ejemplo (srcalpha, invsrcalpha), tendrás que ordenar las partículas y renderizar de atrás hacia adelante.

Saludos.
Título: Sistemas De Partículas
Publicado por: Degiik en 02 de Enero de 2005, 06:15:05 PM
 Simplemente gracias a ambos.  :D Tema zanjado.