Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Efectos en Sprites con DirectDraw

Iniciado por [EX3], 01 de Enero de 1970, 01:00:00 AM

« anterior - próximo »

Juan Mellado

                                Hola [EX3],
la fórmula del alpha blending es la correcta. Ten en cuenta que el valor de alpha es un tanto por uno, es decir, que sólo puede contener un valor entre 0 y 1, ambos incluidos.

Espero haberte ayudado.                                

DoVerMan_

                                                               

DoVerMan_

                                Hola a todos.
Vamos a ver si me explico EX3:

Primero de todo, quiza t salgan unos valores muy grandes, porque no estas descomponiendo el pixel en sus componentes RGB.

Para realizar el alpha, con la formula de BeRSeRKeR, que creo es la correcta, deberias realizar lo siguiente (mas o menos):
1º.- Debes leer el pixel origen y el pixel destino.
2º.- Descomponer cada pixel en sus componentes RGB.
3º.- Aplicar las formulas.
4º.- Formar con las componentes RGB, que has obtenido en el paso anterior, un nuevo pixel.
5º.- Enviar el nuevo pixel al Surface destino

De ahi q antes t animara a utilizar asm, ya que todos estos pasos son lentos, no para un pixel, pero si cuando intentas hacerlo para una pantalla completa a 640x480 (307200 pixels).
                               

Juan Mellado

                                Hola, estaba releyendo el thread y he visto que Lord Trancos hacía referencia a que le sonaba una función del GDI que hacía alpha blending con bitmaps.

Buscando en la ayuda del SDK ha aparecido AlphaBlend(). Por si le sirve a alguien.

Saludos                                

[EX3]

                                Con lo del rango de 0 a 1 de la constante 'Alpha' dicho por Juan Mellado aplicado a la formula escrita por BeRSeRKeR consigo que me cuadren los valores resultantes.
Mi error fue ke le asignaba unos valores muy grandes a la constante 'Alpha' (25,50,...) y por eso me devolvia unos valores incompatibles (4800, -4500, ...), una metedura de pata por mi parte xD.

Muchas Gracias a todos.
[EX3]

[ Este Mensaje fue editado por: [EX3] el 2002-06-05 01:08 ]                                
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt

Zaelsius

                                Sobre lo de meter código ASM en VB....

NO SE PUEDE

yo sí que controlo de VB y puedo deciros que no se puede meter ASM a pelo ahí.

Aun así,¿NO es una burrada perder recursos y velocidad con VB e intentar ganarla con ASM?



                               

DoVerMan_

                                EX3, en gamedev.net, hay un monton de articulos sobre alpha blend, a mi particularmente uno de los q mas me han alludado es el siguiente:

http://gamedev.net/reference/articles/article817.asp

Cubre desde la aproximación mas simple a la solución del problema, hasta la implementación haciendo uso de la tecnologia mmx.
Por supuesto esta todo en ingles.
Para ver el resto de articulos accede a la sección de articulos (Articles & Resources desde la pagina principal en gamedev.net).

Saludos a todo el mundo.

[ Este Mensaje fue editado por: DoVerMan_ el 2002-06-05 11:19 ]                                

[EX3]

                                Echare un vistazo a los articulos, que algo encontrare que me ayude, aun asi ya tengo la manera de aplicar 'Alpha-Blending' a las superficies de DirectDraw7 con todo lo anterior que me habeis explicado.

Saludos...

[ Este Mensaje fue editado por: [EX3] el 2002-06-05 17:21 ]                                
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt






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.