Iniciar sesión

Ver la versión completa : Paleta de la gp32



Weif Raider
17/04/2005, 22:57
Wenas...

el caso es que estoy pasando unas imágenes del photoshop para ir probando los gráficos de la Gp32 y los colores salen mal, es como si la paleta estubiera cambiada, lo que creo que es el problema.

Cómo lo puedo solucionar? paso las imágenes con la paleta de la gp32, o se puede indicar qué paleta es la que voy a utilizar???

gracias!

Puck2099
17/04/2005, 23:29
Wenas...

el caso es que estoy pasando unas imágenes del photoshop para ir probando los gráficos de la Gp32 y los colores salen mal, es como si la paleta estubiera cambiada, lo que creo que es el problema.

Cómo lo puedo solucionar? paso las imágenes con la paleta de la gp32, o se puede indicar qué paleta es la que voy a utilizar???

gracias!

Tendrás que cambiar la paleta por una a tu gusto.

Si usas el SDK oficial y, por ejemplo el GP32Converter que te crear la paleta en cada fichero .h, puedes poner lo siguiente para cambiar la paleta:



h_pal = GpPaletteCreate(256, (GP_PALETTEENTRY*)imagen_Pal);
GpPaletteSelect(h_pal);
GpPaletteRealize();
GpPaletteDelete(h_pal);
h_pal = NULL;


La paleta te la habrá creado como digo el GP32Converter dentro del propio fichero imagen.h

Saludos

neostalker
17/04/2005, 23:35
Pos aquí te adjunto la paleta q uso yo espero q te sirva :)

Weif Raider
18/04/2005, 01:17
Puck2099, efectivamente, estoy utilizando el SDK oficial. Vi lo de la paleta que genera el gp32converter, pero no sabía como ponerla ni la función que la cambiaba... stoy empezando ahora a trastear con el SDK ;)
Se pierde eficiencia por cambiar la paleta, o los gráficos los carga = de rápido?

neostalker, esa paleta es para generar gráficos directamente en el formato de la gp32? existe algún programa que partiendo de una imagen, la transforme a la paleta de la gp32?

mi duda es si generar los gráficos (con algún programa de pintar XDD) directamente con la paleta de la Gp32 (que no se como hacerlo) o bien hacer lo que dice puck2099, y cambiar la paleta para que la imagen se vea bien....

muchas gracias por la ayuda ;)

neostalker
18/04/2005, 02:28
Con el potochop lo puedes hacer:
Pillas una imagen en cualquier formato.
La pasas a color indexado y seleccionas 256 colores.
Luego seleccionas personalizado en la opción q hay debajo y seleccionas la paleta de la GP32 q te he pasado y ya está, así se convierte la imagen.

Puck2099
18/04/2005, 08:54
Puck2099, efectivamente, estoy utilizando el SDK oficial. Vi lo de la paleta que genera el gp32converter, pero no sabía como ponerla ni la función que la cambiaba... stoy empezando ahora a trastear con el SDK ;)
Se pierde eficiencia por cambiar la paleta, o los gráficos los carga = de rápido?

Pues supongo que perderás algo de tiempo de proceso cada vez que la cambies, pero si haces todo el juego con la misma paleta cámbiala una vez al principio y listo. Por otro lado, los gráficos cargan igual de rápido uses la paleta que uses.


mi duda es si generar los gráficos (con algún programa de pintar XDD) directamente con la paleta de la Gp32 (que no se como hacerlo) o bien hacer lo que dice puck2099, y cambiar la paleta para que la imagen se vea bien....

Yo desde luego usaría una paleta personalizada para tus gráficos, si usas la paleta de la GP32 te estás limitando a los colores que use esa y perdiendo los tonos propios de tus gráficos a favor de los más parecidos que encuentre en esa paleta.

Si vas a usar 20 colores en pantalla pues igual te vale, pero si quieres meter fondos con degradados o fotos te va a quedar fatal con la paleta predeterminada.

Saludos

kmkzk
18/04/2005, 15:11
Hola,
El metodo que uso yo para no tener que enguarrame con la paleta al cargar sprites (en 8 bits), es guardando los graficos en formato bmp, a 8 bits de profundidad.
Luego con un programa llamado GpDevUtil, cargo la imagen y este me la transforma a un array, que se ve bien con la paleta de la Gp por defecto, para asi poder blitearlo directamente.
Este programa podras encontrarlo por ahi, tambien creo que esta el vinculo en algun post, o incluso en gp32spain :)
Saludos

Edit: De todas formas, con este metodo, tendras el problema que dice Puck, que estas limitado a los colores que estan en la paleta de la Gp por defecto, pero es mas comodo en mi opinion.

Franxis
19/04/2005, 00:32
Por dios!!!
#define GP_RGB24(r,g,b) (((r>>3)<<11)|((g>>3)<<6)|((b>>3)<<1))
Se puede usar esto para convertir un color de 24 bit de PC (8 bit de rojo, 8 de azul y 8 de verde) al formato de color de la gp32:
RRRRRGGGGGBBBBBI

Se puede usar en modo 256 colores (8 bit):
GP_PALETTEENTRY colorgp;
colorgp = GP_RGB24(r,g,b);
GpPaletteEntryChange(indice,1,&colorgp,GPC_PAL_ASYNC_REALIZE);
O bien utilizando el color (16 bit) como valor en modo de color de 16 bit
directamente, no hay paleta, se usa la paleta de 16 bit de la consola.

Salu2

Weif Raider
19/04/2005, 00:50
ños Franxis, qué profesional!!!!

no tenía ni pajola que se podía hacer eso, llevo como 3 días probando el SDK y stoy muy verde... de todas formas eso que pones es para tratar con imágenes de 24 bits, yo las tengo en 256 colores y se me ven de culo pq no es la misma paleta....

Franxis
19/04/2005, 00:53
en la pagina web del gp32converter tienes el codigo fuente en visual basic.
pero no creo q sea muy complicado convertir una color de 8 bit de pc a gp32 de 16 bit... Mientras tengas el color de 16 bit con el formato correcto...
de MSB a LSB: RRRRRGGGGGBBBBBI (el I=bit de intensidad=mejor 0)

Weif Raider
19/04/2005, 01:27
muchas gracias por la aclaración Franxis, mañana me pondré con ello a ver si saco algo en claro....

por cierto. Qué tal llevas el mame? al final lo resentas como PFC? en q uni?

yo stoy terminando el mío tb :brindis:

Franxis
19/04/2005, 01:49
el proyecto lo tengo escrito casi al 100%, pero faltan las formalidades de la universidad... bueno, suerte con el tuyo ;-)

Weif Raider
19/04/2005, 10:19
Anoche hice par de pruebas y leyendo los foros de gp32x con algún post sobre el tema creo que me voy aclarando.

El problema no es pasar de 16 bits a 8 bits (256 colores) pues yo las imágenes las genero directamente en 8 bits. Al cargarlas en la Gp es cuando los colores se descojonan por completo XDD

Lo suyo sería generar todas las imágenes con la misma paleta (como dice Puck2099), y cargar una sóla vez esa paleta en la gp32. Mi pregunta es, ¿cómo obtengo la paleta con la que genero los gráficos y la cargo con el SDK?

Sé que el gp32converter genera la paleta de cada imagen, pero varias imágenes distintas tendrán paletas distintas y habrá que cargar más de una.

Siento dar tantas vueltas al tema, pero es que tenía un follón del carajo y no me aclaraba. Gracias!!! ;)

Puck2099
19/04/2005, 10:23
Anoche hice par de pruebas y leyendo los foros de gp32x con algún post sobre el tema creo que me voy aclarando.

El problema no es pasar de 16 bits a 8 bits (256 colores) pues yo las imágenes las genero directamente en 8 bits. Al cargarlas en la Gp es cuando los colores se descojonan por completo XDD

Lo suyo sería generar todas las imágenes con la misma paleta (como dice Puck2099), y cargar una sóla vez esa paleta en la gp32. Mi pregunta es, ¿cómo obtengo la paleta con la que genero los gráficos y la cargo con el SDK?

Sé que el gp32converter genera la paleta de cada imagen, pero varias imágenes distintas tendrán paletas distintas y habrá que cargar más de una.

Siento dar tantas vueltas al tema, pero es que tenía un follón del carajo y no me aclaraba. Gracias!!! ;)

Es muy sencillo, usa el Photoshop, Paint Shop Pro u otro programa y adapta todas tus imágenes a una misma paleta (por ejemplo pegándolas todas juntas y luego haciendo una reducción de colores a 256). Después de eso, como ya tienen todas la misma paleta, el gp32converter te generará siempre la misma, así que con que la cargues una vez vale.

Saludos

Weif Raider
19/04/2005, 10:47
Cuando dices "pegar todas juntas" te refieres a crear una única imagen grande con todas las imágenes creadas, a modo de mosaico??

uhmm.. así ya tenemos todos los colores XDD q bien pensao!!!

Puck2099
19/04/2005, 10:48
Cuando dices "pegar todas juntas" te refieres a crear una única imagen grande con todas las imágenes creadas, a modo de mosaico??

uhmm.. así ya tenemos todos los colores XDD q bien pensao!!!

Sí, a eso me refiero. Así sacas una paleta "global" que luego le aplicas a cada imagen por separado para tener todas la misma. :)

Saludos

Weif Raider
19/04/2005, 11:11
Ok, muchas gracias puck, lo probaré esta noche ;)

por curiosidad, qué utilizas tú para programar, el SDK oficial o alguna lib?

Puck2099
19/04/2005, 11:13
Ok, muchas gracias puck, lo probaré esta noche ;)

por curiosidad, qué utilizas tú para programar, el SDK oficial o alguna lib?

El oficial nada más :)

Saludos