Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Alpha Blending?,transparencias?, en DirectX?, Como?

Iniciado por Neko, 10 de Junio de 2003, 05:54:03 AM

« anterior - próximo »

Neko

                                Hola a tooooodos!!!!!
Bueno...  Vengo del foro de principiantes a postear la misma pregunta que haya hice, esperando que ustedes grandes sabios me puedan ayudar, esque quisas les de risa, pero en VisualBasic 6 con DX8 no se como aplicarle apha blending a los poligonos o hacer que sean un color transparente en la textura de los mismos... si me pudieran explicar se los agradeceré mucho... o si me pudieran decir donde encuentro un tutorial relacionado con esos temas preferentemente en español (porque soy malisimo en ingles) se los agradeceré muchisomo    :-?                                
i pudiera ser un personaje de Final Fantasy seria un Mogle

Zaelsius

                                Mirate este hilo en la sección de Programación 2d de este mismo foro:

http://www.stratos-ad.com/forums2/viewtopic.php?t=1823

Ahí se mencionan tutoriales.                                

Neko

                                Gracias por ser el primero que me responde en casí tres días... no sabes cuanto te lo agradesco... espero que me sirvan los tutoriales... y otra vez gracias  :D                                
i pudiera ser un personaje de Final Fantasy seria un Mogle

Neko

 Pues sigo igual... despues de tanto... bueno bueno... maomenos
Tengo problemillas en VisualBasic con el Alpha Blending y dar niveles de opacidad a mis triangulos
haber si alguien me puede ayudar.... porfavor T.T ....
esque cuando activo el alpha blending algunos de mis triangulos presentan transparecias muy
raras... dibujan el fondo (comunmente el colo azul que la mayoria usan) en vez de dibujar los triangulos que estan detras de el.... y no se ni como arreglarlo... ademas de que no se como añadirle un nivel de opacidad... ya me eh paseado por aquí y por haya buscando y viendo tutoriales... pero nada que me ayude...
así que porfavor les pido haber si me pueden echar la mano  :(  
i pudiera ser un personaje de Final Fantasy seria un Mogle

BeRSeRKeR

 Hola.

El problema de que se te dibuje el fondo azul en vez de los triángulos que están detrás de dicho triángulo es que no pintas en el orden correcto de forma que el alpha blending no se calcula bien. Lo que debes hacer es dibujar de atrás hacia adelante. De esta forma todo se solucionará. Si tu juego es 2D, esto lo puedes conseguir asignándole una Z a tus sprites y antes de renderizar, ordenar dichos sprites por su Z. Así que primero dibujarías el fondo, después el sprite/s con Z = 0, Z = 1, etc.

Con respecto al nivel de transparencia, una forma es especificar la transparencia a través de los vértices de tus triángulos y después utilizar los render states necesarios. Para esto mírate el post del que te hacían referencia que ahí vienen dichos render states.

Saludos
¡Si te buscan en nombre de la ley, huye en nombre de la libertad!!

Neko

 Muchas Gracias por ayudarme... pero mi juego es 3D y no se como ordenar los polygonos por que estoy usando SetupMatrix o algo así así que tengo el mismo problema de los poligonos... haber si alguien me echa la mano

Sobre las transparencias... Muchas GRACIAS... tenias razón
con:
   Device.SetTextureStageState 0, D3DTSS_ALPHAOP, D3DFVF_DIFFUSE
   Device.SetRenderState D3DRS_ALPHABLENDENABLE, True
a funsionado de peluche con el color de las vertices...

Cuando entienda esto del Alpha blending creo que escribiré un tutorial  (ole)  
i pudiera ser un personaje de Final Fantasy seria un Mogle

BeRSeRKeR

 Perdona, no sé por qué estaba en la idea de que era 2D :P

Con lo que respecta al alpha blending en 3D el tema es algo chungo. ¿Qué efecto quieres conseguir exactamente?. Lo digo porque a lo mejor con un additive blending te sobra y no te tendrás que preocupar del orden de render o mejor dicho, renderizarías todos los objetos con transparencia lo último teniendo desactivado el z-write y dejando activo el depth-test. Por ejemplo juegos como el quake utilizan additive blending para los cristales, el agua, las partículas, etc.

Saludos

PD: el additive blending consiste en los flags D3DBLEND_ONE para la función fuente y D3DBLEND_ONE para el destino. Otra pega de este modo de blending es que no puedes especificar la transparencia. Ésta depende de la textura que utilices.
¡Si te buscan en nombre de la ley, huye en nombre de la libertad!!






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.