Jump to content
  • Advertisement
Sign in to follow this  
w0dk4

Detect/Prevent forced AA through driver

This topic is 2494 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hey there,

my problem is that I am coding a deferred renderer on Direct3D9 and when you force Anti Aliasing through the driver, nothing gets rendered for obvious reason,

Is there a best practice to prevent this behaviour? Or if it is not possible to prevent, how could I detect if AA is forced?
Direct3D does not seem to throw any errors...

Share this post


Link to post
Share on other sites
Advertisement
If you're trying to fight against the driver, you are going to lose. Big games get NVIDIA and AMD to dial exceptions in specifically for them, but obviously that's not an option for you. That said, the driver has to store the setting somewhere so I imagine it should be possible to at least detect it and warn the user. There's unlikely to be a consistent and reliable way to go about it, though.

Share this post


Link to post
Share on other sites
You could detect it by drawing a white triangle on a black render target and then lock it and go looking for grey pixels.

Share this post


Link to post
Share on other sites
So there is no *proper* way to detect this? sad.png

How do other games do this then that use deferred rendering? Or if you have developed a deferred renderer, do you care about this / have you implemented something that works well?

Share this post


Link to post
Share on other sites
When you say "nothing gets drawn", surely some D3D calls fail which you can detect?

Or what about using GetPresentParameters() on your swap chain - does that say the backbuffer is antialiased (I suspect no if the driver is doing it)?

Share this post


Link to post
Share on other sites

Or what about using GetPresentParameters() on your swap chain - does that say the backbuffer is antialiased (I suspect no if the driver is doing it)?

Just tested this and it's a "no", unfortunately (at least on AMD, haven't tested NV yet, probably won't bother as a hardware-independent way is obviously a high preference here). GetDesc on the backbuffer might be another option (just occurred to me, haven't tested yet).

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!