Skip to main content
gamedev.net
🔒 Locked

Using 64bit Textures

Started by blaze02 Aug 27, 2006 at 8:35 PM 5 replies 1.2k views
Original Post
blaze02
blaze02
I'm rendering multiple quads to a larger texture, then rendering that to the screen. While trying to get a little more precision, I changed the format of the "larger texture" from A8R8G8B8 to A16B16G16R16. In doing this, it does not work with the blending options I have set. I'm trying to render with destination blend = one, so the background bleeds through, but it does not seem to work with this texture format. Instead, the destination is erased when a quad is rendered on top of it. Alpha testing does not even seem to reject pixels. I've tried D3DFMT_A16B16G16R16F, D3DFMT_A16B16G16R16, and D3DFMT_A32B32G32R32F. The first one works for me, but the latter two do not. I would be happy using the a16b16g16r16f format, but it doesn't work on a friends computer. So what are my options? Can I check to see if blending is supported on the card with the given texture format? Or should I abandon my hopes of using a 64+bit texture with destination blending? Thanks for any suggestions.
Promit
Promit
What video card are you using?

I don't know exactly what the support landscape looks like for 64 bit integer RGBA. Floating point blending support is fairly limited, and borderline non-existent for the 32 bit per channel format (I think the top end ATI radeons can do it and that's it).
SlimDX | Ventspace Blog | Twitter | Diverse teams make better games. I am currently hiring capable C++ engine developers in Baltimore, MD.
blaze02
blaze02
Quote:
Original post by Promit
What video card are you using?

ATI Sapphire x1800, but I'm not worried about it working for me. I thought I got a near top-end card. It cost about $250 refurb.

Is there any way to check if blending is supported when rendering to these textures?
hplus0603
hplus0603
Quote:
Is there any way to check if blending is supported when rendering to these textures?


Getting the device caps from the IDirect3DDevice9 will tell you this.
enum Bool { True, False, FileNotFound };
blaze02
blaze02
Quote:
Original post by hplus0603
Quote:
Is there any way to check if blending is supported when rendering to these textures?


Getting the device caps from the IDirect3DDevice9 will tell you this.


But is there any way to check on a per-format basis? As I said before, the technique works fine with a8r8g8b8, but not with a16b16g16r16 (depending on which machine runs the program).
sirob
sirob
You'll need to call IDirect3D9::CheckDeviceFormat passing the D3DUSAGE_QUERY_POSTPIXELSHADER_BLENDING flag and your format to check if blending is supported for specific formats.

Hope this helps.
Sirob Yes.» - status: Work-O-Rama.
blaze02
blaze02
Quote:
Original post by sirob
You'll need to call IDirect3D9::CheckDeviceFormat passing the D3DUSAGE_QUERY_POSTPIXELSHADER_BLENDING flag and your format to check if blending is supported for specific formats.

Hope this helps.


Excellent! Thank ya.

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.