Stratos

¡Bienvenido a Stratos!

¿Ya eres miembro de Stratos? Haz clic aquí para identificarte
¿Aún no eres miembro de Stratos? Haz clic aquí para registrarte
PORTADANOTICIASTRABAJOCOLABORACIóNENLACESFOROSIRCWIKIGRAFISTASCOMPOSITORESUSUARIOSFORMACIóNNOSOTROS

Stratos no se hace responsable de las opiniones expuestas en estos foros ni se identifica necesariamente con ellas, y se reserva el derecho de eliminar el contenido que considere inapropiado.

CreaVideojuegos

Bienvenido(a), Visitante. Favor de ingresar o registrarse.
¿Perdiste tu email de activación?

Ingresar con nombre de usuario, contraseña y duración de la sesión
 
Inicio Ayuda Buscar Calendario Ingresar Registrarse
Páginas: [1] 2
Imprimir
Autor Tema: Efectos en Sprites con DirectDraw  (Leído 5812 veces)
[EX3]
Moderador
Stratos
*****
Mensajes: 3899


Status: Aborted. Mission failed.


Ver Perfil WWW
« en: 01 de Enero de 1970, 01:00:00 »

                                Nas a tod@s:

Estoy programando en Visual Basic con DirectX, y a la hora de 'Blitear' un Sprite uso la funcion 'BltFX' que permite aplicar efectos a las superficies. He conseguido aplicar los efectos de 'Espejado'(tanto en Vertical como en Horizontal) dado lo sencillos ke son, pero cuando intento hacer Rotacion del sprite no funciona, y tb estoy intentando aplicar el efecto de 'Translucencia' o 'Alpha-Blending', cosa ke tampoco estoy logrando. Me gustaria saber si hay alguien ke pudiese explicarme como utilizar al completo la funcion 'BltFX' o por lo menos las funciones mencionadas (Rotacion y Traslucencia). Agradeceria cualquier ayuda que me pudiesen prestar.

Saludos...

[EX3]                                
En línea

José Miguel Sánchez Fernández

dx_lib32 2.2.0 Libreria para el desarrollo de juegos en Visual Basic 6.0 y Visual Basic .NET con DirectX 8.1

> Apple MacBook Intel Core 2 Duo 2.16GHz, 2GB, Intel GMA950 64MB, Mac OS X Leopard + Windows 7 Ultimate 64bits
> Acer Aspire One Intel Atom 1.6GHz, 1GB, Intel GMA950 8MB, Windows XP HE SP3 + Windows 7 Ultimate
> AMD Athlon XP 1.6GHz, 1GB, nVidia GeForce3 Ti200 64MB, Windows 98 SE
mac^threepixels
Stratos

Mensajes: 19


davidnotario@hotmail.com
Ver Perfil WWW Email
« Respuesta #1 en: 01 de Enero de 1970, 01:00:00 »

                                Tendrias que chequear las caps del dispositivo, para saber si lo soportan.

Pero te ahorrare el esfuerzo, no conozco ninguna tarjeta que rote sprites.                                
En línea

Mirada--------------------------------
mac^threepixels
http://www.threepixels.org' target='_blank'>http://www.threepixels.org
[EX3]
Moderador
Stratos
*****
Mensajes: 3899


Status: Aborted. Mission failed.


Ver Perfil WWW
« Respuesta #2 en: 01 de Enero de 1970, 01:00:00 »

                                Hice la comprobacion de soporte y en efecto, mi targeta no soporta la rotacion de sprites, y como tu dices, posiblente ninguna lo haga.

Asi pues me olvido por el momento de aplicar ese efecto a los sprites.

Gracias.                                
En línea

José Miguel Sánchez Fernández

dx_lib32 2.2.0 Libreria para el desarrollo de juegos en Visual Basic 6.0 y Visual Basic .NET con DirectX 8.1

> Apple MacBook Intel Core 2 Duo 2.16GHz, 2GB, Intel GMA950 64MB, Mac OS X Leopard + Windows 7 Ultimate 64bits
> Acer Aspire One Intel Atom 1.6GHz, 1GB, Intel GMA950 8MB, Windows XP HE SP3 + Windows 7 Ultimate
> AMD Athlon XP 1.6GHz, 1GB, nVidia GeForce3 Ti200 64MB, Windows 98 SE
DoVerMan_
Stratos

Mensajes: 23


Sir_DoVerMan@hotmail.com
Ver Perfil Email
« Respuesta #3 en: 01 de Enero de 1970, 01:00:00 »

                                Pues nada EX3, q del alpha tmb t puedes olvidar, ya que las funciones para blitear graficos q traen las directdraw, no lo hacen.
Si quieres alpha blend tienes dos opciones,la primera,implementartelo tu mismo, para lo cual t sugiero asm (y si puedes utilizar mmx mejor).La segunda opcion, es pasarte a d3d que si que t lo hace.
Saludos a to el mundo.                                
En línea
[EX3]
Moderador
Stratos
*****
Mensajes: 3899


Status: Aborted. Mission failed.


Ver Perfil WWW
« Respuesta #4 en: 01 de Enero de 1970, 01:00:00 »

                                ASM se puede usar en VB???                                
En línea

José Miguel Sánchez Fernández

dx_lib32 2.2.0 Libreria para el desarrollo de juegos en Visual Basic 6.0 y Visual Basic .NET con DirectX 8.1

> Apple MacBook Intel Core 2 Duo 2.16GHz, 2GB, Intel GMA950 64MB, Mac OS X Leopard + Windows 7 Ultimate 64bits
> Acer Aspire One Intel Atom 1.6GHz, 1GB, Intel GMA950 8MB, Windows XP HE SP3 + Windows 7 Ultimate
> AMD Athlon XP 1.6GHz, 1GB, nVidia GeForce3 Ti200 64MB, Windows 98 SE
[EX3]
Moderador
Stratos
*****
Mensajes: 3899


Status: Aborted. Mission failed.


Ver Perfil WWW
« Respuesta #5 en: 01 de Enero de 1970, 01:00:00 »

                                Por cierto, ke siempre me lo he preguntado, ke es exactamente ASM???                                
En línea

José Miguel Sánchez Fernández

dx_lib32 2.2.0 Libreria para el desarrollo de juegos en Visual Basic 6.0 y Visual Basic .NET con DirectX 8.1

> Apple MacBook Intel Core 2 Duo 2.16GHz, 2GB, Intel GMA950 64MB, Mac OS X Leopard + Windows 7 Ultimate 64bits
> Acer Aspire One Intel Atom 1.6GHz, 1GB, Intel GMA950 8MB, Windows XP HE SP3 + Windows 7 Ultimate
> AMD Athlon XP 1.6GHz, 1GB, nVidia GeForce3 Ti200 64MB, Windows 98 SE
Lord Trancos
Stratos

Mensajes: 666



Ver Perfil WWW
« Respuesta #6 en: 01 de Enero de 1970, 01:00:00 »

                                Lenguaje "ensamblador". Es para "programar la CPU directamente".
                               
En línea

i>SaludoteZ de Lord Trancos!
http://www.dxlab.tk' target='_blank'>http://www.dxlab.tk - http://dxlab.host.sk' target='_blank'>http://dxlab.host.sk - programación de DirectX con Delphi.
DoVerMan_
Stratos

Mensajes: 23


Sir_DoVerMan@hotmail.com
Ver Perfil Email
« Respuesta #7 en: 01 de Enero de 1970, 01:00:00 »

                                Pues la verdad es q nunca he programado en VB, pero imagino que si se podra utilizar "Ensamblador" con el.                                
En línea
synchrnzr
Administrador
Stratos
*****
Mensajes: 2465



Ver Perfil WWW Email
« Respuesta #8 en: 01 de Enero de 1970, 01:00:00 »

                                No estés tan seguro. A mi me suena que no se puede, aunque puedo estar equivocado...

Sync :guay:                                
En línea

fiero
Stratos

Mensajes: 1043



Ver Perfil WWW Email
« Respuesta #9 en: 01 de Enero de 1970, 01:00:00 »

                                En la versión 4 de VB no se podía, porque recuerdo que en la universidad hacian DLLs en C, para poder meter código ensamblador y luego cargaban la DLL desde Visual Basic.
No creo que se pueda directamente, ya que entonces se acabaría con la estabilidad de VB, ya que en asm es facil cagarla...

un saludo                                
En línea

www.devalvr.com DevalVR 3D engine
[EX3]
Moderador
Stratos
*****
Mensajes: 3899


Status: Aborted. Mission failed.


Ver Perfil WWW
« Respuesta #10 en: 01 de Enero de 1970, 01:00:00 »

                                Pos nada, ke me va a tocar hacer el efecto de 'alphablending' a "la antigua usanza", (pixel por pixel), si no me ekivoco en DirecDraw se pueden manipular los pixeles de una superficie, asi que tan solo tendre que hacer una mezcla de color entre el pixel de la superficie del sprite y el de la superficie donde lo dibuje, no? Weno, se intentara haber ke sale :sonriendo:

Muchas Gracias a todos...
[EX3]

P.D.: Lo ke no sabre es como hacer diferente nivel de transparencia en el 'alphablending', alguna sugerencia?                                
En línea

José Miguel Sánchez Fernández

dx_lib32 2.2.0 Libreria para el desarrollo de juegos en Visual Basic 6.0 y Visual Basic .NET con DirectX 8.1

> Apple MacBook Intel Core 2 Duo 2.16GHz, 2GB, Intel GMA950 64MB, Mac OS X Leopard + Windows 7 Ultimate 64bits
> Acer Aspire One Intel Atom 1.6GHz, 1GB, Intel GMA950 8MB, Windows XP HE SP3 + Windows 7 Ultimate
> AMD Athlon XP 1.6GHz, 1GB, nVidia GeForce3 Ti200 64MB, Windows 98 SE
BeRSeRKeR
Stratos

Mensajes: 2078



Ver Perfil WWW Email
« Respuesta #11 en: 01 de Enero de 1970, 01:00:00 »

                                Si no me equivoco, la fórmula del alpha blending es:

Red_Final = Red_Fuente * Alpha + Red_Destino * (1 - Alpha)
Green_Final = Green_Fuente * Alpha + Green_Destino * (1 - Alpha)
Blue_Final = Blue_Fuente * Alpha + Blue_Destino * (1 - Alpha)

Saludos...
                               
En línea

¡Si te buscan en nombre de la ley, huye en nombre de la libertad!!
[EX3]
Moderador
Stratos
*****
Mensajes: 3899


Status: Aborted. Mission failed.


Ver Perfil WWW
« Respuesta #12 en: 01 de Enero de 1970, 01:00:00 »

                                Parece sencillo, 'Alpha' si no me equivoco es el grado de transparencia, no?                                
En línea

José Miguel Sánchez Fernández

dx_lib32 2.2.0 Libreria para el desarrollo de juegos en Visual Basic 6.0 y Visual Basic .NET con DirectX 8.1

> Apple MacBook Intel Core 2 Duo 2.16GHz, 2GB, Intel GMA950 64MB, Mac OS X Leopard + Windows 7 Ultimate 64bits
> Acer Aspire One Intel Atom 1.6GHz, 1GB, Intel GMA950 8MB, Windows XP HE SP3 + Windows 7 Ultimate
> AMD Athlon XP 1.6GHz, 1GB, nVidia GeForce3 Ti200 64MB, Windows 98 SE
Lord Trancos
Stratos

Mensajes: 666



Ver Perfil WWW
« Respuesta #13 en: 01 de Enero de 1970, 01:00:00 »

                                Q raro q no haya alphablend en DDraw,... pq me suena que habia una función del GDI que dibujaba un bitmap con AlphaBlend
                               
En línea

i>SaludoteZ de Lord Trancos!
http://www.dxlab.tk' target='_blank'>http://www.dxlab.tk - http://dxlab.host.sk' target='_blank'>http://dxlab.host.sk - programación de DirectX con Delphi.
[EX3]
Moderador
Stratos
*****
Mensajes: 3899


Status: Aborted. Mission failed.


Ver Perfil WWW
« Respuesta #14 en: 01 de Enero de 1970, 01:00:00 »

                                Haber si la hay:

object.BltFx( _
    destRect As RECT, _
    ddS As DirectDrawSurface7, _
    srcRect As RECT, _
    flags As CONST_DDBLTFLAGS, _
    BltFx As DDBLTFX) As Long

El problema es que no se como se configuran los flags de DDBLTFX (Conjunto de efectos para aplicar en las superficies) para realizar el 'AlphaBlending', ke desde un principio he intentado que alguien me explicase.

En la documentancion del SDK no lo explican, y no viene ningun ejemplo que use este metodo.

Por cierto Berseker, he comprobado el resultado que da la formula de antes y devuelve unos valores muy grandes para tratarlos como colores RGB, no falta alguna formula para convertir esos valores en valores RGB validos?

Saludos...                                
En línea

José Miguel Sánchez Fernández

dx_lib32 2.2.0 Libreria para el desarrollo de juegos en Visual Basic 6.0 y Visual Basic .NET con DirectX 8.1

> Apple MacBook Intel Core 2 Duo 2.16GHz, 2GB, Intel GMA950 64MB, Mac OS X Leopard + Windows 7 Ultimate 64bits
> Acer Aspire One Intel Atom 1.6GHz, 1GB, Intel GMA950 8MB, Windows XP HE SP3 + Windows 7 Ultimate
> AMD Athlon XP 1.6GHz, 1GB, nVidia GeForce3 Ti200 64MB, Windows 98 SE
Páginas: [1] 2
Imprimir
 
Ir a:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.5 | SMF © 2006-2008, Simple Machines LLC XHTML 1.0 válido! CSS válido!

© 2003-2008 Stratos

eXTReMe Tracker