Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Tercer Tutorial De Haddd

Iniciado por Haddd, 26 de Enero de 2004, 08:53:20 PM

« anterior - próximo »

Haddd

 
Bien, se cargan dos texturas y se hace un pequeño fade. Imprescindibles los shaders 2.0!

Ese enlace

AgeR

 De nuevo me funciona perfectamente aunque en el log me dice que no soporto PS2.
Va a unos 180 fps : HAL (sw vp): NVIDIA GeForce4 MX 420 (740x559x5) (D16S0)

Saludos!

Haddd

 Me puedes enviar el log, Ager? Ahora he puesto una comprobación que obliga a que haya pixel shaders 2.0

Respecto a 180 fps....¡a mi me funciona a 640 fps! Radeon 9500 softmodeada y Athlon XP 1900+.


ShAq

 Nas, a mi me va a unos 700fps en la 9800Pro,
yo tambien me fijé ke ponia ke no soportaba PS2, pero me fijé
un poco mas y me di cuenta de que se referia al device REF  :P , a lo mejor
es lo mismo ke te ha pasado a ti,
saludos

EDIT: vale no me fijé ke tenias una GF4MX sorry  (uoh)  

Haddd

 Bueno, no direis que el efecto no es bonito, eh?. B)
Por cierto, pido por favor que el que tenga una GForce que soporte shaders 2.0, por favor, que me postee el log. ;)

Loover

 127 frames. Funciona bien en mi Radeon 7200 SIN PS2
¿Si no tengo PS2 porqué me funciona? ¿Tienes implementadas dos formas? ¿Una con PS2 y otra con... yo que se... ¿texture factor de siempre?
Bonito efecto.

De todos modos, a esa resolución, a 16 bits (¿o es 32?) y con el alpha blending activado debería darme unos 200 y pico (lo que me da con mi librería). ¿Lo mismo es por alguna historia rara de no tener PS2?
IndieLib Libreria 2.5d utilizando aceleración por hardware para la programación de juegos 2d.
Indie Rover The monkeys are reading!

Haddd

 No loover, lo que pasa es que tengo un error y al reconocer el REF como que sí lo soporta, se cree que puede utilizarlo. Pero está mal, porque debería cambiar de HAL a REF y el programa no lo hace. Ya lo corregiré.

Respecto a lo de la velocidad,....me preocupa. ¿podrías pasarme la versión de este mismo ejemplo con tu motor? Respeta por favor, el tamaño de ventana, y utiliza la técnica de los dos sprites con alpha blending, no lo resuelvas con un shader y dos texturas.

El programa utiliza las texturas de la misma profundidad que tu escritorio. De todas formas, podrías poner el log, y así vería que ocurre exactamente.



Loover

 No me queda claro lo del HAL y REF... ¿tengo pixel shader 2.0? Yo juraría que mi tarjeta no los tiene vamos. Entonces, ¿cómo me funciona el ejemplo?
Voy a prepararte lo que me has pedido.

¿740x560x8? ¿¿¿8??? ¿Como que 8?
IndieLib Libreria 2.5d utilizando aceleración por hardware para la programación de juegos 2d.
Indie Rover The monkeys are reading!

Loover

 Me despista lo del 8... y tambie. ¿Porque no 800x600?
IndieLib Libreria 2.5d utilizando aceleración por hardware para la programación de juegos 2d.
Indie Rover The monkeys are reading!

Malandrin

 Hola,

Yo tengo una GeForce FX5600 Ultra, me va a 118fps y aquí tienes el log:


INICIO CXVideo::CXVideo
FIN CXVideo::CXVideo
Nº de adaptadores:1
TARJETAS Y SUS DEVICES
Tarjeta:0 NVIDIA GeForce FX 5600 Ultra
Device:0 HAL Behavior: HW MIX SOFT NºFormatos:2
Modo:0 Modo Ventana posible 00000016 X8R8G8B8 DEPTH STENCIL 00000050 D16 0000004d D24X8 0000004b D24S8
Modo:1 Modo Ventana posible 00000017 R5G6B5 DEPTH STENCIL 00000050 D16 0000004d D24X8 0000004b D24S8
Device:1 REF Behavior: HW MIX SOFT NºFormatos:2
Modo:0 Modo Ventana posible 00000016 X8R8G8B8 DEPTH STENCIL 00000050 D16 00000049 D15S1 0000004d D24X8 0000004b D24S8 0000004f 24X4S4 00000047 D32
Modo:1 Modo Ventana posible 00000017 R5G6B5 DEPTH STENCIL 00000050 D16 00000049 D15S1 0000004d D24X8 0000004b D24S8 0000004f 24X4S4 00000047 D32
INICIO CXVideo_Inicializacion::CrearVentana
FIN CXVideo_Inicializacion::CrearVentana
INICIO SeleccionarDepthStencil
Depth Bits=16 Stencil Bits=0 D16
FIN SeleccionarDepthStencil
INICIO CXVideo_Inicializacion::InicializarDevice
Behavior seleccionado:D3DCREATE_HARDWARE_VERTEXPROCESSING
INICIO Características del Device
Versión de SDX:31. De D3D:0900
Versión del Adaptador:5303
Memoria de vídeo disponible:176 MB (180224 KB)
HAL (hw vp): NVIDIA GeForce FX 5600 Ultra (740x559x5) (D16S0)
Ancho=1152 Alto=864
FullScreenGamma OK
CanCalibrateGamma NO DISPONIBLE
Alpha en modo Flip/Discard OK
Nº Máximo de Streams para Vertex Buffers=16. Tamaño máximo en bytes(Stride)=255
Nº Máximo de indexbuffer=x000fffff.
Nº de RenderTarget simultáneos:1
---------TEXTURAS---------
Utilizando formato por defecto para las texturas A4R4G4B4
Las texturas NO necesitan ser potencias de 2
Máx Anchura x Altura: 4096 x 4096
Nº máximo de texturas simultáneas:8
Soporta compresión DXT1
Soporta compresión DXT2
Soporta compresión DXT3
Soporta compresión DXT4
Soporta compresión DXT5
Soporta Texturas volumétricas
---------SHADERS---------
SI SOPORTA PIXEL SHADER 2.0
Nº de constantes en el vertex shader:256. En el pixel shader:32
FIN Características del Device
INICIO CXVideo::Iniciar
CXEffect::Cargar
  Nombre:blur
  No hallado
CXEffect::Cargar
CXEffect::Cargar
  Nombre:fuente
  No hallado
CXEffect::Cargar
CXEffect::Cargar
  Nombre:sprite
  Archivo:Shaders\sprite.fx
CXEffect::Cargar
CXFuente::Preparar
  Nombre:Arial
CXFuente::Preparar
CXTextura::CXTextura
  Nombre:sin textura
  No encuentro sin textura
CXTextura::CXTextura
CXSkins::Nuevo
  Nombre:Sin skin
  CXSkin::CXSkin
     Nombre:
  CXSkin::CXSkin
CXSkins::Nuevo
FIN CXVideo::Iniciar
INICIO CXVideo::Restaurar
INICIO CXVideo_Inicializacion::Restaurar
FIN CXVideo_Inicializacion::Restaurar
INICIO CXVideo_State::Restaurar
INICIO CXVideo::LeerStatesActuales
SI AQUI APARECEN ERRORES ES NORMAL
FIN CXVideo::LeerStatesActuales
FIN CXVideo_State::Restaurar
INICIO CXVertexBuffers::Restaurar
FIN CXVertexBuffers::Restaurar
CXIndexBuffers::Restaurar
CXIndexBuffers::Restaurar
FIN CXVideo::Restaurar
CXTextura::CXTextura
  Nombre:invierno
  Encontrado graf\invierno.jpg
CXTextura::CXTextura
CXTextura::Cargar
  Nombre:invierno
  Archivo:graf\invierno.jpg
  Nº de niveles(mipmaps):1
  Formato:DXT1(x31545844) Ancho:1024 Alto:1024
CXTextura::Cargar
CXSkins::Nuevo
  Nombre:invierno
  CXSkin::CXSkin
     Nombre:
  CXSkin::CXSkin
CXSkins::Nuevo
CXTextura::CXTextura
  Nombre:Nenúfares
  Encontrado graf\Nenúfares.jpg
CXTextura::CXTextura
CXTextura::Cargar
  Nombre:Nenúfares
  Archivo:graf\Nenúfares.jpg
  Nº de niveles(mipmaps):1
  Formato:DXT1(x31545844) Ancho:1024 Alto:1024
CXTextura::Cargar
CXSkins::Nuevo
  Nombre:Nenúfares
  CXSkin::CXSkin
     Nombre:
  CXSkin::CXSkin
CXSkins::Nuevo
INICIO CXEscena::DestruirLosObjetos
INICIO CXSprites::DestruirLosObjetos
FIN CXSprites::DestruirLosObjetos
INICIO CXLuces::DestruirLosObjetos
FIN CXLuces::DestruirLosObjetos
INICIO CXMallas::DestruirLosObjetos
FIN CXMallas::DestruirLosObjetos
INICIO CXBloquesVertices::DestruirLosObjetos
FIN CXBloquesVertices::DestruirLosObjetos
INICIO CXMeshes::DestruirLosObjetos
FIN CXMeshes::DestruirLosObjetos
FIN CXEscena::DestruirLosObjetos
INICIO CXVideo::DestruirLosObjetos
INICIO CXSprites_Maestro::DestruirLosObjetos
FIN CXSprites_Maestro::DestruirLosObjetos
INICIO CXMallas_Maestro::DestruirLosObjetos
CXMalla::Destruir
  Nombre:ScreenAlignedQuad
CXMalla::Destruir
FIN CXMallas_Maestro::DestruirLosObjetos
CXTextura::~CXTextura
  Nombre:sin textura
CXTextura::~CXTextura
CXTextura::~CXTextura
  Nombre:invierno
CXTextura::~CXTextura
CXTextura::~CXTextura
  Nombre:Nenúfares
CXTextura::~CXTextura
CXSkin::CXSkin
  Nombre:Sin skin
CXSkin::~CXSkin
CXSkin::CXSkin
  Nombre:invierno
CXSkin::~CXSkin
CXSkin::CXSkin
  Nombre:Nenúfares
CXSkin::~CXSkin
CXFuentes::DestruirLosObjetos
  Nombre:
  CXFuente::Destruir
     Nombre:Arial
  CXFuente::Destruir
CXFuentes::DestruirLosObjetos
INICIO CXVertexBuffers::DestruirLosObjetos
FIN CXVertexBuffers::DestruirLosObjetos
CXIndexBuffers::DestruirLosObjetos
CXIndexBuffers::DestruirLosObjetos
INICIO CXEffect::~CXEffect
  Nombre:blur
FIN CXEffect::~CXEffect
INICIO CXEffect::~CXEffect
  Nombre:fuente
FIN CXEffect::~CXEffect
INICIO CXEffect::~CXEffect
  Nombre:sprite
FIN CXEffect::~CXEffect
FIN CXVideo::DestruirLosObjetos
INICIO CXJerarquias::DestruirLosObjetos
FIN CXJerarquias::DestruirLosObjetos
CXFuentes::DestruirLosObjetos
  Nombre:
CXFuentes::DestruirLosObjetos
INICIO CXEscena::DestruirLosObjetos
INICIO CXLuces::DestruirLosObjetos
FIN CXLuces::DestruirLosObjetos
INICIO CXMallas::DestruirLosObjetos
FIN CXMallas::DestruirLosObjetos
INICIO CXBloquesVertices::DestruirLosObjetos
FIN CXBloquesVertices::DestruirLosObjetos
INICIO CXMeshes::DestruirLosObjetos
FIN CXMeshes::DestruirLosObjetos
FIN CXEscena::DestruirLosObjetos
INICIO CXJerarquias::DestruirLosObjetos
FIN CXJerarquias::DestruirLosObjetos
INICIO CXMeshes::DestruirLosObjetos
FIN CXMeshes::DestruirLosObjetos
INICIO CXBloquesVertices::DestruirLosObjetos
FIN CXBloquesVertices::DestruirLosObjetos

Loover

 Bueno ya tengo el ejemplo en mi librería. Me he colado, no me da 200 fps, sino 165. (Frente a los 128 tuyos) Aunque yo no uso fuentes para poner nada en pantalla (los fps los coloco en el título) y lo mismo se van esos 35/38 frames de diferencia en los textos. Seguramente será eso.
Nada de shaders (no tengo ni idea de ellos) lo resuelvo con el texture factor.

He subido tu logg y la prueba con lo mio, con la que puedes jugar un poco (recompilando el ejemplo) a hacer fades a colores, rotar los fondos, escalarlos, entintarlos o lo que quieras :D
Animos a todos a que la probeis. Aunque aún le queda para estar terminada, la intención es que tenga todo lo que un juego 2d pueda necesitar. Incluída la posibilidad de mapas isométricos, etc. Ya veremos.
Si alguien se anima a probar mi ejemplo a parte de ti Hadd, decirme si os funciona.

Mi ejemplo con la libreria:
http://galeon.com/loover/ParaHadd.rar

Tu log
http://galeon.com/loover/Haddd_Debug.htm
IndieLib Libreria 2.5d utilizando aceleración por hardware para la programación de juegos 2d.
Indie Rover The monkeys are reading!

jpastor

 He estado mirando el codigo de los dos y creo que lo haceis diferente. Loover dibuja con transparencia una sola imagen y en el de Haddd las dos tienen un valor alpha (variable). ¿No? Si es asi, es normal que el de Loover vaya más rápido.

Loover

 Vaya, voy a cambiarlo. Como no hacía falta en las dos creí que lo hacias así directamente.
¿Entonces, tienes dos fondos a la vez con alpha variable?
Voy a probar.

Jpastor, ¿cuantos fps te daba?

EDITADO: 144 Fsp Con los dos con alpha a la vez.
Para probarlo he colocado uno de los fondos a 128 todo el rato de alpha y el otro va cambiando progresivamente.
Render->SetRainbow (LOV_OPAQUE, 255, 255, 255, 128, 0, 0, 0, 255);

Un saludo!
IndieLib Libreria 2.5d utilizando aceleración por hardware para la programación de juegos 2d.
Indie Rover The monkeys are reading!

jpastor

 Según creo sacar del código de Haddd va variando el alpha de las dos imagenes de formar que fondo1.alpha + fondo2.alpha = 1.

El de Haddd me va a unos 410 y el tuyo alrededor de 615 con una Radeon 9500.

Loover

 Gracias Jpastor por probarlo, a ver si puedes echarle tb un vistazo a este.

Ya he subido la versión con los dos con alpha. Le he metido tambien que vaya cambiando el entintado que da efectos curiosos (y no afecta a los fps).
Ahora está claro que la diferencia de fps de 15 o así son los textos que dibujas dando información Hadd :D Así que nada, todo te marcha bien. Lo que aún me despista es lo de los pixel shaders y tal. Si me funciona tiene que ser porque has implementado las dos formas, ¿no? Con y Sin PS2.

El archivo sigue estando en:
http://galeon.com/loover/ParaHadd.rar

Un saludo!
IndieLib Libreria 2.5d utilizando aceleración por hardware para la programación de juegos 2d.
Indie Rover The monkeys are reading!






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.