Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Variando el componente alpha en DX8

Iniciado por Zaelsius, 01 de Enero de 1970, 01:00:00 AM

« anterior - próximo »

Zaelsius

                                ¿Cómo se puede incluir un factor personalizado de transparencia a la hora de renderizar un objeto? No sé que render-state ni variable hay k modificar.

Me refiero a hacer desaparecer gradualmente un objeto, por ejemplo. Tengo las mismas dudas en aplicar un color cualquiera a un objeto y poder ir variandolo. Si podeis poner aki un ejemplo, pues mejor k mejor.                                

BeRSeRKeR

                                Pues supongo que hay dos opciones. Una es hacerlo a través de la componente diffuse de los vértices de tu modelo y la otra sería asignándole un material a dicho modelo.

Así que por ejemplo a la estructura de tu vértice deberías añadirle una componente diffuse (DWORD) y a tu FVF el flag D3DFVF_DIFFUSE. Al cargar el modelo le asignas un valor a ese diffuse (entre cuyas componentes se encuentra el alpha). Después, a la hora de renderizar activas el alpha blending, asignas las funciones de mezcla D3DBLEND_SRCALPHA para el fuente y D3DBLEND_INVSRCALPHA para el destino y listo. Si quieres que el objeto vaya desapareciendo o apareciendo progresivamente, entonces deberás ir modificando esa componente alpha por lo que deberías bloquear el vertex buffer cada vez. Si utilizas un material esto no sería necesario.

Con el tema del color es exactamente lo mismo...con la macro D3DCOLOR_ARGB podrás realizar las modificaciones pertinentes tanto a las componentes RGB como alpha del vértice.

Saludos
                               
¡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.