User Tag List

Resultados 1 al 3 de 3

Tema: Pérdida de color al cargar "manualmente" desde un fichero usando SDL

  1. #1

    Fecha de ingreso
    Jul 2004
    Mensajes
    38
    Mencionado
    0 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts

    Pérdida de color al cargar "manualmente" desde un fichero usando SDL

    Estoy portando unas cosillas a GP32 y me he encontrado con este problema...
    Resulta que estoy cargando una imagen desde un fichero fpg de cdiv, parecido a los fpgs de fenix, pero me encuentro que los colores salen cambiados. El formato de color del fichero de 16 bits y es BGR pero lo convierto a RGB antes de ponerlo en una SDL_Surface. (El modo de video tambien es de 16 bits)
    Funciona correctamente en PC (windows y linux) y en Dreamcast.
    Alguien ha tenido algún problema similar o me puede dar alguna pista por donde empezar a buscar? XD

    La imágen del sprite es la que no tiene los colores correctos, las otras dos están cargadas con la SDL_image


    También tengo que decir que solo lo he probado en el GEEPEE ya que no tengo la consola.. xD

    EDITO: Parece que el canal que falla es el azul, rojo y verde salen correctamente...
    Última edición por hiperbou; 15/01/2008 a las 20:40

  2. #2

    Fecha de ingreso
    Aug 2003
    Ubicación
    Madrid (Getafe)
    Mensajes
    13,932
    Mencionado
    48 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    5
    Agradecer Thanks Received 
    221
    Thanked in
    Agradecido 164 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    2
    me suena recordar que las librerias de 16bits (el blit) no venia de serie en el SDK que habia que montarselo, seguro que estas usando realmente el blit de 16bits? no sabria como ayudarte a comprobarlo, solo me suena eso, que los 16bits no era algo "de serie" en el sdk de gp32, aunque quizas me equivoco porque hace muchisimo tiempo y yo siempre trabajo a 8bits.

    PD. La gp32 a 16bits no puede con su alma, va muy lento, si lo pasas a 8bits de color, y por las imagenes que pones parece que no usan muchos colores, la gp32 te lo agradecera

    Aiken

  3. #3

    Fecha de ingreso
    Jul 2004
    Mensajes
    38
    Mencionado
    0 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    Estoy usando las librerías SDL++
    El caso es que una imagen es de 256 colores, otra un tga de 32bits y la que falla de 16 bits. Mi motor las convierte todas a 16 bits y las dibuja de la misma manera las tres.
    Pero en algún lugar se pierde los datos del color azul. Esto lo digo porque he descompuesto la imagen de la captura con el paint shop pro, en tres mapas R G B y los he comparado con la descomposición de la imagen original, y parece ser que el rojo y el verde coinciden, pero el azul no.
    Y como esto no ocurre en el Pc ni en dreamcast me es bastante difícil de encontrar el fallo...
    Puede ser problema de endiannes?? Estoy algo perdido la verdad XD

    PD: Lo de los 8 bits no creo que lo haga a corto plazo, lo que estoy portando es una librería todo en uno para programar juegos que estoy terminando.. En principio la librería funciona sobre OpenGL, y he hecho un render por software para aumentar la portabilidad, pero dar soporte a los 8 bits ya me parece demasiado trabajo y no entraba en mis planes, aunque ya veremos.. XD
    < - >
    SOLUCIONADO
    Despues de horas siguiendo pistas falsas, al final s&#243;lo he tenido que poner un cast a Uint8 de r,g,b. Variables que ya estaban declaradas como Uint8 pero se ve que el compilador no lo entend&#237;a as&#237;... :/

    SDL_MapRGB(screen->format,(Uint8)b,(Uint8)g,(Uint8)r)
    Última edición por hiperbou; 16/01/2008 a las 03:53 Razón: Edición automática anti doble-post.

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •