Algún libro sobre estructuras de ficheros de imagenes en C++

Previous topic - Next topic

mentalthink

Hola no se si estó existe, pero me podéis recomendar algún libro en que expliquen como grabar .BMP o .JPG desde 0, es que mirando un tuto muy majo de un chico que ha hecho un motor Raytracing, se ve desde el princpio como "hace" un .BMP, y no sé... encuentro que es algo muy interesante de aprender.

Supongo que es mucho perdir , y de audio?¿ , como "hacer" un .wav m cuando me refiero "ha hacer" digamos es saber hacer los encabezamientos para luego grabarlo en un fichero real... similar a lo que hizo Gernnot con el Dr.Pepers que grabas un sonido poniendo Double float y todas esas cosas en un orden.. supongo que en realidad se les podrían llamar protocolos...

Gracias!!!

hardyx

Se les podría llamar especificaciones de formatos de archivo, y sería lo correcto :)

Los formatos PNG, BMP, JPG, TIFF y otros estándares están definidos en documentos que te indican como los tienes que leer o crear. Eso si, muchos de ellos son bastante técnicos, pero el BMP por ejemplo es el más sencillito. Lo que se suele hacer es usar librerías como la libpng, jpeglib o similares que te ocultan los detalles más molestos como: estructuras, alineaciones o algoritmos de compresión. Casi todos los formatos no propietarios (abiertos) tienen alguna librería para manejarlos (incluso algunos propietarios).

Aquí tienes la estructura de los BMP. Casi todos suelen tener una o varias cabeceras y luego los datos de la imagen.
http://www.fileformat.info/format/bmp/egff.htm

P.D. La mayoría de formatos abiertos están en internet, pero ya que pides un libro, este es un clásico, aunque ya tiene bastantes años.
http://www.amazon.com/exec/obidos/ASIN/1565921615/fileformatnet-20

mentalthink

Gracias Hardyx si lo de encontrar por internet ya he encontrado bastantes y de hecho he conseguido hacer un TGA y pintarlo de colores, por si ha alguién le interesa lo busco como Header BMP,TGA o por ejemplo WAV

Sobre lo de las librerias también lo había visto, pero era por profundizar un poco lo bueno y lo "malo" de C++ por eso supongo que dicen que es el lenguaje que nunca aprenderás es que hay librerias para todo, algo similar como le ocurre a Python pero con la simplicidad que tiene este.

Pues nada voy a mirarme ese librico, gracias Hardyx.

Hark0

No se que quieres hacer con C++, pero dependiendo del compilador (entiendo que no es GLB), puedes usar SDL y otras librerias más modernas... donde la carga de gráficos está más que solventada... ;)
http://litiopixel.blogspot.com
litiopixel.blogspot.com - Desarrollo videojuegos Indie · Pixel-Art · Retroinformática · Electrónica Development Indie Videogames · Pixel-Art · Retrocomputing · Electronic

mentalthink

SI Jordi, de hecho las mismas OPENGLES 1.0 te permiten cargar TGA's de manera sencilla, pero el tema es por saber un poquito más, por saber de dónde vienen las cosas... algo similar me pasa con las luces en 3D, que está muy bien que si OPNEGL o DirectX, pero de algún sitio o código principal salio todo esto... por saber un poco las cosas más a nivel más bajo, por curiosidad...

Por cierto si necesitas un buen curso de las SDL, si pones "SDL for lazy" verás un curso, que se ve que en la red, es de los más refutados a parte de ser megasencillo de entender... creo que tiene también cosas de OpenGL; aunque para opengl la más conocida es una que se llama Nask o algo asi, si eso me lo dices que te la busco..

Hark0

Naa, tranqui... dejame que acabe la"parida" de juego ue estoy escribiendo... luego ya veremos si sigo con GLB o pego el salto a C++ puro y duro... con la lib que sea... :P
http://litiopixel.blogspot.com
litiopixel.blogspot.com - Desarrollo videojuegos Indie · Pixel-Art · Retroinformática · Electrónica Development Indie Videogames · Pixel-Art · Retrocomputing · Electronic