5 replies to this topic
#1 Members - Reputation: 122
Posted 09 February 2012 - 09:38 PM
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...
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...
Sponsor:
#2 Moderators - Reputation: 2545
Posted 09 February 2012 - 10:01 PM
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.
#5 Moderators - Reputation: 1918
Posted 10 February 2012 - 11:42 AM
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)?
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)?
Steve Macpherson
Senior programmer, Firebrand Games
#6 Members - Reputation: 4028
Posted 10 February 2012 - 02:23 PM
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).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)?
It appears that the gentleman thought C++ was extremely difficult and he was overjoyed that the machine was absorbing it; he understood that good C++ is difficult but the best C++ is well-nigh unintelligible.






