I have a directx9 game engine that creates its normal adaptor with this format: D3DFMT_X8R8G8B8 I have a system where I render some objects to an offscreen render target, as lightmaps. I then use that lightmap data to composite back to the back buffer where they act as a full screen 'mask' and let me get the effect of torches or other light sources on a dark scene. Everything works just great. The problem is, I'm aware that my big offscreen lightmap render targets are 16MB each, at a large res, and I only really need 8 bits of data (greyscale) from them, so 75% of the 32 bit render target memory is a waste. (I'm targeting low spec cards). I tried creating the render targets as D3DFMT_A8 But directx silently fails on that (if I add CheckDeviceFormat() I see it happen) and creates 32 bit anyway. I use the D3DXCreateTexture function My question is, what format is best for creating these offscreen buffers?
Thankyou for your help, I'm not good at render target related stuff :)