PDA

Ver la versión completa : problema con colores y el sdk oficial



Ozius
08/04/2005, 03:30
hola a todos
estoy haciendo algunas pruebas con el sdk oficial. hasta ahora he estado probando todo con el geepee para no tener que andar metiendo a la smc continuamente y todo se veia muy bien.
ahora que he conseguido que funcione bien el tema de los tiles he ido a probarlo en la gp para ver que tal se veia en la consola y veo que los colores se ven muy apagados, con mucha menos intensidad. en el emulador se veian perfectamente, no se por que sera esto.
a alguien le ha ocurrido lo mismo y si es asi como lo ha solucionado? es que no parece tema de la paleta porque se ve bien pero bastante mas oscuro, no se ven los colores vivos como estan en el bmp y como se ven en el emulador.

adjunto el fxe por si quereis probar como se ve

kmkzk
08/04/2005, 11:40
Que modelo de Gp32 tienes? En una BLU deberias verlo muy parecido al geepee. Es muy raro lo que comentas, no puedo darte ninguna solucion :(

Ozius
08/04/2005, 12:01
tengo una BLU si, es muy raro la verdad, habia hecho alguna cosilla antes y no he tenido este problema nunca. no se que puede ser, mirare en algun otro codigo que tengo por aqui por si hago algo de mas con el tema de la paleta o asi pero es muy raro.
a lo mejor es normal que se vea asi pero si alguien puede hacer la prueba con el fxe que he pueso antes en la geepee y en la gp y me lo comenta mejor. si es normal que se vea asi la diferencia seria muy grande la verdad

oankali
08/04/2005, 12:35
Has canviado la velocidad del procesador?
Si es el caso, intenta dejar la que hay por defecto para ver que tal se ve.
Es que segun que frequencias, a veces la pantalla no se refresca correctamente.

Ozius
08/04/2005, 13:11
habia cambiado la velocidad a 133 mhz pero al quitarselo y dejarlo por defecto se sigue viendo igual. al final me temo que va a ser normal que se vea asi y la verdad que pierde un poco el juego con los graficos tan apagados.

oankali ya que estas por aqui, me gustaria usar tu motor para escribir texto y estuve probandolo el otro dia. Se puede crear una fuente okf teniendo todos los caracteres en un bmp? es que con el GPfontmaker parece que solo se puede convertir desde una fuente truetype. he probado a convertir una fuente truetype y con el postprocessing este guardarlo en un bmp y cambiar los caracteres por los mios pero luego no me coge bien el tamaño de mis caracteres, los corta sin cogerlos enteros.

Aiken
08/04/2005, 13:18
habia cambiado la velocidad a 133 mhz pero al quitarselo y dejarlo por defecto se sigue viendo igual. al final me temo que va a ser normal que se vea asi y la verdad que pierde un poco el juego con los graficos tan apagados.


Y porque simplemente no le das mas brillo al bmp usando el photoshop? quizas queden demasiado brillantes en el geepee pero en la gp32 los veras mas vivos como quieres. Y al fin y al cabo donde se tiene que ver bien es en la gp32 real, no?

Aiken

oankali
08/04/2005, 14:09
[...]

oankali ya que estas por aqui, me gustaria usar tu motor para escribir texto y estuve probandolo el otro dia. Se puede crear una fuente okf teniendo todos los caracteres en un bmp? es que con el GPfontmaker parece que solo se puede convertir desde una fuente truetype. he probado a convertir una fuente truetype y con el postprocessing este guardarlo en un bmp y cambiar los caracteres por los mios pero luego no me coge bien el tamaño de mis caracteres, los corta sin cogerlos enteros.

Actualmente no se puede, pero es una cosa que tenía pensada hacer, no se cuando.
Hay maneras de hacerlo manualmente, pero es algo laborioso.
Si quieres me puedes enviar tu bmp y miro si lo puedo pasar a .okf y así podrás probar el motor mientras yo utilizo tu bmp para ver como puedo mejorar al GPFontMaker.

Oankali

murciegalo
08/04/2005, 14:32
ya que hablais de colores y para no abrir otro post...
Sabeis si con el bmp2bin se pueden convertir bmps de 16bpp? siempre me da error de unsupported bit depth por lo que deduzco que no se puede :P pero entonces como leches meto graficos de 16bits con el MrMirko?¿?

Gracias y disculpad mi ignorancia...
Saludos!

oankali
08/04/2005, 14:54
ya que hablais de colores y para no abrir otro post...
Sabeis si con el bmp2bin se pueden convertir bmps de 16bpp? siempre me da error de unsupported bit depth por lo que deduzco que no se puede :P pero entonces como leches meto graficos de 16bits con el MrMirko?¿?

Gracias y disculpad mi ignorancia...
Saludos!

¿16bpp = 16 bits?
¿16bpp = 16 colores?

Que sepa yo los BMPs de 16 bits no existen. Solo existen los de 1, 4, 8 y 24 bits.
No sé que formatos soporta bmp2bin, pero me parece que si soporta los de 24 bits. Sino utiliza Gp32Converter.exe que es el que utilizo yo, y soporta 8 y 24 bits.

K-teto
08/04/2005, 15:10
El tema de los colores y la blu, es normal, yo tambien lo he notado, sobre todo los azules.
La unica solucion que he encontrado ha sido crear la paleta pensando ya en la diferencia entre lo que se ve en el pc y en la gp :/

Ozius
08/04/2005, 15:21
Y porque simplemente no le das mas brillo al bmp usando el photoshop? quizas queden demasiado brillantes en el geepee pero en la gp32 los veras mas vivos como quieres. Y al fin y al cabo donde se tiene que ver bien es en la gp32 real, no?


he probado a poner el mismo bmp usando fenix y usando c+sdk y con los dos se ve mas oscuro de lo que es en el pc, voy a tener que hacer algo asi si.


Actualmente no se puede, pero es una cosa que tenía pensada hacer, no se cuando.
Hay maneras de hacerlo manualmente, pero es algo laborioso.
Si quieres me puedes enviar tu bmp y miro si lo puedo pasar a .okf y así podrás probar el motor mientras yo utilizo tu bmp para ver como puedo mejorar al GPFontMaker.

una cosa antes... estoy usando 8 bits y no 16, habra algun problema para usar tu motor? de todas formas te adjunto el fichero con las fuentes en bmp para que puedas hacer esas pruebas. Gracias.


El tema de los colores y la blu, es normal, yo tambien lo he notado, sobre todo los azules.
La unica solucion que he encontrado ha sido crear la paleta pensando ya en la diferencia entre lo que se ve en el pc y en la gp :/

Pues me parece que va a ser eso, los azules son lo que mas oscuro se me ve. No tengo mucha maña con las paletas por ahora asi que no se, ya intentare hacer algo para solucionarlo.

oankali
08/04/2005, 15:48
Efectivamente, actualmente mi motor solo funciona en 16 bits. En 8 bits habría que hacer una gestión importante de la paleta de colores, tema que iba más allá de las aspiraciones del motor.
Si alguien se anima a hacerlo, le puedo ayudar.

Por cierto, tus fuentes son muy sencillas y de espaciado fijo. No creo que sea imprescindible mi motor para dibujarlas a menos que quieras efectos de transparèncias o cambios de colores en tiempo real, o formateo del texto.
Si te interesa te puedo enviar la versión anterior de mi motor de fuentes que estaba basado en un bitmap y un .h por fuente. Es para fuentes proporcionales pero te puede inspirar para preparar tus rutinas de texto.

En cuanto al problema de colores, si programas en 8 bits significa que tienes la posibilidad de modificar la paleta una vez en memória y retocar los colores como quieras sin tener que ajustar los colores de tus BMP.
Supongo que es así que lo hacen lo juegos que te permiten ajustar el gama de la pantalla. Como ejemplo tienes el juego Crocodingus.
Podrías seguir el mismo ejemplo e incorporar en el menú de opciones de tu juego la posibilidad de dejar al jugador la elección de la corrección de los colores.

murciegalo
08/04/2005, 16:26
me refería bmp de 16 bits (el photoshop si que me deja guardar las imagenes cómo bmp de 16 bits :loco: ).
Oankali, he bajado el programa que comentas y parece que lo ha convertido sin problemas (cuando llegue a casa metere el fxe en la GP a ver si funciona) y tb he bajado el Image Converter que en el Readme pone:

Support for reading many types of BMP files including: 1, 4, 8, 16, 24 and 32

Gracias! :)

Ozius
08/04/2005, 16:54
Efectivamente, actualmente mi motor solo funciona en 16 bits. En 8 bits habría que hacer una gestión importante de la paleta de colores, tema que iba más allá de las aspiraciones del motor.
Si alguien se anima a hacerlo, le puedo ayudar.

la verdad que ando muy perdido con las paletas por ahora, si cuando acabe con este proyecto me quedan las cosas claras ya le hecho un vistazo.


Por cierto, tus fuentes son muy sencillas y de espaciado fijo. No creo que sea imprescindible mi motor para dibujarlas a menos que quieras efectos de transparèncias o cambios de colores en tiempo real, o formateo del texto.
Si te interesa te puedo enviar la versión anterior de mi motor de fuentes que estaba basado en un bitmap y un .h por fuente. Es para fuentes proporcionales pero te puede inspirar para preparar tus rutinas de texto.

si, todos los caracteres son de 8x8, lo podia hacer pintando los sprites directamente pero era curiosidad por probar tu motor mas que nada :)
mandame la version anterior entonces y ya le echo un vistazo y cambio lo que necesite. oziusARROBAhotmail.com


En cuanto al problema de colores, si programas en 8 bits significa que tienes la posibilidad de modificar la paleta una vez en memória y retocar los colores como quieras sin tener que ajustar los colores de tus BMP.
Supongo que es así que lo hacen lo juegos que te permiten ajustar el gama de la pantalla. Como ejemplo tienes el juego Crocodingus.
Podrías seguir el mismo ejemplo e incorporar en el menú de opciones de tu juego la posibilidad de dejar al jugador la elección de la corrección de los colores.
acabo de probar el crocodingus para ver lo que hacia. la verdad que no tengo ni idea de por donde empezar para cambiar el gama de la paleta, pero bueno a ver si encuentro algon ejemplo por ahi y le pongo esa opcion para ver si asi se mejora el color mostrado.

murcielago a mi tambien me paso eso. guarde las imagenes a 16 bits en el photoshop y luego el gp32converter no me las convertia bien a .h
cambie las imagenes a 24 bits y todo perfecto

murciegalo
08/04/2005, 17:07
ok, probaré lo que comentas Ozius :)

Muchas gracias :)

oankali
11/04/2005, 09:09
me refería bmp de 16 bits (el photoshop si que me deja guardar las imagenes cómo bmp de 16 bits :loco: ).
Oankali, he bajado el programa que comentas y parece que lo ha convertido sin problemas (cuando llegue a casa metere el fxe en la GP a ver si funciona) y tb he bajado el Image Converter que en el Readme pone:

Support for reading many types of BMP files including: 1, 4, 8, 16, 24 and 32

Gracias! :)

Entonces el archivo que tengo con las especificaciones del formato BMP está caducado ya que en él solo se habla de 1, 4, 8 y 24 bits. Tendré que buscar una versión más reciente.
Es que resulta que da la casualidad que precisamente actualmente en este preciso momento estoy programando una librería para leer BMPs directamente de la SMC.
Ya sé que ya existen librerías hechas, pero tenía ganas de hacerlo.

Ozius
12/04/2005, 00:38
oankali tu sueles usar las librerias del sdk oficial para windows y compilas con visual c no?
he estado intentando configurar el visual studio .net con las librerias para windows y despues de tener que bajarme algunas dll y librerias mas antiguas he conseguido que compile correctamente los ejemplos que trae el sdk y el programilla que estoy haciendo yo.
lo que pasa que al lanzar el ejecutable que crea al compilar aparece una ventana como una gp32 y te da la opcion de cargar una smc virtual. al compilar el programa me deberia haber creado tal smc virtual o la tengo que crear yo y meterle dentro algun archivo de los que me ha creado al compilar?
me ha costado un poco configurar el visual studio por la falta de algunos archivos pero por lo menos parece que compila sin dar ningun error, a ver si me ayudas en lo de la smc.
gracias

EDIT: vale ya he visto que solo habia que abrir cualquier .smc para que se ejecute el programa que has compilado. eso me pasa por no probar mas antes de postear :D
lo unico que va demasiado rapido, que es logico al ejecutarse en un procesador mucho mas rapido que la gp. habra que limitarle los frames

oankali
12/04/2005, 10:00
Bienvenido al mundo de la programación de la GP32 bajo Windows :)
Espero que no te arrepientas, ya que hay algunas funciones que no funcionan como la de los números aleatorios o GpAppExit().
Y para que no te arrepientas voy a preparar ese tutorial que hace tiempo prometí con la solución a esos problemas.

Por cierto, si tu programa no inicializa la SMC con GpFatInit(), puedes indicar cualquier archivo, aunque no sea una SMC virtual.

Oankali.

Puck2099
12/04/2005, 19:50
hola a todos
estoy haciendo algunas pruebas con el sdk oficial. hasta ahora he estado probando todo con el geepee para no tener que andar metiendo a la smc continuamente y todo se veia muy bien.
ahora que he conseguido que funcione bien el tema de los tiles he ido a probarlo en la gp para ver que tal se veia en la consola y veo que los colores se ven muy apagados, con mucha menos intensidad. en el emulador se veian perfectamente, no se por que sera esto.
a alguien le ha ocurrido lo mismo y si es asi como lo ha solucionado? es que no parece tema de la paleta porque se ve bien pero bastante mas oscuro, no se ven los colores vivos como estan en el bmp y como se ven en el emulador.

adjunto el fxe por si quereis probar como se ve

Refloto el tema porque acabo de aprender algo nuevo (para mi) que igual te viene bien si no lo conocías.

Al parecer el bit menos significativo de los colores es el llamado "intensity bit". Si este bit está puesto a 1 los colores tienen un menor contraste, el negro se ve como grisaceo y el resto de colores parecen "lavados". Poniéndolo a 0 los colores son más vivos.

Si quieres más información con fotos y todo mira aquí. (http://www.gp32x.com/board/index.php?showtopic=18418&st=0&p=226729&#entry226729)

Yo voy a probarlo ahora en un ratillo, que también había notado diferencias palpables entre los colores en mi PC y los que se muestran en la consola.

Espero que te sirva :)

Saludos

Croc
12/04/2005, 20:20
Wenas!


Refloto el tema porque acabo de aprender algo nuevo (para mi) que igual te viene bien si no lo conocías.

Al parecer el bit menos significativo de los colores es el llamado "intensity bit". Si este bit está puesto a 1 los colores tienen un menor contraste, el negro se ve como grisaceo y el resto de colores parecen "lavados". Poniéndolo a 0 los colores son más vivos.

Si quieres más información con fotos y todo mira aquí. (http://www.gp32x.com/board/index.php?showtopic=18418&st=0&p=226729&#entry226729)

Yo voy a probarlo ahora en un ratillo, que también había notado diferencias palpables entre los colores en mi PC y los que se muestran en la consola.

Espero que te sirva :)

Saludos

He estado leyendo el hilo en gp32x xo no me acabo de enterar muy bien.
Se supone ke hay ke modificar la paleta entera xa ke cada color no tenga el ultimo bit activo? Es decir, ke tengo ke volver a transformar todas las imagenes usando esa nueva paleta?

Donde esta exactamente ese bit de luminosidad? El menos significativo de cada canal de color o un unico bit al final?

Salu2 y gracias!

Ozius
12/04/2005, 21:03
gracias puck2099 por compartirlo.
si mal no recuerdo el gp32converter tiene la opcion de poner el intensity bit a 0 o a 1 cuando conviertes los bitmaps a .h, no se si con esa opcion hara lo mismo que dicen en ese hilo. a ver si hago unas pruebas con el gp32converter y me leo bien el hilo de gp32x que acabo de llegar a casa y no me he aclarado muy bien.
croc me parece que es solo un unico bit al final de cada color, no uno por cada canal.
ya contare si consigo algo

Ozius
13/04/2005, 01:47
pues no se, el gp32converter parece que hace exactamente eso, te deja elegir si poner el intensity bit a 0 o a 1. he probado con las dos paletas, una a 0 y otra a 1 y yo la verdad que no noto ninguna diferencia del uno al otro. a ver si alguno consigue alguna mejora con algun otro metodo. yo seguire probando todo lo que se me ocurra

agur

Puck2099
13/04/2005, 01:58
pues no se, el gp32converter parece que hace exactamente eso, te deja elegir si poner el intensity bit a 0 o a 1. he probado con las dos paletas, una a 0 y otra a 1 y yo la verdad que no noto ninguna diferencia del uno al otro. a ver si alguno consigue alguna mejora con algun otro metodo. yo seguire probando todo lo que se me ocurra

agur

Lo mismo digo, he probado con el bit a 0 y 1 y veo las imágenes igual... :(

Saludos

oankali
13/04/2005, 09:13
En su momento, cuando empecé a programar para la GP y solo tenía una NLU, también hice esas pruebas, pero no vi ninguna diferencia por lo que decidí poner siempre ese bit a 1, porque es la opción por defecto de GP32Converter. Ahora resultará que la mejor solución era la otra :(

Pero por lo visto la diferencia solo se aprecia con las BLU. Con la FLU que tengo ahora tampoco le veo la diferencia.
No sé, puede que en el futuro cambie mis BMPs.

Oankali.

Puck2099
13/04/2005, 09:55
En su momento, cuando empecé a programar para la GP y solo tenía una NLU, también hice esas pruebas, pero no vi ninguna diferencia por lo que decidí poner siempre ese bit a 1, porque es la opción por defecto de GP32Converter. Ahora resultará que la mejor solución era la otra :(

Pero por lo visto la diferencia solo se aprecia con las BLU. Con la FLU que tengo ahora tampoco le veo la diferencia.
No sé, puede que en el futuro cambie mis BMPs.

Oankali.

Oankali, yo tengo una BLU y tampoco aprecio diferencia, al menos transformándolas con el GP32Converter.

Quizá solo se vean afectados los colores muy oscuros...

Saludos

Ozius
13/04/2005, 14:21
yo tambien tengo una BLU y el fondo es negro en muchas partes del juego y no se nota ninguna diferencia y si la hay sera practicamente inapreciable, no como las imagenes de gp32x que la diferencia es notable. quizas hay que hacerlo de otra forma pero no tengo ni idea.
puck he visto en el otro hilo de tus problemas que escribes los fps y la memoria libre en la pantalla, como se puede hacer eso? asi me quedo mas tranquilo sabiendo cuanta memoria tengo ocupada en cada momento

Puck2099
13/04/2005, 15:38
yo tambien tengo una BLU y el fondo es negro en muchas partes del juego y no se nota ninguna diferencia y si la hay sera practicamente inapreciable, no como las imagenes de gp32x que la diferencia es notable. quizas hay que hacerlo de otra forma pero no tengo ni idea.
puck he visto en el otro hilo de tus problemas que escribes los fps y la memoria libre en la pantalla, como se puede hacer eso? asi me quedo mas tranquilo sabiendo cuanta memoria tengo ocupada en cada momento

Ahora mismo estoy en la universidad y no tengo el código delante, cuando llegue a casa te especifico.

Así sin código para ver los FPS lo que hago es llevar un contador que se va incrementando cada vez que hago un cambio de superficie (pintar un frame). Cada segundo (eso lo ves con el GpTickCountGet()) hago que muestre el valor del contador y lo ponga a cero y vuelta a empezar.

En cuanto a lo de la memoria, hay también una función, pero esa sí que no me la sé de memoria. Cuando llegue a casa lo miro y te la pongo.

Saludos

oankali
13/04/2005, 16:18
gm_availablesize()

Puck2099
13/04/2005, 18:34
Yo uso:
unsigned int gp_mem_func.availablemem();

Pero vamos, supongo que será la misma función que te ha dicho Oankali solo que renombrada.

Saludos

Ozius
13/04/2005, 21:32
gracias a los dos, ahora lo probare.
saludos