Yet one more wish:
- The Wavefront OBJ format defines grayscale map_d textures that are effectively alpha maps to complement the diffuse maps saved in the 24-bit RGB/BGR formats (BMP, JPG, GIF etc.). I've seen them used in OBJ files very often. It would be however wasteful to load and mipmap them as separate 32-bit textures because that way we'd be wasting exactly 4 channels in both maps (1 in the diffuse map, and 3 in the alpha map), i.e. a whole 32-bit map altogether.
- There are also the so-called cavity maps that are effectively AO/shadow maps for the specular, rather than ambient/diffuse, component. They suppress specular highlights in deep recesses, cavities, cracks and slots in the model. While they are not conformant with the OBJ format, they are nonetheless used widely enough.
It won't be reasonable to load them all separately. I want to add them dynamically at model load time to the 4th (alpha) channel of diffuse and specular maps, respectively.
My question is: are there functions in GDImage to load, resize smoothly to the same size if needed, combine the pixel data with the alpha channel, and finally load
from memory and mipmap such synthetic textures pretty much like we deal with the texture disk files now?
If yes, can you provide me with hints on such a practical toolchain using your GDImage facilities?