From: Chad A. <ae...@ae...> - 2002-01-16 20:14:10
|
Good. I didn't want to reinvent the wheel. What I *do* want is: - proper Win32 distribution with header files, VC6 import libraries, DLLs - portability (of course) - proper |./configure && make| UNIX distribution (autoconf/automake 'make dist') - documentation! (of course) - C API for DLL boundary communication - completely inlined C++ API that calls the C API - support for at least PNG, JPEG, and PCX (but more is better here) - decent (creative) name :) - SourceForge project so it's managed in a standard way - a (possibly separate) utility library that would let us do smooth scaling, generalized transforms, format conversions (it'd be nice to always have everything in 32-bit color RGBA) Here's why I wasn't using the ones that already exist: IMO, OpenIL is deployed all wrong. They don't use autoconf/automake, and several functions in the API are either empty stubs or are missing functionality. SDL_Image depends on SDL. Some of the other small ones are simply not big enough. > ouch. check out the one i've already written. :) (see tank in CVS for a > few files in my image lib). > > let me know if you want it to have more. currently it supports SGI, TGA, > PCX, BMP, formats (read and write) > > It can also read PNG, and write to a .cpp file an image into static vars.. > > I was planning on checking it in soon, but currently it is only called > "Image". so it could have a better name. ---- > see this link for an older version: > > http://www.vrac.iastate.edu/~kevn/pub/Image-0.9.2.src.tar.gz ---- > Alternatively isn't there a few general image libs already available? > probably don't want to reinvent the wheel. I wrote mine because at the > time (3-4 years back) there wasn't a good sgi loader, and there certainly > wasn't any good C++ loaders... I don't care if we find something > different than mine if it's better. > > someone want to research the available libs, and make notes about how to > load and access the image data? > > for example my lib works like this: > > Image image; > TgaImport imp; > imp.import( "filename.tga", image ); > > then to access the data: > void *data = image.data() > int width = image.width(); > int height = image.height(); > int channels = image.channels(); > int bpp = image.bpp(); // bits per pixel > > void* pixel = image.pixel( x, y ); // access an individual pixel > > the Image class data format is what OpenGL needs passed to it. I think I > also used it with direct X once as well... |