Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Menu

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menu

Mensajes - TotalNoob

#1
Programación gráfica / Scroll 2d Fluido (que No Rápido :)
04 de Junio de 2004, 10:13:32 AM
 Rejolas!

 Pues vereis, despues de andar transteando un poco con el DirectX me he puesto manoplas a la obra y he comenzado a realizar un scroll mediante tiles (TileSize: 64x64, ScreenSize:640x480). Pues vereis, tengo un "mapeado" de 100x100 tiles, de los cuales lógicamente dibujo la ventana de visualización (10x8 tiles) y espero al retrazado para volcarla a la pantalla (bueno, de esto último, creo que se encarga DirectX ya que especifico el Flag XXXX_WAIT)

 Todo va de perlas para velocidades de desplazamiento del scroll entre 0.1 y 1. Realmente a con estas velocidades va realmente fluido. Con una velocidad de 2, tambien va fluido, pero a partir de ahi en adelante, el scroll va a "saltos". Si, va rápido, pero pegando botes :(

 Y claro, mi idea es hacer un juego de coches, tipo micromachines, y claro...en 1ª marcha el scroll va lento y fluido, pero en 5ª va rápido, si, pero no va nada fluido
       
 Me preguntaba si a alguien le ha pasado esto alguna vez, y como lo ha solucionado
 
 PD: ops, se me olvidaba, el render a pantalla lo hago usando mediante API de windows (QueryPerformanceCounter)  para asegurar que en un ordenador demasiado potente el scroll no vaya a toda pastilla y que en un PC demasiado lento (lease 386 o PC antes del Jurásico, era coña por supuesto :P) pierda frames a costa de mantener los tiempos de las animaciones de los personajes, coches, etc.  

---Happy CodInG ---
#2
Programación gráfica / Simular Efecto Mira Telescopica
22 de Mayo de 2004, 10:52:40 PM
 Thenend, pues al final si que me ha servido, muchisimas gracias! jejeje

he usado DX8, ya que el VB no tira con el 9 y he conseguido el mismo efecto! jarl! xDDD

De todas formas, creo que en parte, ya va bien que la imagen del foco tenga el canal alpha, xq he hecho lo que me has comentado, de usar un bmp con  el fondo negro y el foco con degradados de blanco y gris, pero luego ocurre que cuando renderizas 2 o mas focos en la escena, al superponerse uno al otro que mal, pero ya te digo, con png con canal alpha...perfecto!

....14/220 megas de la SDK....el modem se va a "achicharrá" :P
#3
Programación gráfica / Simular Efecto Mira Telescopica
22 de Mayo de 2004, 07:31:57 PM
 Thenend tio, eres un mountruo (y no precisamente el de las galletas jejejejeje)

voy a mirar el codigo a ver que saco en claro.

Asias  :rolleyes:

....5 minutos mas tarde....

vaya... ta en .NET  (nooo)

esto.... me da error al compilar, no encuentra el archivo de cabecera D3D9.h

uhm...sera porque no tengo la SDK instalada?

200 y pico megas con mi modem de 56 Kb que realmente va a 45 pues como que tardare 2 semanas en conseguirlo...

de todas formas voy a estudiarlo

Asias man!
#4
Programación gráfica / Simular Efecto Mira Telescopica
22 de Mayo de 2004, 02:31:54 PM
 Ostras pedrin, pulso en el link del efecto y me dice que no existe la pagina  (grrr)



ó www.geocities.com/vbrules2k/dxefecto.gif
#5
Programación gráfica / Simular Efecto Mira Telescopica
22 de Mayo de 2004, 02:10:17 PM
 Vaya [EX3] la imagen no se ve

a ver si ahora:



o si no, en esta url: efecto

Tal como dije, quizas el nombre de efecto de mira telescopica no es el mas adecuado. Lo que queremos hacer es que unicamente se vea en los sprites la zona del fondo. Es decir, tenemos un fondo y un sprite todo blanco (o del color que sea) y lo que queremos ver es toda la pantalla negra, pero donde esten dibujados los sprites que se vea el fondo.

El efecto que muestra [EX3] esta muy bien, pero solo se aplica un sprite a toda la pantalla. En eso no hay problema, como comentas es muy sencillo. Pero como se ve en la imagen que he puesto o en la url, necesitamos poner mas de 1 sprite.

Segun los tutos que he estado mirando por inet lo que hay que hacer es:

-Copiar el fondo en una surface (no hay problema)
-Copiar el sprite en otra surface (tampoco hay problema en eso)
-hacer un BtlColorFill en negro de otra surface
-colocar 1,2 o n sprites
-renderizar la escena dejando todo en negro, a excepcion de precisamente donde estan los sprites.


En principio si que estamos usando solo DDraw, el sprite es completamente blanco. Primero queremos saber como hacer esas operaciones basicas. Luego ya me "complicare" intentando usar las capacidades del D3D para conseguir efectos como este:

efecto2

que es el que realmente nos gustaria conseguir  :rolleyes:

Por cierto [EX3] tu lib para juegos 2D esta que se sale! xDDDDDDDDD
#6
Programación gráfica / Simular Efecto Mira Telescopica
22 de Mayo de 2004, 03:14:24 AM
 no hay forma :(

por lo poco que entiendo de OGL en el codigo del link hace:

glDisable(GL_DEPTH_TEST); //ni idea de lo que hace
glBlendFunc(GL_DST_COLOR,GL_ZERO);
glEnable(GL_BLEND)
//aqui mas codigo....
glBlendFunc(GL_ONE,GL_ONE);
//aqui mas codigo
//y finalmente:
glDisable(GL_BLEND);



y yo en mi codigo tengo algo como

Dev.SetRenderState D3DRENDERSTATE_ALPHABLENDENABLE,True
Dev.SetRenderState D3DRENDERSTATE_COLORKEYENABLE,True
Dev.SetRenderState D3DRENDERSTATE_COLORKEYBLENDENABLE,True
Dev.SetRenderState D3DRENDERSTATE_SRCBLEND, D3DBLEND_ONE
Dev.SetRenderState D3DRENDERSTATE_DESTBLEND, D3DBLEND_ONE


y no consigo ná  (grrr)

De todas formas el efecto que queremos conseguir es algo similar a este:


quizas me el nombre de efecto mira telescopica no era es mas apropiado, pero me parecio buena la aproximación según me comentaron por el canal

Espero que con la imagen quede mas claro  :D
#7
Programación gráfica / Simular Efecto Mira Telescopica
22 de Mayo de 2004, 02:03:35 AM
 Nas shephiroth. antes de nada, gracias por responder.

He estado mirando el ejemplo del link, y efectivamente, esta en OGL.  :(

intentare pasarlo a DirectX, cosa que aun no veo del todo clara, ya que desconozco como funcionan los flags y las funciones de blending del OGL (aunque todo hay que decirlo, de las de DirectX tambien ando un poco pez  :P

De todas formas, gracias....

sigo investigando
#8
Programación gráfica / Simular Efecto Mira Telescopica
21 de Mayo de 2004, 09:39:35 PM
 Ante todo querria presentarme en el foro. HOLA, espero estar mucho tiempo por aqui y aprender aun más y compartir todas mis experiencias con quien pida ayuda.

Llevo programando bastante tiempo, por lo que la metodologia de programación no es un "problema"

Como hobby me gusta programar pequeñas cosillas, y queria comentaros una pequeña duda:

vereis, estoy intentado simular el efecto de una mira telescopica en 2D

Basicamente tengo una pantalla de fondo y un sprite con un circulo totalmente blanco. La idea es dibujar el sprite del circulo sobre el fondo, pero que toda la pantalla se vea de color negro a excepcion del sprite del circulo donde se ha de ver el fondo, dando la sensacion de que estamos mirando por una mira.
La idea es hacerlo en DirectX, preferiblemente la version 7 (de momento no voy a tocar nada 3D?)

alguien se anima?

Gracias