Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Vertices no se ven bien

Iniciado por GaRdo, 13 de Agosto de 2010, 06:00:45 AM

« anterior - próximo »

GaRdo

Tengo la siguiente duda se la explico...
     0___________1
      /                         / \
     /                    /         \
    /            /                    \
   /    /                              \
2----------------------------3

de un sprite con vertices 0123... la imagen se parte por la mitad...
una mitad se ve mas densa que la otra y se ve feo xD
lo note cuando quize ponerlo de fondo... y tengo todo el juego asi pero pasan piola las demas
bueno eso.... como se puede solucionar..... gracias....

[EX3]

Me temo que no se puede arreglar el efecto:-/ Si deformas la imagen como muestra el esquema de tu mensaje el efecto es inevitable. Los sprite en dx_lib32 (y cualquier motor que use 3D para el 2D) se monta sobre dos poligonos. dx_lib32 no realiza la correccion de coordenadas de textura sobre los poligonos al formar una forma no cuadrada o rectangular (rotada o no) el efecto es que aparece como si estuvieras doblando la textura por su diagonal:


El que esto se haga asi tenia un por que. Un compañero del foro implemento en su libreria un mecanismo para crear una malla deformable sobre una imagen y poder crear efectos de distorsion (se veria mejor en movimiento pero es como si generase un efecto de ondulaciones):

Pulsa en ella para ver con detalle

El implementar mi funcion, sin la correccion de coordenadas, permitiria crear un efecto similar. Me imagino que lo que estarias intentando montar es un modo 7 o algo por el estilo, no?

Si es asi me temo no te sera posible :S

Salu2...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

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

Hechelion

Ex3, tu sabes que uso bastante tu librería y que la encuentro genial, incluso en otros foros me han comentado que no sabían que existiera algo tan bueno para VB6 en juegos, pero la falta de esa corrección creo que es el gran punto negro de la librería.

Una forma de solución (digo forma, porque no funciona siempre y depende de que quieras hacer) es dibujar la imagen como tiras  horizontales y en cada tira vas corrigiendo el punto de inicio y el largo de la imagen a dibujar, de esa forma  puedes deformar de forma pareja la imagen.

[EX3]

Cita de: Hechelion en 13 de Agosto de 2010, 09:39:20 AM
Ex3, tu sabes que uso bastante tu librería y que la encuentro genial, incluso en otros foros me han comentado que no sabían que existiera algo tan bueno para VB6 en juegos, pero la falta de esa corrección creo que es el gran punto negro de la librería.
Tener en cuenta que cuando diseñe la libreria no tenia en mente implementar varias cosas que algunos me habeis pedido durante los 4 años que lleva colgada la libreria, el modo 7 por ejemplo. dx_lib32 es una libreria hecha a medida para lo que se supone necesitaba para mi proyecto y de hecho le sobran cosas que no tenia que haber implementado :P

De todas formas, no comeros el tarro, dentro de poco vosotros mismo podreis meterle mano al codigo de la libreria para implementar o corregir lo que querais, yo con casi 8 años programandola tengo bastante ya ;)

Salu2...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

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

Hechelion

Cita de: [EX3] en 13 de Agosto de 2010, 12:02:35 PM

De todas formas, no comeros el tarro, dentro de poco vosotros mismo podreis meterle mano al codigo de la libreria para implementar o corregir lo que querais, yo con casi 8 años programandola tengo bastante ya ;)

Salu2...

¿Eso significa lo que creo que significa?

Decidiste aceptar la oferta de Karnaugh S.L y por eso vas a liberar el código fuente  >:D

[EX3]

Cita de: Hechelion en 14 de Agosto de 2010, 03:44:14 AM
¿Eso significa lo que creo que significa
Sep  :.. de hecho SiPoX y Josepzin todavia lo dudan, pero bueno xDDD

Llevo años queriendo hacer un juego, no un motor, y llevo todo ese tiempo peleando con las "maravillas" internas del Visual Basic 6.0 para conseguirlo (flipante algunos bugs que tiene el VB6.0 a la hora de programar ciertas cosas y segun como lo compliques). 6 intentos, el ultimo estando en un estado no avanzado si no que ya habia comenzado a desarrollar el juego (el motor ya estaba listo y funcionando)  va y resulta que por idas de olla internas de como compila el VB6.0 las DLL's ActiveX todo el motor grafico no puede ejecutarse una vez compilado a binario por un maravilloso error que Microsoft no tiene correctamente documentado y que en ningun sitio saben exactamente a que se debe ni como solucionarlo. El motor grafico solo funciona en modo ejecucion dentro del entorno de Visual Basic (ejecutando desde los fuentes). El resto del motor: audio, input, fisicas y el nucleo funcionan perfectamente una vez compilados. Llevo un año con esta version, 7 mas con los otros intentos anteriores, yo creo que ya no me merece la pena ni seguir intentandolo :P

Mi idea: liberar lo que iba a ser la dx_lib32 2.2.1 como codigo abierto (bajo LGPL o lo que consisdere) y todo el codigo fuente de las 6 versiones trabajadas del TLSA Engine desde el 2004 o antes (tengo que organizar un poco el baul de los recuerdos me temo :P). Tengo intencion de rescatar un pequeño juego/demo que en su dia empece a pelo con dx_lib32 como pequeño ejemplo de juego y liberarlo junto a todo el conjunto.

Despues un contratiempo como el de esta Campus Party al tratar de desarrollar el juego con lo que tenia funcionando del TLSA (motor y entorno de diseño de niveles), el problema que tuve dos años atras en la misma competicion la version anterior semi funcionando en .NET, y otros tropiezos anteriores, como que ya a estas aluras, estoy mas que cansado de perder tiempo en desarrollar tecnologia alguna para hacer el juego cuando lo que quiero hacer es el juego :P Años atras, cuando no habia apenas librerias ni nada para Visual Basic 6.0 tenia sentido que desarrollara dx_lib32, hoy dia, con todo lo que hay dentro y fuera de Visual Basic, no merece la pena en absoluto.

Cuando tenga algo de tiempo me pondre a organizar el asunto ;)

Salu2...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

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

GaRdo

Bueno me temia que esa era la respuesta... si en tutorial estaba asi xD
de todas maneras gracias... felicitaciones por el gran proyecto de la libreria
me ayuda a pasar el rato y entretenerme haciando mis propios juegos =)

Hechelion

#7
Gardo. ¿Probaste lo que te dije?

La librería no tiene ningún modo, pero con un poco de fuerza bruta de CPU se puede lograr


Cuadro.X = 0
           Cuadro.Height = 1
           Cuadro.Width = 1024
           For i = 0 To 639
               Cuadro.Y = i
               Call oGFX.MAP_SetRegion(Img, Cuadro)
               Call oGFX.DRAW_Map(Img, 0 + i, i, 0, 639 - i, 1)
           Next




Y con una pequeña corrección a la formula






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.