View Full Version : aa
2008 IQ is unacceptable
12-Nov-2008, 14:28
Why don't games using the GRAW engine allow aa?
Could nvidia make a driver to allow any aa mode to be forced from the control panel?
Also, what HW/rendering technique/game engine limitation prevents control panel aa from working?
defered rendering is the culprit
im sure someone will give you a more in depth explaination
ps: a later patch does allow edge smoothing in graw
Andrew Lauritzen
13-Nov-2008, 06:01
Yup, deferred rendering. It's one of many, many interesting and useful rendering styles that is incompatible with the driver trying to screw with your buffers and settings behind your back. You can tell that I'm not a fan of control-panel-forced stuff (except for super-old games that predate the API flexibility to cause something like forced AA to screw up).
IMHO control panel AA, AF, "adaptive AA", LOD biasing/clamping and arguably even gamma correction on AA resolve, trilinear/aniso optimization and a host of other things have no place in DX9/10+ applications and hardware. I cannot count the number of times these things have screwed over perfectly legitimate algorithms and caused users no end of pain. Seriously, I'm grateful that Microsoft has tightened up the spec on stuff like this in DX10 and beyond.
Sometimes they're clever enough to turn themselves off when they detect an incompatible style of rendering, but that's not always possible. Still, if you force stuff from the control panel, you're completely on your own... consider yourself lucky if you game runs let alone renders properly ;)
2008 IQ is unacceptable
13-Nov-2008, 16:06
Yup, deferred rendering. It's one of many, many interesting and useful rendering styles that is incompatible with the driver trying to screw with your buffers and settings behind your back. You can tell that I'm not a fan of control-panel-forced stuff (except for super-old games that predate the API flexibility to cause something like forced AA to screw up).
IMHO control panel AA, AF, "adaptive AA", LOD biasing/clamping and arguably even gamma correction on AA resolve, trilinear/aniso optimization and a host of other things have no place in DX9/10+ applications and hardware. I cannot count the number of times these things have screwed over perfectly legitimate algorithms and caused users no end of pain. Seriously, I'm grateful that Microsoft has tightened up the spec on stuff like this in DX10 and beyond.
Sometimes they're clever enough to turn themselves off when they detect an incompatible style of rendering, but that's not always possible. Still, if you force stuff from the control panel, you're completely on your own... consider yourself lucky if you game runs let alone renders properly ;)
I have the opposite view. microsoft's specs are always below nvidia's. ati, generally doesn't add anything to ms's specs, and that's why I prefer nvidia. 2 big examples, are ati doesn't do full trilinear, the x1k series didn't have hw fp16 filtering, and couldn't do vertex texturing.
Several examples, i believe that dx10 does away with trss. then it only requires 4x msaa, and it doesn't require angle invariance for af nor unoptimized trilinear.
I liked it much better when hardware was unique and the specs weren't dictated by ms.
Both gpu makers should make their drivers and hardware so they don't conflict with any games. Microsoft is who screwed over bw compatibility. On the other hand, you play any opengl game and if it's in 32 bit color, then it improves with each new generation of hw. DX5,6,7 games are busted on later hw.
Think about how 3dfx was so much better than the competition. It was b/c they weren't limited by microsoft's stupid regulations.
AlStrong
13-Nov-2008, 16:22
Think about how 3dfx was so much better than the competition.
3dfx is relevant?
Andrew Lauritzen
13-Nov-2008, 17:35
microsoft's specs are always below nvidia's.
Not true - quite the opposite in fact. Note that NVIDIA currently has no DX10.1-supporting cards while ATI does. Now the main point here is that everyone conspires on the new DX specs, but having Microsoft involved helps to push things along and at the same time drive compatible features, which in this day and age is an absolute necessity. No one is going to ship a game that only works on one vendors graphics cards...
Several examples, i believe that dx10 does away with trss.
If you're talking about what I think you are, this was never officially supported in any API that I know of, and indeed is one of those silly backend hacks that works in a few cases and falls flat in a lot of other legitimate ones. Great for DX5/6/7/8 games, but silly beyond that.
then it only requires 4x msaa, and it doesn't require angle invariance for af nor unoptimized trilinear.
Indeed, but it doesn't prevent you from doing more in either of those cases. Even NVIDIA's CSAA modes are supported just fine through the DX interfaces.
I liked it much better when hardware was unique and the specs weren't dictated by ms.
As I mentioned above, those days are rightfully gone as it is unreasonable to develop software for a specific GPU. Conversely, rendering has gotten to the level of programmability and generality that drivers can no longer safely infer how rendering is being done, as most of stuff that generates an image now is application code, not fixed-function logic.
Both gpu makers should make their drivers and hardware so they don't conflict with any games.
A huge part of that is *not screwing with what the game is trying to do behind its back*! Otherwise the next game patch or driver update could very well break things again.
Microsoft is who screwed over bw compatibility. On the other hand, you play any opengl game and if it's in 32 bit color, then it improves with each new generation of hw. DX5,6,7 games are busted on later hw.
I agree that DX5/6/7 were poor 3D APIs compared to OpenGL, but OpenGL has since become so incredibly outdated and irrelevant that there's simply no argument anymore. (Also note that I specifically stated talking about DX9/10+ rendering engines.) If OpenGL was updated to what is required/expected by modern rendering engines, it would have exactly the same "issues" as DX here: drivers can no longer expect to pull nearly as much crap behind the application's back because most of the rendering is now handled by user code. Thus typically you're restricted to performance optimizations, because - and let me stress - *there is no reasonable and robust way to impose things like AA on a modern rendering engine*, which may well be doing *anything* with the data in its buffers/render targets. The days of "I fire off a bunch of triangles and textures to the GPU and it does all the rendering and gives me back a framebuffer" are long gone, thank goodness.
Think about how 3dfx was so much better than the competition. It was b/c they weren't limited by microsoft's stupid regulations.
Ironically, you're arguing against yourself here ;)
2008 IQ is unacceptable
13-Nov-2008, 18:07
Not true - quite the opposite in fact. Note that NVIDIA currently has no DX10.1-supporting cards while ATI does. Now the main point here is that everyone conspires on the new DX specs, but having Microsoft involved helps to push things along and at the same time drive compatible features, which in this day and age is an absolute necessity. No one is going to ship a game that only works on one vendors graphics cards...
If you're talking about what I think you are, this was never officially supported in any API that I know of, and indeed is one of those silly backend hacks that works in a few cases and falls flat in a lot of other legitimate ones. Great for DX5/6/7/8 games, but silly beyond that.
I know it was never supported by any api, but games shouldn't have severe alpha texture aliasing.
The x360 only does 4x rgms and things like grass shimmer like crazy.
Indeed, but it doesn't prevent you from doing more in either of those cases. Even NVIDIA's CSAA modes are supported just fine through the DX interfaces.
As I mentioned above, those days are rightfully gone as it is unreasonable to develop software for a specific GPU. Conversely, rendering has gotten to the level of programmability and generality that drivers can no longer safely infer how rendering is being done, as most of stuff that generates an image now is application code, not fixed-function logic.
Fixed function has advantages, though, b/c it requires less programming. It's just turned on or off. I wish shaders were only used for special fx. Look at how lousy aa looks on games that only do it thru shaders. With fixed function, the game doesn't suffer if the programmers are lazy. With everything being done by shaders, lazy programming, which is very common these days, ruins games.
A huge part of that is *not screwing with what the game is trying to do behind its back*! Otherwise the next game patch or driver update could very well break things again.
I agree that DX5/6/7 were poor 3D APIs compared to OpenGL, but OpenGL has since become so incredibly outdated and irrelevant that there's simply no argument anymore. (Also note that I specifically stated talking about DX9/10+ rendering engines.) If OpenGL was updated to what is required/expected by modern rendering engines, it would have exactly the same "issues" as DX here: drivers can no longer expect to pull nearly as much crap behind the application's back because most of the rendering is now handled by user code. Thus typically you're restricted to performance optimizations, because - and let me stress - *there is no reasonable and robust way to impose things like AA on a modern rendering engine*, which may well be doing *anything* with the data in its buffers/render targets. The days of "I fire off a bunch of triangles and textures to the GPU and it does all the rendering and gives me back a framebuffer" are long gone, thank goodness.
Ironically, you're arguing against yourself here ;)
digitalwanderer
13-Nov-2008, 20:13
Why is some of your text blue? :|
Betanumerical
13-Nov-2008, 20:17
Why is some of your text blue? :|
because he could
digitalwanderer
13-Nov-2008, 20:21
because he could
http://www.elitebastards.com/forum/images/smiles/biglol.gif
2008 IQ is unacceptable
13-Nov-2008, 22:30
2 more questions:
1. if bionic commando has a dx10 mode, then would hw msaa and trss be possible?
2. is matrix path of neo supposed to work with aa? I only tried it with one driver (I forgot which one) a while back and aa wasn't applied, so I was wondering if anyone knew if it was just a driver issue, or if the game doesn't allow aa.
Sc4freak
13-Nov-2008, 22:35
Fixed function has advantages, though, b/c it requires less programming. It's just turned on or off. I wish shaders were only used for special fx. Look at how lousy aa looks on games that only do it thru shaders. With fixed function, the game doesn't suffer if the programmers are lazy. With everything being done by shaders, lazy programming, which is very common these days, ruins games.
Good luck trying to do any half-decent graphics (by today's standards) using only fixed-function.
Go boot up your favourite DX7 game. Do you notice how it doesn't look anywhere near as good as Crysis does? Or, heck, go run Half-Life 2 and run it in DX7 mode (which is purely fixed-function). It'll look much worse than DX9 mode.
I'd also like to point out that fixed-function in modern hardware is emulated by shaders by the drivers. Fixed-function hardware doesn't even exist any more. So there's nothing inherently wrong with shaders that cause your so-called "lousy aa".
Andrew Lauritzen
13-Nov-2008, 22:49
I'd also like to point out that fixed-function in modern hardware is emulated by shaders by the drivers. Fixed-function hardware doesn't even exist any more. So there's nothing inherently wrong with shaders that cause your so-called "lousy aa".
Yes indeed. The point here is that if a modern game has lousy AA, by all means fault the game (I do)! All of the "tools" of the fixed-function days are still available for the application to use, so it's not like they can't get as good "quality" as DX7 apps (in fact, it's quite trivial). What *has* changed is now it's more of the application building a rendered frame using the given tools rather than basically the GPU building a rendered frame with a few sliders for the application to play with. It's thus no longer appropriate (or safe) for the GPU to try and impose a hammer on the application when it may not even be using nails... or wood... or even building something.
Arnold Beckenbauer
13-Nov-2008, 22:58
Question: Why don't you use the forum's search?
Why don't games using the GRAW engine allow aa?
http://forum.beyond3d.com/showthread.php?t=36790
Could nvidia make a driver to allow any aa mode to be forced from the control panel?
They did it for STALKER (DX9).
Also, what HW/rendering technique/game engine limitation prevents control panel aa from working?
It's game developers, who use strange technologies like Deferred Rendering, and Microsoft/DirectX9, which don't allow to do MSAA on MRTs or to read back from Z-Buffer.
The funny thing is: Rainbow Six Vegas 2 uses UE3 and there is no problems to use MSAA without IHVs' hacks.
--------------------------------------------------------------->
What does DX10.1 add vs. DX10 that makes such a big difference? (deferred shading) (http://forum.beyond3d.com/showthread.php?t=45548)
AlStrong
13-Nov-2008, 23:08
Question: Why don't you use the forum's search
Dood... it's not a fixed function. It requires some programming to get it to do what you want.
Betanumerical
13-Nov-2008, 23:15
Dood... it's not a fixed function. It requires some programming to get it to do what you want.
ERROR: Can not find 'Forum Search' in "FIXED FUNCTION".
In all seriousness, your best off googling why, google is this great new service which allows you to search the internet, its kinda like a library for the internet without the fee's.
digitalwanderer
13-Nov-2008, 23:54
I'm pretty sure Google isn't a fixed function either though. :(
Very poor showing there gais. Ceilingcat has lost its faith in you.
The problem with forced AA or any other forced setting is that is changes the specified hardware behaviour. New games do much more than render visible pixels using the GPU. Only color buffers can be antialiased properly (and not even all the color buffers). Buffers containing for example normal vectors, object IDs, material IDs, indexes, memory addesses or any other discrete data cannot be properly antialiased. Nasty things happen if for example the driver forces your physics simulation render target buffer to be antialiased.
As the hardware or driver does not know what you are doing with the buffer, it cannot change the rendering behaviour.
ShaidarHaran
14-Nov-2008, 13:33
I just hope none of the mockers are teachers.
But it's cool for the ostensible student to mock devs as lazy b/c he doesn't know any better, right? Not everyone is willing to explain the many trade-offs made in producing a console, a game, and consumer-level 3D in general every time they answer in a technical forum, probably for the same reason you found it easier to browbeat than to post a technical reply.
Just about every answer in this thread could have been found by searching these forums for "graw anti aliasing (http://forum.beyond3d.com/search.php?searchid=948715)." Not to mention that none of 2008 IQ's posts in this thread meet the bar set by the forum description. When the OP flaunts the rules, don't be surprised by some gentle push-back. While I won't condone mockery as a principle form of reply, in some cases it's a valid one--and it's not necessarily devoid of educational value. Responsibility is a two way street. For instance, 2008 IQ has the responsibility of selecting the right forum to create a thread in (which isn't always clear, granted), taking the time to compose a useful thread title, and then taking the time to compose a usefully formatted reply (say, with the multi-quote feature--again, perhaps not obvious). None of them a big deal, but taken together, indicative of a lack of engagement beyond pronouncing how things should be without a willingness to discuss why things are.
Besides, if video cards can be fun, it stands to reason that replies can be funny. :)
Anyway, thread moved to 3D Beg's Q's, where it belongs.
2008 IQ is unacceptable
17-Nov-2008, 15:03
How do the benefits of deferred shading outweigh the cost of no hw aa? I know it makes it easier to develop games, and might provide a good performance benefit, but they didn't have it before. i know that one could argue that graphics didn't used to be this complex, but then that's not really a good argument, b/c as time goes on, things grow proportionally in terms of complexity.
I honestly think that as time has gone on, tech has kind of gone backwards just as much as it has gone forwards. i mean, we had nearly perfect aa like 8.5 years ago with 3dfx. I'm also apparently the only one who cares about aa quality and compatibility. bugs the hell out of me.
another question: if aa is so much better (and i've heard that it's easier too) thru shaders, then why we haven't we acheived aa nirvana? we've had dx 10 hw for 2 years this month now. developers, i would imagine, have had accesss to the programming tools and maybe even hw, even longer.
I would never pirate a game, but sometimes I don't know why the devs are complaining about piracy when they can't just make the effort to program a game without deferred shading. seriously.
I would never pirate a game, but sometimes I don't know why the devs are complaining about piracy when they can't just make the effort to program a game without deferred shading. seriously.
they can they didnt want to
Andrew Lauritzen
17-Nov-2008, 19:51
How do the benefits of deferred shading outweigh the cost of no hw aa?
In about a billion ways. And HW MSAA can still be used a in DX10 and beyond, it just takes a bit of work and is more expensive performance-wise. And the driver isn't smart enough to do it itself.
I honestly think that as time has gone on, tech has kind of gone backwards just as much as it has gone forwards. [...] I'm also apparently the only one who cares about aa quality and compatibility.
Total BS. Come on. Do you want us to take the time to respond to you or not?
another question: if aa is so much better (and i've heard that it's easier too) thru shaders, then why we haven't we acheived aa nirvana?
You clearly have fundamentally misunderstood how MSAA and AA in general works and how it interacts with the programmable shading pipeline.
I would never pirate a game, but sometimes I don't know why the devs are complaining about piracy when they can't just make the effort to program a game without deferred shading. seriously.
Seriously. You have no idea what you're talking about with respect to deferred shading. You need to do a lot more research before you get angry and make these kind of statements. You have succeeded in sapping my motivation to actually help to educate you on how this stuff works, so you're on your own.
Just realize that the opinions represented in your posts in this thread so far are generally just wrong. Yes we all like AA and we all want it to be good, but there are many factors that have changed from the days of rendering a single, unlit, textured polygon. Feel free to keep playing those games in any case, but your arguments do not apply or generalize to modern game rendering. So seriously, do yourself a favor and go read up and don't come post back in a similar vein until you realize why you're wrong.
Sorry that I'm being a jerk here, but you're throwing stones that you have no right to even pick up...
2008 IQ is unacceptable
17-Nov-2008, 21:12
I don't expect bionic commando to support hw msaa and trss. trust me, i'll be the only one that's pissed off.
if it works with msaa, it probably will still have a lot of alpha-aliasing, b/c 4x ogms is probably enough for most people, even though it looks like complete shit and doesn't even do that much. I don't know why that's exceptable to so many people. I can't stand grass and shit that shimmers.
I'm not trying to troll, but the bottom line is that no sincere effort is being made by anyone these days, unless they intend to make udder shit, then they're making effort in spades and doing quite well. I realize i don't understand how a lot of this works, but I still doubt that any sincere effort is being made to make games look (or sound) good wholly.
Albuquerque
17-Nov-2008, 21:36
I realize i don't understand how a lot of this works, but I still doubt that any sincere effort is being made to make games look (or sound) good wholly.
So you don't understand how it works, but you're sure that nobody is putting effort to it? I have the perfect emoticon for this statement:
http://forums.clubsi.com/images/graemlins/default/suicide-santa.gif
How about if we make it blunt: stop saying utterly stupid things (like the fine example above) and people might respond to you in a more positive manner.
if it works with msaa, it probably will still have a lot of alpha-aliasing, b/c 4x ogms is probably enough for most people, even though it looks like complete shit and doesn't even do that much. I don't know why that's exceptable to so many people. I can't stand grass and shit that shimmers.
Neither nvidia nor ATI is using 4x OGMS, so, yet again, your comments are off-base.
I'm not trying to troll, but the bottom line is that no sincere effort is being made by anyone these days, unless they intend to make udder shit, then they're making effort in spades and doing quite well. I realize i don't understand how a lot of this works, but I still doubt that any sincere effort is being made to make games look (or sound) good wholly.
You started trolling when you created your name. You started trolling with your very first post.
You have made no sincere effort to learn anything about the topics you create or to which you reply. If you want to learn something, read more/post less.
3dfx never had to deal with per pixel lighting. Fixing aliasing with per pixel lighting is expensive, which is why most games don't bother. Apparently, developers (i.e. people with a lot more knowledge then you) chose to focus on other aspects of their engine and not obsess over aliasing.
3D graphics rendering requires a lot of compromises. If you want "perfect" rendering, then use a CPU and wait a couple hours for a single frame. Your compromise is time. If you don't care about framerates, your software rendering can try to compete with Pixar and Dreamworks. If you want interactive framerates, then you have to make choices about what you want to achieve and how much quality you need.
-FUDie
2008 IQ is unacceptable
17-Nov-2008, 22:32
Neither nvidia nor ATI is using 4x OGMS, so, yet again, your comments are off-base.
You started trolling when you created your name. You started trolling with your very first post.
You have made no sincere effort to learn anything about the topics you create or to which you reply. If you want to learn something, read more/post less.
3dfx never had to deal with per pixel lighting. Fixing aliasing with per pixel lighting is expensive, which is why most games don't bother. Apparently, developers (i.e. people with a lot more knowledge then you) chose to focus on other aspects of their engine and not obsess over aliasing.
3D graphics rendering requires a lot of compromises. If you want "perfect" rendering, then use a CPU and wait a couple hours for a single frame. Your compromise is time. If you don't care about framerates, your software rendering can try to compete with Pixar and Dreamworks. If you want interactive framerates, then you have to make choices about what you want to achieve and how much quality you need.
-FUDie
I know they don't use 4x ogms. I was just speaking figuratively.
i have a question
does ssaa work with defered rendering so far ive found confilciting answers
Sc4freak
18-Nov-2008, 03:09
i have a question
does ssaa work with defered rendering so far ive found confilciting answers
SSAA should work. Even if it's a brute force render-at-quadruple-resolution-and-downsample, it's still SSAA.
exceptable
Acceptable.
udder
Utter.
wholly.
Wholl--wait a minute, how the hell did you get that one right? :lol:
Look, 2008 IQ, I appreciate a good rant as much as anyone, but the last, lamentable paragraph of this post of yours (which I have trouble even quoting, I'd so rather not see it again) doesn't belong anywhere in these forums. It's totally incompatible with the spirit of discovery and education and general fun we're supposed to be having with 3D. And it's wholly at odds with the developers whose contributions and thoughts delight us fans and amateurs. If you don't think there are smart people dedicated to giving you the best graphics they can with the constraints their given, then you haven't read, say, anything about nAo's (and DeanoC's!) work on shoehorning HDR and AA into Heavenly Sword. In the spirit of searching the treasure trove of good info in these forums, try entering nao32 into that flat-shaded, wildly un-aliased Search box up there. That's just for starters.
MDolenc
18-Nov-2008, 05:25
I know they don't use 4x ogms. I was just speaking figuratively.
Yes they use 4x rgms. Which is the same as Voodoo 5, which was already almost perfect. Added to that todays hardware also supports gamma correct aa, CSAA or does it in the shaders altogether, supports floating point render targets, supports alpha to coverage,... And added to that drivers allow you to force any of the this settings on any game you wish. So how can it be less perfect then Voodoo 5?
OpenGL guy
18-Nov-2008, 09:06
Yes they use 4x rgms. Which is the same as Voodoo 5, which was already almost perfect.
Pretty sure Voodoo 5 did RGSS as I recall textures being cleaned up. On the Voodoo 5 6000, each chip rendered a slightly jittered result and then the results were combined for 4x RGSS, I believe. Also, I think the 2-chip 5500 could do 4xAA, but then each chip had to render 2 jittered samples.
Simon F
18-Nov-2008, 10:30
Pretty sure Voodoo 5 did RGSS
Indeed. V5 did have RGSS (AKA sparse sampling) as confirmed by this blast from the B3D past (http://www.beyond3d.com/content/articles/37/5).
Panajev2001a
18-Nov-2008, 10:48
Yes they use 4x rgms. Which is the same as Voodoo 5, which was already almost perfect. Added to that todays hardware also supports gamma correct aa, CSAA or does it in the shaders altogether, supports floating point render targets, supports alpha to coverage,... And added to that drivers allow you to force any of the this settings on any game you wish. So how can it be less perfect then Voodoo 5?
Because in many cases the jump to 720p/1080p (I am talking about consoles) burned a lot of fill-rate shading power not leaving that much rendering time to allow to turn MSAA on (to 2-4x or at all in some cases although MSAA is very useful for rendering reduced resolution buffers faster... see smoke/dust particles in many games) let alone good ol' FSAA as the advent of fragment shaders allowed the thought solved problem of surface aliasing to come back angrier than ever ;).
MDolenc
18-Nov-2008, 12:06
Ah, forgot about super sampling... Yes that is one option missing currently in AA.
nhancer allows you to select it for nv cards
some of the built in profiles probably use it
it may be used when you select the high quality option in the control panel
AlStrong
18-Nov-2008, 14:49
Pretty sure Voodoo 5 did RGSS as I recall textures being cleaned up. On the Voodoo 5 6000, each chip rendered a slightly jittered result and then the results were combined for 4x RGSS, I believe.
Why haven't current IHVs made RGSS available for SLI/Crossfire setups :?: (besides annoying reviewers with even more modes :p )
2008 IQ is unacceptable
19-Nov-2008, 03:47
Yes they use 4x rgms. Which is the same as Voodoo 5, which was already almost perfect. Added to that todays hardware also supports gamma correct aa, CSAA or does it in the shaders altogether, supports floating point render targets, supports alpha to coverage,... And added to that drivers allow you to force any of the this settings on any game you wish. So how can it be less perfect then Voodoo 5?
Voodoo5 used rgms. but i was playing mdk2 earlier today, with 4x rgms + 2x2 SS
(aka 16xS) AA and it wasn't quite perfect. I was surprised when i saw moire in some transparent textures, as well as the fact that edging wasn't quite perfect. I had trss checked as well as gamma aa. Not sure if either one of those did anything in addition to the high aa mode.
Pretty sure Voodoo 5 did RGSS as I recall textures being cleaned up. On the Voodoo 5 6000, each chip rendered a slightly jittered result and then the results were combined for 4x RGSS, I believe. Also, I think the 2-chip 5500 could do 4xAA, but then each chip had to render 2 jittered samples.
Indeed. V5 did have RGSS (AKA sparse sampling) as confirmed by this blast from the B3D past (http://www.beyond3d.com/content/articles/37/5).
I thought sparse sampling was random samples (like ati's old 6x msaa mode?) Or is anything but an OG pattern considered JG.
Ah, forgot about super sampling... Yes that is one option missing currently in AA.
nhancer allows you to select it for nv cards
some of the built in profiles probably use it
it may be used when you select the high quality option in the control panel
Why haven't current IHVs made RGSS available for SLI/Crossfire setups :?: (besides annoying reviewers with even more modes :p )
I think what they should do, is just make 4x RGSS the only hw aa mode, force it thru the drivers, and the gpu makers, microsoft, and the game developers do something to make it 100% compatible. There's some way they could work it out. That would cut down on a helluva lot of confusion. Nothing beats 4x RGSS and nothing ever will. I know that most games would require the the highest end single card and that the highest playable res for new games would be 1680x1050, but that's a hell of a lot better than no aa at 2560x1600. Look at alone in the dark and matrix path of neo at max res. Ruins the entire experience for me.
Tim Murray
19-Nov-2008, 05:01
guys
guys
you aren't even TRYING to make games look good :evil:
Nothing beats 4x RGSS and nothing ever will.
It's statements like this which set your Idiot Bit permanently.
MDolenc
19-Nov-2008, 08:01
Voodoo5 used rgms. but i was playing mdk2 earlier today, with 4x rgms + 2x2 SS
(aka 16xS) AA and it wasn't quite perfect. I was surprised when i saw moire in some transparent textures, as well as the fact that edging wasn't quite perfect. I had trss checked as well as gamma aa. Not sure if either one of those did anything in addition to the high aa mode.
As it was already pointed out by OpenGL guy and Simon F, Voodoo 5 used rotated grid supersampling. You can use supersampling or a multisampling/supersampling combo on NV cards, but supersampling is done on an ordered grid not on a rotated/sparse/jittered one.
I think what they should do, is just make 4x RGSS the only hw aa mode, force it thru the drivers, and the gpu makers, microsoft, and the game developers do something to make it 100% compatible. There's some way they could work it out. That would cut down on a helluva lot of confusion. Nothing beats 4x RGSS and nothing ever will. I know that most games would require the the highest end single card and that the highest playable res for new games would be 1680x1050, but that's a hell of a lot better than no aa at 2560x1600. Look at alone in the dark and matrix path of neo at max res. Ruins the entire experience for me.
Well you would then get about the same framereate at 1280x800 with 4x AA as you get now at 2560x1600 with no AA...
And again as it also has been pointed out in this thread already you just can't force AA on to everything and expect it to work just fine! It can happen that game renders geometry data to render target an AA will brake that. What do you imagine would for example happen in older GPGPU applications that are running through D3D/OpenGL API if you were to force AA?
2008 IQ is unacceptable
19-Nov-2008, 15:34
As it was already pointed out by OpenGL guy and Simon F, Voodoo 5 used rotated grid supersampling. You can use supersampling or a multisampling/supersampling combo on NV cards, but supersampling is done on an ordered grid not on a rotated/sparse/jittered one.
Well you would then get about the same framereate at 1280x800 with 4x AA as you get now at 2560x1600 with no AA...
And again as it also has been pointed out in this thread already you just can't force AA on to everything and expect it to work just fine! It can happen that game renders geometry data to render target an AA will brake that. What do you imagine would for example happen in older GPGPU applications that are running through D3D/OpenGL API if you were to force AA?
Correct, but what I was saying was that dx could've been written so that the things conflicting with forced aa could be changed, removed, or replaced with something else that didn't conflict.
I do know that as it is now, it's not possible for aa to be forced 100% of the time and work perfectly. However, Microsoft could spec the next dx version to allow 4x RGSS thru HW(ROPs?) if they wanted to, right?; some things would have to be changed, but I'm sure they could replace limiting factors with non-limiting factors or do some kind of work-around. Plus, they only would only have to do that with one aa type.
The other thing, is that the performance hit wouldn't be that harsh with a gtx 280.
Couldn't they probably design the next hw w/ a lossless color compression ratio of 8:1? That could take care of the performance hit; plus the next hardware will be faster.
Also, sorry about the typo=] I meant to type "RGSS" not "RGMS."
The other thing, is that the performance hit wouldn't be that harsh with a gtx 280.
even if thats true, very few people have a top of the range card
homerdog
19-Nov-2008, 16:12
It's statements like this which set your Idiot Bit permanently.
Is he not correct, at least as far as IQ is concerned? If course RGSS isn't ideal from an IQ/performance perspective.
Betanumerical
19-Nov-2008, 16:30
Nothing beats 4x RGSS and nothing ever will.
4x4 SSAA.
I dare say it beats 4x RGSS.
Simon F
19-Nov-2008, 16:39
4x4 SSAA.
I dare say it beats 4x RGSS.
I've done 10000 samples per pixel (lower right example (http://web.onetel.net.uk/~simonnihal/assorted3d/examples.png)) ....but it's maybe a bit slow .:grin:
I want alaising to be solved a different way
by having monitors with extremely high dpi
my printer does 2400dpi so why not my monitor
maybe one day.....
nutball
19-Nov-2008, 17:54
my printer does 2400dpi
Does it? Are you sure? Printer resolutions have been overstated for years, quoting various measures which are only vaguely related to real resolution (deliberately quoting dot pitch rather than dot size).
Anyway 240dpi LCDs already exist, my old mobile phone had one. Then of course there's the Big Berthas. It would be nice if such a DPIage became mainstream for PC 30" monitors I agree.
homerdog
19-Nov-2008, 17:58
4x4 SSAA.
I dare say it beats 4x RGSS.
But rotated grid supersampling would look better than 4x4 SS given the same number of samples, right? I mean 4x4 SS is 4 times as many samples as 4xRGSS :???:. You could get 16xRGSS at that cost..??
Please correct me if I'm wrong as I'd like to know :smile:
The other thing, is that the performance hit wouldn't be that harsh with a gtx 280.
Why not? You'd be essentially rendering at 4x the resolution. If that doesn't result in a harsh hit, then the game's got other problems (i.e., it's leaving other things on the table).
If I remember Voodoo 5 benchmarks, 3dfx's AA meant that if a V5 4500 got 40fps, then it'd get 20fps with 2xAA and 10fps with 4xAA. A V5 5500 would get 40fps with 2xAA or 20fps with 4xAA b/c it was literally twice the card. And the V5 6k would've allowed you to game with the full 40fps at 4xAA, courtesy of its four 4500's on an acre of PCB. So, all it took back in the day was four times the rendering power (GPUs and mem chips and power draw) to allow for 3dfx's sweet AA.
I suppose cards have gotten more efficient since then (various compression schemes and things like HyperZ), but I imagine 4x the rendering load amounts to pretty much 4x the rendering load, no matter what.
AFAIK, color compression saves bandwidth and bandwidth demand per pixel goes down as the resolution goes up (according to the people here who actually know what they're talking about, as opposed to me). But I'm not sure bandwidth is our only concern. It's brute-force oversampling which yields diminishing returns at the consumer level.
homerdog, we'd all take Simon's 10,000 samples, all else being equal. But it seems like not all of us realize they don't come for free.
Doesn't CrossFire have a SuperAA mode that's basically SSAA on top of the usual MSAA? Seems (emphasis on I don't know what I'm talking about) like the easiest way to accomplish what IQIU wants is to just "SLI" as many cards as you want extra samples (with the attendant extra latency--another annoyance on IQIU's list ;)--to combine the buffers).
Edit: Oh, sure, shine my ignorance from the top of a new page. :P
I've done 10000 samples per pixel (lower right example (http://web.onetel.net.uk/~simonnihal/assorted3d/examples.png)) ....but it's maybe a bit slow .:grin:
Good job there, bringing a tactical nuke to knife fight:P
Why not? You'd be essentially rendering at 4x the resolution. If that doesn't result in a harsh hit, then the game's got other problems (i.e., it's leaving other things on the table).
If I remember Voodoo 5 benchmarks, 3dfx's AA meant that if a V5 4500 got 40fps, then it'd get 20fps with 2xAA and 10fps with 4xAA. A V5 5500 would get 40fps with 2xAA or 20fps with 4xAA b/c it was literally twice the card. And the V5 6k would've allowed you to game with the full 40fps at 4xAA, courtesy of its four 4500's on an acre of PCB. So, all it took back in the day was four times the rendering power (GPUs and mem chips and power draw) to allow for 3dfx's sweet AA.
I suppose cards have gotten more efficient since then (various compression schemes and things like HyperZ), but I imagine 4x the rendering load amounts to pretty much 4x the rendering load, no matter what.
AFAIK, color compression saves bandwidth and bandwidth demand per pixel goes down as the resolution goes up (according to the people here who actually know what they're talking about, as opposed to me). But I'm not sure bandwidth is our only concern. It's brute-force oversampling which yields diminishing returns at the consumer level.
homerdog, we'd all take Simon's 10,000 samples, all else being equal. But it seems like not all of us realize they don't come for free.
Doesn't CrossFire have a SuperAA mode that's basically SSAA on top of the usual MSAA? Seems (emphasis on I don't know what I'm talking about) like the easiest way to accomplish what IQIU wants is to just "SLI" as many cards as you want extra samples (with the attendant extra latency--another annoyance on IQIU's list ;)--to combine the buffers).
Edit: Oh, sure, shine my ignorance from the top of a new page. :P
There's little to compress for Supersampling, so you'd get no significant benefits from colour compression. Memory requirements would scale pretty much linearly with a bog standard SSAA implementation.
You're also going to have to do X times the per pixel work (where x is the AA count you employ)- do we really want to do that given the fact that shader complexity is constantly growing? IMHO, the benefits are far outweighed by the costs for standard SSAA, in spite of nostalgia for the good times gone by (?):D
3dfx simply existed in a different time, and in a different landscape, the realities have changed. That being said, your idea is quite neat (considering Multi-GPUs for IQ enhancement, rather than simply pushing more zomglolwut FRAPS framerates). IHVs don't seem to agree yet (ignoring some of the technical hurdles).
Why not? You'd be essentially rendering at 4x the resolution. If that doesn't result in a harsh hit, then the game's got other problems (i.e., it's leaving other things on the table).
If I remember Voodoo 5 benchmarks, 3dfx's AA meant that if a V5 4500 got 40fps, then it'd get 20fps with 2xAA and 10fps with 4xAA. A V5 5500 would get 40fps with 2xAA or 20fps with 4xAA b/c it was literally twice the card. And the V5 6k would've allowed you to game with the full 40fps at 4xAA, courtesy of its four 4500's on an acre of PCB. So, all it took back in the day was four times the rendering power (GPUs and mem chips and power draw) to allow for 3dfx's sweet AA.
I suppose cards have gotten more efficient since then (various compression schemes and things like HyperZ), but I imagine 4x the rendering load amounts to pretty much 4x the rendering load, no matter what.
AFAIK, color compression saves bandwidth and bandwidth demand per pixel goes down as the resolution goes up (according to the people here who actually know what they're talking about, as opposed to me). But I'm not sure bandwidth is our only concern. It's brute-force oversampling which yields diminishing returns at the consumer level.
homerdog, we'd all take Simon's 10,000 samples, all else being equal. But it seems like not all of us realize they don't come for free.
Doesn't CrossFire have a SuperAA mode that's basically SSAA on top of the usual MSAA? Seems (emphasis on I don't know what I'm talking about) like the easiest way to accomplish what IQIU wants is to just "SLI" as many cards as you want extra samples (with the attendant extra latency--another annoyance on IQIU's list ;)--to combine the buffers).
Edit: Oh, sure, shine my ignorance from the top of a new page. :P
Well the Voodoo 5 4500 could only do 2x fsaa in the first place since the vsa-100 could only do 2 AA samples per chip.
I wouldnt want to the see the performance of 4x aa on a 4500 :lol:
Also back in it's day the voodoo 5 did have better AA performance and obviously quality than the geforce 2 gts and radeon so it was clearly the best solution back then.
2008 IQ is unacceptable
19-Nov-2008, 21:15
processing 4x the resolution isn't really that much of performance-killer. I know it takes 4x as much pixel/texel processing power, but it wouldn't be that far off from 16xQ AA plus trss. With RGSS you don't really need as many samples as you do with aa. Also, if the only hw aa mode was 4x RGSS, then that would save transistors (no color compression, no csaa, no msaa) allowing for more rops, and less heat, which would allow higher clock speeds.
They could always optimize voltage, clock speed, and number of rops.
Another thing to keep in mind, is many games still use a meager 32 bit frame buffer, which as dmc 4 proves, can give unnecessarily high frame rates. my parents' iceq3 x1900xtx runs the ingame benchmark at more than 60 constantly (don't know how much above, since i didn't bother to turn vsync off) That with highest quality driver settings as well as in game settings maxed, except shadows set to off. and it was at 1280x800. So something needs to fill in the void for cards that are 3 years newer than something that can run something at or above 60fps at all times.
No multi-gpu setup is necessary.
OpenGL guy
19-Nov-2008, 21:26
processing 4x the resolution isn't really that much of performance-killer. I know it takes 4x as much pixel/texel processing power, but it wouldn't be that far off from 16xQ AA plus trss.
Incorrect. TRSS doesn't affect every pixel, only those that have "texture" edges (i.e. alpha test or texkill). Super sampling affects every pixel.
With RGSS you don't really need as many samples as you do with aa. Also, if the only hw aa mode was 4x RGSS, then that would save transistors (no color compression, no csaa, no msaa) allowing for more rops, and less heat, which would allow higher clock speeds.
Less heat? How do you do 4 times as much work and expect to get less heat? Color compression saves work. MSAA saves work. CSAA saves work. You've got everything backwards.
They could always optimize voltage, clock speed, and number of rops.
You don't think that's done now? *scratch*
Color compression saves work. MSAA saves work. CSAA saves work. You've got everything backwards.
I think you are forgetting this guy's entire reason for joining this forum: to rant about how the image quality we get from todays graphics processors is unacceptable.
He does it by spouting misconceptions and FUD. Saving work = optimizations and as we all know, optimizations are EVIL.
He is the very definition of a troll, except that he may not know it himself.
ShaidarHaran
19-Nov-2008, 21:42
I think you are forgetting this guy's entire reason for joining this forum: to rant about how the image quality we get from todays graphics processors is unacceptable.
He does it by spouting misconceptions and FUD. Saving work = optimizations and as we all know, optimizations are EVIL.
So why not work to correct those misconceptions, instead of bashing him for them?
He is the very definition of a troll, except that he may not know it himself.
That's funny. You have no idea how sheltered B3D's forums are compared to the majority of internet forums if you think this guy is a troll. Trolling consists of posting inflammatory subject matter, usually of a personal nature. 2008IIU has done no such thing here.
So why not work to correct those misconceptions, instead of bashing him for them?
That's funny. You have no idea how sheltered B3D's forums are compared to the majority of internet forums if you think this guy is a troll. Trolling consists of posting inflammatory subject matter, usually of a personal nature. 2008IIU has done no such thing here.
No, but he is trying to elicit emotional responses by posting nonsense. Have you read the other threads he's been in? We have tried correcting his misconceptions, we have tried and tried, but he persists with it. That is trolling.
Anyway, I've said my part and I'm out of this thread. :)
homerdog
19-Nov-2008, 22:05
homerdog, we'd all take Simon's 10,000 samples, all else being equal. But it seems like not all of us realize they don't come for free.
I didn't mean to imply that supersampling was cheap, just assuming that RGSS yields better IQ than ordered grid SS for more or less the same cost. Am I correct in making that assumption?
MDolenc
19-Nov-2008, 22:48
Correct, but what I was saying was that dx could've been written so that the things conflicting with forced aa could be changed, removed, or replaced with something else that didn't conflict.
How would you do that? We are in more or less totally programmable waters now. Will you go to developers and say: "You can do whatever you want, but please for the love of God, don't render anything else then images into render targets"? Games do alot more complex algorithms today then they did in Voodoo 3 era. Ideally every application would be aware of AA and present you with a nice option to enable x sample AA and only create AA render targets only when it actually can.
I do know that as it is now, it's not possible for aa to be forced 100% of the time and work perfectly. However, Microsoft could spec the next dx version to allow 4x RGSS thru HW(ROPs?) if they wanted to, right?;
What's preventing anyone right now not to implement 4x RGSS from D3D side? Nothing. Performance is a huge problem though. Compression doesn't help much as others have already told you. You also need to take into account 4x the pixel shader power requirements...
That's why instead of going brute force a ton of other features were brought into hardware. MSAA for edge AA, anisotropic filtering to improve texture detail inside triangles, TRSS/TRMS to improve edges resulting from transparency (texture kill, alpha tests)...
2008 IQ is unacceptable
20-Nov-2008, 02:56
Incorrect. TRSS doesn't affect every pixel, only those that have "texture" edges (i.e. alpha test or texkill). Super sampling affects every pixel.
Less heat? How do you do 4 times as much work and expect to get less heat? Color compression saves work. MSAA saves work. CSAA saves work. You've got everything backwards.
You don't think that's done now? *scratch*
I didn't say it did, but it still affects some pixels just as much as FSRGSS would.
I know that they save work; what I meant was that they still require transistors (unless they're being secretly emulated thru shaders, lol) which if you have more transistors, then you have more heat or have to lower clock speeds, iirc. Of course, I could be wrong about that.
If you removed 16xq m/csaa and color compression and replaced them with only 4x RGSS, then I don't know that there would be a huge transistor difference. I could be wrong, but anyways.
How would you do that? We are in more or less totally programmable waters now. Will you go to developers and say: "You can do whatever you want, but please for the love of God, don't render anything else then images into render targets"? Games do alot more complex algorithms today then they did in Voodoo 3 era. Ideally every application would be aware of AA and present you with a nice option to enable x sample AA and only create AA render targets only when it actually can.
What's preventing anyone right now not to implement 4x RGSS from D3D side? Nothing. Performance is a huge problem though. Compression doesn't help much as others have already told you. You also need to take into account 4x the pixel shader power requirements...
That's why instead of going brute force a ton of other features were brought into hardware. MSAA for edge AA, anisotropic filtering to improve texture detail inside triangles, TRSS/TRMS to improve edges resulting from transparency (texture kill, alpha tests)...
Well, a more logical argument I could make is that a voodoo3 is just as much of a leap over an super nes graphical capabilities as a geforce I mean, was anything lost from a riva 128 to a voodoo5?
Too many sacrifices are being made as we go on, and I really don't think that they would have to be made if microsoft either got more creative or quit dictating specs. 3dfx's standards were far better than microsoft would ever attempt, and nvidia outlasted 3dfx, absorbed them, and they're still here 8 years later, so they should be able to meet 3dfx's standards, since most people think they beat 3dfx. Although I'm going to negate my own argument since I believe 3dfx was consumed b/c of their bad business decisions while creating a superior product.
Andrew Lauritzen
20-Nov-2008, 03:16
Too many sacrifices are being made as we go on, and I really don't think that they would have to be made if microsoft either got more creative or quit dictating specs.
And alas, this is where you display your ignorance. I don't mind you wanting better AA and image quality (don't we all). I don't even mind that you don't have a good concept of the performance trade-offs involved in various algorithms and hardware implementations. Hell I'm at the point that I almost don't even mind that even though you've been told the aforementioned things many times now you refuse to listen to people who do know these things.
But the biggest trolling thing about your posts is that you constantly misattribute blame (as if you're in any position to blame anyone...) for these apparent image quality blasphemies. For that last time I'm going to say this, and say it bluntly: if you don't like a game's IQ, do not buy it. If the things that you care about graphically are getting worse, there is no one to "blame" but the game/application developers themselves. There is nothing useful that has been taken away or denied. The APIs are now more flexible than ever while at the same time making many more quality guarantees than in the past. These are indisputable facts, and thus continually posting stuff like the above quote is what drives you out of the realm of useful criticism and far into the realm of trolling.
So seriously: stop ignoring what people are telling you, and do some reading and learning before posting this stuff. You've clearly never even glanced at the DirectX API, so you have no right to be making claims about it.
Anyways I should really just stop reading any of your threads, but as one who hates misinformation and too frequently has to deal with the results of it, I feel a responsibility to correct at least the obvious lies. That said, if you refuse to listen to reason and fact, and instead continue your largely baseless crusade, I doubt that people will show much more patience.
OpenGL guy
20-Nov-2008, 03:18
I know that they save work; what I meant was that they still require transistors (unless they're being secretly emulated thru shaders, lol) which if you have more transistors, then you have more heat or have to lower clock speeds, iirc. Of course, I could be wrong about that.
If you removed 16xq m/csaa and color compression and replaced them with only 4x RGSS, then I don't know that there would be a huge transistor difference. I could be wrong, but anyways.
Your claim is that removing 16xq m/csaa and color compression support would offset the cost of making 4x RGSS fast? It's easy to show that's impossible. Just look at a die shot from a recent GPU and see that the shader core is larger than the rest. Now imagine quadrupling that while removing a few features from the ROPs and scan conversion.
RV770 die shot (http://commons.wikimedia.org/wiki/Image:RV770_Die_Shot.png)
GT200 die shot (http://www.vr-zone.com/articles/Nvidia_GT200_Die_Shot_Exposed/5813.html)
You really think that removing a couple of features from the ROPs and scan conversion is going to make that much difference in clock speeds/heat when the shader cores are so large?
ShaidarHaran
20-Nov-2008, 03:39
2008Iiu - let me ask you this:
Do you think visual quality has generally increased over the years, or decreased?
2008 IQ is unacceptable
20-Nov-2008, 03:50
2008Iiu - let me ask you this:
Do you think visual quality has generally increased over the years, or decreased?
Increased, but many things have been taken away.
But definitely not increased exponentially, as it seems most believe.
Increased proportionally at best.
ShaidarHaran
20-Nov-2008, 04:44
Increased, but many things have been taken away.
But definitely not increased exponentially, as it seems most believe.
Increased proportionally at best.
What specifically do you believe has negatively impacted image quality over the years?
Betanumerical
20-Nov-2008, 04:59
processing 4x the resolution isn't really that much of performance-killer. I know it takes 4x as much pixel/texel processing power, but it wouldn't be that far off from 16xQ AA plus trss. With RGSS you don't really need as many samples as you do with aa. Also, if the only hw aa mode was 4x RGSS, then that would save transistors (no color compression, no csaa, no msaa) allowing for more rops, and less heat, which would allow higher clock speeds.
What makes you think 4x is enough? i was just playing with 4xSSAA to see what you were on about, and i still saw aliasing, hell i still saw bits of aliasing at 16xSSAA and this is at 1600x1200.
Compared to when my framerate doesn't get raped like a cheap hooker with 16xQ AA and SS TSAA i would say the quality increase, if there is any isn't good enough to warrant switching to SSAA.
Simon F
20-Nov-2008, 07:23
But rotated grid supersampling would look better than 4x4 SS given the same number of samples, right? I mean 4x4 SS is 4 times as many samples as 4xRGSS :???:. You could get 16xRGSS at that cost..??
Please correct me if I'm wrong as I'd like to know :smile:
Yes 16x sparse sampling would look better than 16x regular grid sampling.
Good job there, bringing a tactical nuke to knife fight:P
LOL
MDolenc
20-Nov-2008, 11:29
Increased, but many things have been taken away.
But definitely not increased exponentially, as it seems most believe.
Increased proportionally at best.
See, that's your problem... You live in the past!
Across all your threads we can read about:
-palletized textures: Were dropped. However no games released in last couple of years use them anyway (though they could just implement it with shaders). If some old game uses them and it doesn't have fallback it simply won't run if driver does not provide some support for them. So is one of your favorite old games crashing or why is this a problem?
-dithering: Another feature that was dropped. Again no games release in last couple of years have any use for this feature. Only problem are old games that use 16bpp back buffer formats and only those, since many games even back then allowed user to select 32bpp rendering.
-RGSS: Was never really dropped or made illegal by any API or Microsoft. The company that used it simply died and no one else decided to pick it up due to it's huge performance costs (see OpenGL guy's reply).
If you are a game developer and really really want RGSS I'm sure you can implement it in DX10 with geometry shaders or simply looping a couple of times through your pixel shaders with slightly different inputs (you are covered by RGMS for polygon edges).
Such implementation won't be any slower "in software" then it would be "in hardware", since additional work to jitter geometry or to offset interpolated coordinates would be minimal in comparison to increased pixel shader load.
Thowllly
20-Nov-2008, 12:34
If you removed 16xq m/csaa and color compression and replaced them with only 4x RGSS, then I don't know that there would be a huge transistor difference. I could be wrong, but anyways.
It has already been pointed out that your wrong, but since you're so far of the mark...
It's not enough to change the rops to go from 4xrgms to 4xrgss. You would also need 4x the shaders (from 800 to 3200 for Ati) 4x the texture units (40 to 160) 4x the interpolators (32 to 128) 4x the BW (256bit to 1024bit memory bus) and so on. It would be a gigantic chip, with power consumption to match. I don't think it would be even possible to do for nVidia, there are limits to how big chips foundries can make at the moment, something like 33x26mm or thereabouts I think I've read somewhere...
homerdog
20-Nov-2008, 14:46
Yes 16x sparse sampling would look better than 16x regular grid sampling.
Thanks. I take it there wouldn't be much of a performance hit to... um... sparsify the sample points?
Simon F
20-Nov-2008, 16:34
Thanks. I take it there wouldn't be much of a performance hit to... um... sparsify the sample points?
Not a great deal. Obviously in a regular grid there is greater opportunity to share parts of the calculation but I can't see it being massively significant.
Andrew Lauritzen
20-Nov-2008, 17:43
It should be noted that if you're willing to re-project your geometry, any sampling pattern for SS can be implemented trivially in the application at a cost proportional to the number of samples you're taking. If you want to get clever, you can even implement conservative rasterization using geometry shaders and do edge tests in the pixel shader, but I doubt on current architectures that would be a win over the aforementioned "brute force" approach.
processing 4x the resolution isn't really that much of performance-killer.
I did a quick test with ut2004 1680x1050 (aa set to app) ut2004 has no setting for fsaa so i assume it was off got 170fps
forced 4x4 supersampling using nhancer and fps was 80
ShaidarHaran
20-Nov-2008, 18:06
It has already been pointed out that your wrong, but since you're so far of the mark...
It's not enough to change the rops to go from 4xrgms to 4xrgss. You would also need 4x the shaders (from 800 to 3200 for Ati) 4x the texture units (40 to 160) 4x the interpolators (32 to 128) 4x the BW (256bit to 1024bit memory bus) and so on. It would be a gigantic chip, with power consumption to match. I don't think it would be even possible to do for nVidia, there are limits to how big chips foundries can make at the moment, something like 33x26mm or thereabouts I think I've read somewhere...
True, but man what a chip that would be :shock:
I'll take 4, and a nuclear reactor and LN2 cooling with it :p
2008 IQ is unacceptable
20-Nov-2008, 18:24
What specifically do you believe has negatively impacted image quality over the years?
many games don't support aa.
staying with the z-buffer (they seriously need to ditch it, and just use HW programmable clipping with 6 boundaries that can be of any size)
ati no longer supports true trilinear
more distance fog in games today, generally.
we're still using 32 bit frame buffers. (DMC4 used RGB10FPA2FP)
See, that's your problem... You live in the past!
Across all your threads we can read about:
-palletized textures: Were dropped. However no games released in last couple of years use them anyway (though they could just implement it with shaders). If some old game uses them and it doesn't have fallback it simply won't run if driver does not provide some support for them. So is one of your favorite old games crashing or why is this a problem?
-dithering: Another feature that was dropped. Again no games release in last couple of years have any use for this feature. Only problem are old games that use 16bpp back buffer formats and only those, since many games even back then allowed user to select 32bpp rendering.
-RGSS: Was never really dropped or made illegal by any API or Microsoft. The company that used it simply died and no one else decided to pick it up due to it's huge performance costs (see OpenGL guy's reply).
If you are a game developer and really really want RGSS I'm sure you can implement it in DX10 with geometry shaders or simply looping a couple of times through your pixel shaders with slightly different inputs (you are covered by RGMS for polygon edges).
Such implementation won't be any slower "in software" then it would be "in hardware", since additional work to jitter geometry or to offset interpolated coordinates would be minimal in comparison to increased pixel shader load.
I said those are needed for better IQ for older games; what I was saying was that backward compatibility looks like shit, if it even half-way works.
I'm fine with shaders emulating older features and making them look as good as they do on a voodoo5. The problem is, is that they've made no attempt to. I'm not going to be happy until I can play my dx5 and 6 games with 3dfx quality. I really don't think that's too much to ask for, if shaders are as great as people say they are.
To tell you the honest truth, I'm willing to settle for 8x rgms plus trss in every game (all thru hw.) the problem is, is that many games don't even work with that. You can neither force it thru the drivers, nor enable it in game.
staying with the z-buffer (they seriously need to ditch it, and just use HW programmable clipping with 6 boundaries that can be of any size)
Just curious, how do you think the z-Buffer affects image quality? And what does it have to do with clipping? I think you should really look up what a z-Buffer really does.
Why don't games using the GRAW engine allow aa?
Could nvidia make a driver to allow any aa mode to be forced from the control panel?
Also, what HW/rendering technique/game engine limitation prevents control panel aa from working?
I can tell you how i solved the AA problem in BR2:
The main problem is that developers write the game using textures as render targets (to use the output in other effects like blooming), and, by D3D definition, a texture cannot have an AA buffer binded to it. Only surfaces can.
The trick to fix this sort of problem, is to render to a valid surface (with an AA buffer binded to it), and then copy the surface to the texture.
About the rest of engines, i think that SSAA is virtually compatible with any rendering technique (render 2x2 times bigger, and then shrink the image). Of course, this is a brute force method, but, the image quality is awesome.
AlStrong
20-Nov-2008, 19:07
The trick to fix this sort of problem, is to render to a valid surface (with an AA buffer binded to it), and then copy the surface to the texture.
StretchRect() ?
OpenGL guy
20-Nov-2008, 19:34
About the rest of engines, i think that SSAA is virtually compatible with any rendering technique (render 2x2 times bigger, and then shrink the image). Of course, this is a brute force method, but, the image quality is awesome.
That's only going to give OGSS, which won't give the best results.
StretchRect() ?
Well, in D3D9, yes, but, BR2 is D3D8, so, i used CopyRects().
That's only going to give OGSS, which won't give the best results.
Yes, you are right, but, it's still better than no AA.
In BR2, SSAA has some advantages with the transparent textures, cause the game does not use alpha blending, it only uses alpha testing (and the multi/super transparency AA from the nvidia control panel does not work :()
OpenGL guy
20-Nov-2008, 19:35
StretchRect() ?
Yes. You can call StretchRect() from a render target to a texture. But you can't create a texture with multisampling so this is your only way to get MSAA on a texture.
Initially, DX9 specified that StretchRect() could only copy non-AA surfaces to non-AA surfaces and AA surfaces to AA surfaces. That was quickly remedied in DX9a, I believe.
DemoCoder
20-Nov-2008, 20:00
but OpenGL has since become so incredibly outdated and irrelevant that there's simply no argument anymore.
I would claim that it is still highly relevant for Linux, OSX, and non-Windows Mobile mobile phone platforms with 3D capability. Perhaps its 'outdatedness' somewhat enhances its cross platform portability by virtue of demanding less of the OS driver model.
Andrew Lauritzen
20-Nov-2008, 20:07
I would claim that it is still highly relevant for Linux, OSX, and non-Windows Mobile mobile phone platforms with 3D capability. Perhaps its 'outdatedness' somewhat enhances its cross platform portability by virtue of demanding less of the OS driver model.
Certainly yes it's relevant on platforms where you have no other options :) That said, in discussion on what a modern, efficient rendering pipeline looks like, the OpenGL API is not relevant... that's all I was saying.
2008 IQ is unacceptable
20-Nov-2008, 21:37
Just curious, how do you think the z-Buffer affects image quality? And what does it have to do with clipping? I think you should really look up what a z-Buffer really does.
A z-buffer stores the depth values of a scene. It either does not give enough precision, or game developers simply don't feel like making the most of it.
You rarely see games with huge draw distance above or below.
OpenGL guy
20-Nov-2008, 21:42
A z-buffer stores the depth values of a scene. It either does not give enough precision, or game developers simply don't feel like making the most of it.
You rarely see games with huge draw distance above or below.
So how would you determine whether an object was in front or behind another that was previously drawn?
staying with the z-buffer (they seriously need to ditch it, and just use HW programmable clipping with 6 boundaries that can be of any size)
Clip planes won't work in place of Z buffers.
A z-buffer stores the depth values of a scene. It either does not give enough precision, or game developers simply don't feel like making the most of it.
You rarely see games with huge draw distance above or below.
The problem with huge draw distance is mainly a performance problem, not a z-buffer limitation. As the game world (usually) is a 3d-space, the area covered by the view cone rises by area = viewRange^3. The further and further you go, the more and more new geometry becomes visible for each additional meter of draw distance you add. At 100 kilometer range, just a single extra meter to the view distance would add more new visible objects to the camera view than all the objects inside the first kilometer. The cost to process all the scene data becomes a huge obstacle when the view distance rises.
With current graphics processing performance the z-buffer precision is enough for almost all game types. The only game types I can think of where the z-buffer precision is a limiting factor are space simulations, where you can fly near a highly detailed space ships / stations (and see inside the windows) and at same time see the whole universe at proper scale. However even this scenario can be handled with current z-buffer precision by rendering the scene on multiple passes (background, nearby planets, all near objects), as the distance between the objects in space is so large (it's easy to partition the scene to depth layers).
Personally I would like to have access to 64 bit z-buffer in the future (when we have performance to model all leaves on the ground as polygons, etc). Full 32 bits is also a big improvement from the usual 24 bit + 8 bit stencil combination.
2008 IQ is unacceptable
20-Nov-2008, 22:46
So how would you determine whether an object was in front or behind another that was previously drawn?
Clip planes won't work in place of Z buffers.
Fully programmable clipping would work in place.
The scene could be rendered, and then closed by setting the clip planes to whatever size size are necessary for the scene. Or if that's not possible, you could do that backwards (i.e., define clip space as large as you think the scene may be and then put it in the clip space.)
It would have a huge amount of overdraw depending upon the how complex the scene is, but it would look better and wouldn't take up that much more performance.
It would be easier to just render the scene and just enclosing it.
Erm 2008 IQ you really confused on the clipping bit.
The point of the Z buffer is to determine what is the closest fragment to the viewer at a particular pixel. Clipping planes doesn't help, if you want to go down a non Z-buffer route you essentially have to move to a geometric solution, 2 which you may have heard of are a BSP-tree and Warnock subdivision.
Both have massive issues with complex dynamic scenes, that by the time you had implemented the hardware to do it your z-buffer system could by so fast and precise to make it the obvious choice.
Also when you try to extend these system to partial coverage for AA or translunency you also hit a brick wall. Extension of Z-buffer (namely A-Buffer and MSAA) have already solved these problems to an acceptable standard (for example watch a Pixar movie and tell me the IQ isn't good enough).
OpenGL guy
20-Nov-2008, 23:52
It would have a huge amount of overdraw depending upon the how complex the scene is, but it would look better and wouldn't take up that much more performance.
It would be easier to just render the scene and just enclosing it.
"huge amount of overdraw" and "wouldn't take up that much performance" are contradictory statements, even if your scheme could work, which I doubt.
Andrew Lauritzen
21-Nov-2008, 01:56
2008 IQ, we already pointed you to several papers and threads in your dedicated Z-buffer whining thread that demonstrated how a complementary 32-bit float z-buffer provides as much precision as you need (i.e. 32-bit vertices are now the limitation... and not much of one at that). fp32 depth buffers are all you practically need for now, and they are a requirement (and often a default) of D3D10 hardware.
As has been mentioned, the problem with huge draw distances is one of LOD not Z-buffer precision. The former is a difficult problem to solve in general, but progress is being made.
... but of course if Microsoft wasn't constantly holding the industry back here, I'm sure we'd have infinite precision everything by now. ;)
2008 IQ is unacceptable
21-Nov-2008, 03:58
2008 IQ, we already pointed you to several papers and threads in your dedicated Z-buffer whining thread that demonstrated how a complementary 32-bit float z-buffer provides as much precision as you need (i.e. 32-bit vertices are now the limitation... and not much of one at that). fp32 depth buffers are all you practically need for now, and they are a requirement (and often a default) of D3D10 hardware.
As has been mentioned, the problem with huge draw distances is one of LOD not Z-buffer precision. The former is a difficult problem to solve in general, but progress is being made.
... but of course if Microsoft wasn't constantly holding the industry back here, I'm sure we'd have infinite precision everything by now. ;)
Thanks for the kind reply=]
There's a few reasons why I seem to think that the z-buffer isn't enough, or isn't being taken advantage. 1st is, Rayman 3 used the w-buffer and it's bonus stages were quite like nothing i've ever seen with the z-buffer.
In PoP3D, IIRC, there was at least one area I remember that had this huge area and it looked like it was 1000ft high from the bottom and at the top you it looked like there was a 1,000ft below you.
There's this game on the m2 called battletryst (by Konami, in 1998) which has draw distances that are so huge and open and I haven't seen anything quite like it that uses the z-buffer. The m2 uses an fp16 w-buffer, according to it's specs on wikipedia.
4th, from some of the screenshots I've seen of bloodrayne 2, some of the scenes have a huge view above, that I haven't seen in many other games; I heard it had z-fighting issues, which means that those scenes where you can see really high up can't be done easily with the z-buffer.
finally, I cant figure out why more ps2 games have huger, more open environments than dx10 games. Look at gamespot's screenies for the ps2 ver of mercenaries 2 and then look at the pc version. The ps2 version looks much better in term of draw distance and far away precision.
Andrew Lauritzen
21-Nov-2008, 04:29
Sorry for the snideness, but really, you have to believe facts when they are pointed out to you :)
Well there's a few things to note, the most relevant of which being that a huge "sense of scale" is an artistic thing, not a technical one. The only technical relevance is being able to uniquely resolve depths, and for that a fp32 complementary z-buffer is more than enough. IIRC from the paper that I linked, it's at least as good as a 24-bit fixed-point w-buffer if not better. It's certainly much better than a fp16 w-buffer (floating point w-buffer seems like a huge waste...).
So again, there is objectively no technical problem here. Any perceived differences that you're seeing are either artistic, or technically out-of-date.
And as far as games go, I think you're just being selective here. Crysis, Far Cry 2 and a number of other recent games all put the draw distances and senses of scale in the games that you mentioned to shame, so I'm not sure I buy your argument there (even from an artistic point of view).
[Edit] And I'm not sure what you're saying with Mercs 2... I checked out the IGN images that you linked and the PS2 version does not have a single screenshot that shows even a moderate view range let alone a big one. Perhaps you can link me specific examples?
About the rest of engines, i think that SSAA is virtually compatible with any rendering technique (render 2x2 times bigger, and then shrink the image).
According to nhancer ssaa is d3d only cant force it on opengl games
There's a few reasons why I seem to think that the z-buffer isn't enough, or isn't being taken advantage. 1st is, Rayman 3 used the w-buffer and it's bonus stages were quite like nothing i've ever seen with the z-buffer.
In PoP3D, IIRC, there was at least one area I remember that had this huge area and it looked like it was 1000ft high from the bottom and at the top you it looked like there was a 1,000ft below you.
There's this game on the m2 called battletryst (by Konami, in 1998) which has draw distances that are so huge and open and I haven't seen anything quite like it that uses the z-buffer. The m2 uses an fp16 w-buffer, according to it's specs on wikipedia.
Independance war has a draw distance of well 384,403 km.
How do i know? well i can see the moon from earths orbit and actually fly into it if I so wish
i set my speed to 3,000,000 m/s and it took just under 2 minutes just to check it was to scale
homerdog
21-Nov-2008, 13:17
According to nhancer ssaa is d3d only cant force it on opengl games
I think NVIDIA could do it in OGL if they wanted to, but they aren't supporting SSAA any more.
I can't think of a reason why SSAA would not be 100% compatible unless you exceed the API's resolution limit. Oh, what is the limit in OGL?
...
4th, from some of the screenshots I've seen of bloodrayne 2, some of the scenes have a huge view above, that I haven't seen in many other games; I heard it had z-fighting issues, which means that those scenes where you can see really high up can't be done easily with the z-buffer.
...
From my debug version of the BR2 FSAA Patch:
IDirect3D8::CreateDevice(Adapter: 0, DeviceType: 1, hFocusWindow: 1115026, BehaviorFlags: 66|D3DCREATE_FPU_PRESERVE|D3DCREATE_HARDWARE_VERTE XPROCESSING, PresentationParameters: (0x00A013F4BackBufferWidth: 1920, BackBufferHeight: 1200, BackBufferFormat: D3DFMT_X8R8G8B8, BackBufferCount: 2, MultiSampleType: 4, SwapEffect: D3DSWAPEFFECT_DISCARD, hDeviceWindow: 1115026, Windowed: false, EnableAutoDepthStencil: true, AutoDepthStencilFormat: D3DFMT_D24S8, Flags: NONE, FullScreen_RefreshRateInHz: D3DPRESENT_RATE_DEFAULT, FullScreen_PresentationInterval: D3DPRESENT_INTERVAL_IMMEDIATE), ReturnedDeviceInterface: 0x00000001)
As you can see, BR2 uses D3DFMT_D24S8. The view distance is great, yes. Overall, this game does a lot of weird things with the D3D8 API, that i still do not understand.
According to nhancer ssaa is d3d only cant force it on opengl games
That is why i said 'virtually', cause, in theory, you as programmer, could render your scene 'internally', to a larger buffer, and then shrink it at the end, with an average shader. This is exactly what i'm trying to add to my BR2 patch, to let the ATi users enjoy some sort of SSAA (yeah, i know about the ATI texture size limit).
AlStrong
21-Nov-2008, 16:35
That is why i said 'virtually', cause, in theory, you as programmer, could render your scene 'internally', to a larger buffer, and then shrink it at the end, with an average shader. This is exactly what i'm trying to add to my BR2 patch, to let the ATi users enjoy some sort of SSAA (yeah, i know about the ATI texture size limit).
I'm curious, do you have independent control over FOV and rendering resolution for BR2?
I'm curious, do you have independent control over FOV and rendering resolution for BR2?
Yes, i have full control over the rendering resolution & FOV, but, the game clips the 'objects' outside of the 4:3 area before sending them to the D3D8 pipeline. I'm still trying to fix this with another 'technique'.
(yeah, i know about the ATI texture size limit).
I dont what is it and whats nv's ?
I dont what is it and whats nv's ?
There was a 4096x4096 limit for the ATi cards (8192x8192 for nVidia). This is a problem for the programmer, cause, if i want to do 2x2 SSAA by software, i'm limited to 2048x2048 max screen resolution. So, the users with 2560x1600 screens won't be able to enjoy it :( Anyway, i dunno if this limit has changed. The last ATi card that i owned was the 9800Pro. But, i keep working on this, and i hope to bring this feature someday.
I would claim that it is still highly relevant for Linux, OSX, and non-Windows Mobile mobile phone platforms with 3D capability. Perhaps its 'outdatedness' somewhat enhances its cross platform portability by virtue of demanding less of the OS driver model.
Not sure why you'd exclude Windows Mobile from that list...
MDolenc
22-Nov-2008, 11:51
There was a 4096x4096 limit for the ATi cards (8192x8192 for nVidia). This is a problem for the programmer, cause, if i want to do 2x2 SSAA by software, i'm limited to 2048x2048 max screen resolution. So, the users with 2560x1600 screens won't be able to enjoy it :( Anyway, i dunno if this limit has changed. The last ATi card that i owned was the 9800Pro. But, i keep working on this, and i hope to bring this feature someday.
I think you should probably be just fine with this as long as you're on DX10 class hardware. All DX10 class hardware should report back 8k x 8k even in DX8/9.
can you not split the texture in half ?
Sc4freak
22-Nov-2008, 14:32
Yes, you can do something similar to tiling on the Xbox 360. But, as usual, you pay a cost in vertex processing.
Im confused here ("what you Dav never")
if i cover a triangle with 2 textures instead of one its still 3 vertex's ???
MDolenc
22-Nov-2008, 19:52
That's not the problem... Problem is you have to render scene twice. Same as for split frame rendering in SLI or tiling rendering mode in CF. Render geometry for upper part of the frame and then again for lower part. All geometry, just different viewports (maybe you could drop some objects exclusively above or below "ground" plane).
That's not the problem... Problem is you have to render scene twice.
Ok now im even more confused
Take this pic as an example
http://www.freeimagehosting.net/uploads/859b038758.jpg (http://www.freeimagehosting.net/)
Lets say you want the computer screen really great quality (outlined in red)
so you want to use a really large texture like 4096x8192 and to get around the 4096x4096 limit
you create a 4096x8192 texture and split it in two, then cover the screen with those two textures.
Why do you have to render the screen twice ?
MDolenc
23-Nov-2008, 00:38
You're forgeting what Rayne is trying to do...
How do you bring super sampling AA into a game that doesn't support AA on a hardware that doesn't expose super sampling? You inject another render target into application. All rendering will go to this new render target and when it's done you resolve that texture to backbuffer. To do this you need for example a twice the resolution off screen render target/texture. When you get up to 2560x1600 however you hit a problem since you can't create a 5120x3200 render target...
You're forgeting what Rayne is trying to do...
How do you bring super sampling AA into a game that doesn't support AA on a hardware that doesn't expose super sampling? You inject another render target into application. All rendering will go to this new render target and when it's done you resolve that texture to backbuffer. To do this you need for example a twice the resolution off screen render target/texture. When you get up to 2560x1600 however you hit a problem since you can't create a 5120x3200 render target...
Yes, that is the exact resume of the situation with my little project.
Yes, that is the exact resume of the situation with my little project.
All DX10 capable Radeons and Geforces seem to support up to 8192x8192 sized render targets according to DX9 caps viewer. I have tested this with Radeon HD 2600, Radeon HD 3750, Radeon HD 3780 X2, Geforce 8800 GT, Geforce 9800 GTX and Geforce 9600 GT. With these cards your hack could support up to 4096x4096 resolution on 2x2 supersampling (enough for all consumer grade displays).
i agree with 2008 IQ is unacceptable. definitly.
having no FSAA in 2008 commercial game is a SHAME. whatever you can say , it's ALL about MY wish , and MY choice.
i don't care if developpers prefer nice deferred engine , because , I , for one, can't play these ugliest thing on earth , of FSAAless game.
so make us FSAA compliant 3D engine .
/thread.
Andrew Lauritzen
19-Dec-2008, 22:17
whatever you can say , it's ALL about MY wish , and MY choice.
Yep. Your choice is not to buy the game :) I've chosen not to buy games based on lots of different poor graphics choices/realities. In the end it is your choice - vote with your wallet!
But man, you must be pretty unhappy with almost every 3D console game ever ;)
digitalwanderer
19-Dec-2008, 22:20
Yup, that's why I never play any. :yep2:
AA4life baby. :cool:
karlotta
20-Dec-2008, 17:26
well its about the lighting model... HDR... shinny... OH an consoles...
Deferred lighting is our AA bain..
NO AA. BAH!
AA > Light
Andrew Lauritzen
20-Dec-2008, 20:24
AA > Light
Alright just for you, analytic, INFINITE AA:
float4 psMain() : SV_Target
{
return float4(0, 0, 0, 1);
}
There you go... replace all your game shaders with that and enjoy an alias-free experience :)
The point is that it's pretty easy to anti-alias simple functions. As functions become more complicated, it becomes more expensive. It still works though if one has the smarts/FLOPS to burn though :) For instance, I believe Killzone 2 uses fully deferred rendering but just evaluates all of the subsamples with no cleverness (effectively SSAA).
The real irony is that deferred rendering gives you more control over the scheduling and execution frequencies of these sorts of functions and thus more control over implementing efficient and high-quality AA. So again, stop trashing techniques that you're probably don't really understand... things will get better in the next few years. No offense intended, but believe the people who do this for a job :)
karlotta
21-Dec-2008, 18:27
"things will get better in the next few years"
Yeah... until then jaggy crawly nice lighting. Or fixed with the blur smear. Dont implement something that looks like ass just for s a sell point. Oh but you guys in the know have it under control... NOT! the "suits" have you guys under control,, but we all fight the good fight, 60$ jaggy games with flaky light/ shadow worlds on a rail...
AA > Light for a good game experience, just ask Digi.
I like the Light/ Defered world lighting, just not at the loss of AA right now..
2008 IQ is unacceptable
21-Dec-2008, 19:10
"things will get better in the next few years"
Yeah... until then jaggy crawly nice lighting. Or fixed with the blur smear. Dont implement something that looks like ass just for s a sell point. Oh but you guys in the know have it under control... NOT! the "suits" have you guys under control,, but we all fight the good fight, 60$ jaggy games with flaky light/ shadow worlds on a rail...
AA > Light for a good game experience, just ask Digi.
I like the Light/ Defered world lighting, just not at the loss of AA right now..
Agreed 100%; deferred rendering/shading whatever the hell shouldn't have been used until they had it working perfectly with any aa mode one could possibly want.
Agreed 100%; deferred rendering/shading whatever the hell shouldn't have been used until they had it working perfectly with any aa mode one could possibly want.
Also, when you buy a 600 Euros gfx card, you want to enjoy the maximum IQ & speed.
Deferred shading is one step forward, but the lack of AA is several steps backwards.
Andrew Lauritzen
21-Dec-2008, 23:20
I think you guys are over-simplifying the situation here. My point is that it's not as if one technology or rendering method (i.e. deferred shading) has trashed something that was otherwise going to be working perfectly. It's more that more complicated lighting/shading functions are harder to antialias. Back when the only significant source of aliasing was geometric (rasterization) and texture (minification), it was fairly straightforward to solve it. Now with the power to write any arbitrarily high frequency function in a shader, *any* term can be a potential source of aliasing.
So just to direct your righteous anger at some other real sources recently that cause aliasing all over: normal maps and per-pixel displacement maps. Both are difficult/expensive to antialias and thus almost all games just ignore the problem right now, resulting in flickering specular highlights and aliased edges in displacement-mapped surfaces. Neither of these have anything to do with deferred rendering (which is still not that common, although its use is increasing for many good reasons), but cause a lot of the aliasing that I believe you guys are referring to.
Now of course you always want "maximum IQ and speed", but it's way more complicated than that in practice. That shader that I gave you above is gonna give you both of those, so enjoy playing your game with a completely black screen ;) Clearly we're all striving for maximum IQ and speed, but it's a direct trade-off... if you lower the settings of your game to the point that it's running at 400fps then sure it's easy enough to deliver 4x SSAA, but let's keep things in perspective - even 4x SSAA'd half life 1 with all the fancy control panel settings that you can throw at it still doesn't look very good ;)
Agreed 100%; deferred rendering/shading whatever the hell shouldn't have been used until they had it working perfectly with any aa mode one could possibly want.
It does work just fine with any AA "mode" - the math is perfectly well-defined. People just haven't bothered to implement it since it's slightly more complicated and potentially more performance-intensive than with forward rendering. It'll happen though... again I reference Killzone 2 as an example of DR + AA that works just fine.
And btw, "any AA mode that one could possible want" is a bit too vague... I can define any number of "AA modes" that don't "work perfectly" with any application or renderer that you want to give as an example, including the precious 3dfx cards. In fact as far as AA options are concerned, they are positively ancient compared to modern day offerings, but that should be obvious.
Oh but you guys in the know have it under control... NOT! the "suits" have you guys under control,, but we all fight the good fight
Lol wow. Particularly funny since you're talking to a guy who has spent a ridiculous amount of time "fighting the good fight" to spend more cycles on AA, especially for proper shadow AA/filtering :D
Why AA a POS at current res?
Textures are in a far worse condition than AA is at the moment.
algorythmic texture is the key.
but we need real TFlops right ?
2008 IQ is unacceptable
23-Dec-2008, 00:52
It does work just fine with any AA "mode" - the math is perfectly well-defined. People just haven't bothered to implement it since it's slightly more complicated and potentially more performance-intensive than with forward rendering. It'll happen though... again I reference Killzone 2 as an example of DR + AA that works just fine.
Well, then why doesn't nvidia just sell drivers that have been hacked to work perfectly with aa? I know it's complicated like you say, but if people paid them to do that, then they could generate some extra revenue.
And while it may be particularly performance-intensive, it should be up to every end-user to decide whether or not performance is good enough.
I honestly don't get why nvidia/ati has to decide for me or anyone else whether a certain frame rate is good enough. The end-user should make the decision, not nvidia/ati, especially when people are willing to pay them extra for "hard work and responsibility."
Andrew Lauritzen
23-Dec-2008, 01:48
Well, then why doesn't nvidia just sell drivers that have been hacked to work perfectly with aa? I know it's complicated like you say, but if people paid them to do that, then they could generate some extra revenue.
The game developer has to do it in this case. It's them you should be paying :)
And while it may be particularly performance-intensive, it should be up to every end-user to decide whether or not performance is good enough.
Agreed, although there's clearly an extreme case to that logic. Crysis for instance has already been criticized to death about no one being able to run it with max settings, even though their argument has always been that those settings are forward looking. Similarly if a game would run at 1fps with top end hardware with some option on, do you really want the devs to spend extra time on that option so that 10 years from now you can turn it on? :)
Again though, this is up to the games now, not NVIDIA/ATI. That's all I've been trying to say all along - the burden of implementing rendering has shifted from the HW/drivers to the games themselves, and its there that you should be comparing/petitioning/voting with your $ for the features that you care about.
2008 IQ is unacceptable
23-Dec-2008, 03:09
I'll leave it at this:
Microsoft should've started requiring 100% compatible HW AA that aa'd everything (all textures, lighting, and geometry) starting with DX9. They could've worked it out even if they had to make other changes in the spec to accomadate aa for every format and application.
Like I said, microsoft either regulates something they shouldn't, or doesn't regulate something they should've.
if it didn't happen it's a pretty good guess no one actually making GPU's wants it.
A normal game has a sales span of a few months before ending up in the bargain bin. Only the well endowed developers would spend some resources on supporting a game that sells for 5 bucks. (this doesn't go for on-line games.)
The developers try to get the maximum out of their available hardware. This, most of the time, is mid to high-range consumer cards and some "to be released" cards. How far can and need they look into the future while developing their product? the timespan is multiple years already, how are they going to incorporate graphic advances when no money is to be made a couple of months down the road.
In other words, who is going to pay them for delivering features which will not bring in any revenue?
2008 IQ is unacceptable
23-Dec-2008, 17:26
if it didn't happen it's a pretty good guess no one actually making GPU's wants it.
I kind of don't care what the makers of the GPU want, b/c I don't get why they should dictate what every player has to put up with.
Like I said, there's no reason, when MS designed dx9, for not working in 100% compatible, problem-free, great-looking HW AA. None.
Albuquerque
23-Dec-2008, 17:45
I kind of don't care what the makers of the GPU want, b/c I don't get why they should dictate what every player has to put up with.
Like I said, there's no reason, when MS designed dx9, for not working in 100% compatible, problem-free, great-looking HW AA. None.
Sure there is -- feasibility.
There's no reason why the department of transportation can't come out and make it mandatory that all passenger vehicles MUST obtain 60mpg in city driving conditions. None.
That doesn't mean it would be reasonable or attainable. Maybe you should join the rest of us out here in what I like to call "the real world". After you've made that journey, you might understand why your statement has about as much merit as my department of transportation anecdote.
MDolenc
23-Dec-2008, 19:12
I kind of don't care what the makers of the GPU want, b/c I don't get why they should dictate what every player has to put up with.
Like I said, there's no reason, when MS designed dx9, for not working in 100% compatible, problem-free, great-looking HW AA. None.
You are really trying to just ignore every technical argument anyone throws at you right?
2008 IQ is unacceptable
23-Dec-2008, 19:37
You are really trying to just ignore every technical argument anyone throws at you right?
Probably. But maybe they could've worked on HW AA first at the sacrifice of something else?
Albuquerque
23-Dec-2008, 19:40
Probably. But maybe they could've worked on HW AA first at the sacrifice of something else?
You keep saying "hardware AA" as if this is some sort of hardware problem. There is no hardware problem, it's a software problem. The developers have chosen not to implement antialiasing, and it is their choice to make. The hardware is entirely capable of running antialiased shaders if the developer so-chose to write one, but they didn't.
End of discussion.
Andrew Lauritzen
23-Dec-2008, 19:57
You keep saying "hardware AA" as if this is some sort of hardware problem. There is no hardware problem, it's a software problem.
Yes, PRECISELY. I've been trying to explain the reasons why developers tend to not implement AA in more complicated situations (i.e. it's harder to do and a lot slower), but fundamentally Microsoft can't mandate that "everything works with HW AA". It's maybe hard to explain without getting too much into the math/logic, but that mandate doesn't make any sense.
And once you start to try and think about what else to mandate it gets even sillier... the only reasonable thing in the end that one could enforce was something super-sampling based, and even then it's easy enough to write a function with infinite frequencies at pixel borders, rendering the super-sampling completely useless.
We're into the space where image quality is more qualitative, so while I agree that a lot more time and resources should be paid to general AA (NOT JUST whatever you're calling "hardware AA") and filtering in general, it's 100% a per-game, software problem now.
You just have to deal with the fact that there is no "big hammer" that anyone can apply... you'll just have to buy or not buy games on a case by case basis. Like I said, you still have the consumer choice, you just have it at a finer granularity now.
Like I said, there's no reason, when MS designed dx9, for not working in 100% compatible, problem-free, great-looking HW AA. None.
And that's where you just overstep your bounds again. You've demonstrated that you don't have the technical background to back up that assertion (and even the assertion itself is rather vague... I could easily argue that they did work in 100% compatible, problem-free AA to the API), so just don't make it, particularly when you've also chosen to ignore the technical information presented to you in this thread.
And get over DX9 already. DX10 >> DX9 :)
digitalwanderer
23-Dec-2008, 21:06
You just have to deal with the fact that there is no "big hammer" that anyone can apply... you'll just have to buy or not buy games on a case by case basis. Like I said, you still have the consumer choice, you just have it at a finer granularity now.
Actually that IS the big hammer anyone can apply to the problem. ;)
Vote with your wallet.
Andrew Lauritzen
23-Dec-2008, 21:36
Actually that IS the big hammer anyone can apply to the problem. ;)
Vote with your wallet.
Yes, fair enough. I guess the other way to put it is that there's no single target of the poor AA rage which is maybe what people are unhappy about ;)
In older games with no off screen render targets storing much more than just the final color data, no per pixel displacement mapping pixel shaders that generate the geometry on pixel basis (not sub pixel basis) and no shaders that do animation and physics instead of graphics rendering the simple unified (MSAA) hardware antialiasing was a much easier thing to achieve. Current and future games render (or should I say generate) the final screen pixels in so many possible ways that it's basically impossible to implement any kind of antialiasing that just works without any developer interaction.
In the future, the hardware MSAA does less and less, as more and more of the aliasing is not on the polygon edges. All pixel shader displacement mapping techniques cause aliasing inside the polygon surfaces, and hardware MSAA affects only polygon edges. There is no simple way to antialias pixel shader effects like this. SSAA works on most cases, but 4xSSAA costs around 75% of your performance (even 4 x SLI would not be enough to get same performance as without AA) and is not a magic bullet either. The driver just cannot just upscale the buffers without developer control, as many post process effects depending on exact texel sampling positions break down (half texel shifted 4x4 bilinear fetch is very commonly used in blur filters for example).
Many new games do not support antialiasing, because good quality AA would be too slow and memory intensive to implement compared to the image quality improvements that could be made with the same hardware resources put into other use. These limitations affect mostly developers that have chosen to use rendering techniques that allow them to get better looking dynamic lighting, shadowing and post process effects. Antialiasing is easier (and much more performance efficient) to implement for games that use older rendering techniques compatible with hardware MSAA.
After reading through this thread (and especially other, less technical, forums), it's interesting to see how many misconceptions still exist regarding why AA won't work with this game or that. I think I have a pretty good handle on AA in general, but since I haven't messed with multisampled surfaces at all in D3D, there are a few things I'd like to clear up.
It's my understanding that the main reasons MSAA doesn't work in various games are:
a) Deferred rendering - AA resolve doesn't produce correct results for non-color data.
b) Multiple render targets (MRT) - MRTs don't support multisampling (MS) in DX9(?).
c) Render-to-texture - Texture surfaces cannot be MS'd (but that doesn't prevent you from rendering to a MS'd surface and then copying into a texture, right?).
d) FP16 render target - Hardware limitation on pre-R520/G80 GPUs.
It's also my understanding that at least a and b (and obviously d) are no longer limitations in DX10 (though MS'd deferred rendering requires developer support). There are probably a few cases that I missed as well, such as whatever prevents UE3 from properly supporting MSAA despite the fact only shadow (map?) rendering is deferred. This is compounded by the fact that despite reports that only Nvidia cards support AA in UT3, if I force AA in the CP for my X1900, I definitely see AA on *most* edges, albeit with a major performance hit. As you can see by all the question marks, there are still plenty of things I'm unsure of.
So I understand why most games that don't support MSAA don't support it. However, I was recently reminded that Halo, one of the earlier DX9 titles, doesn't support MSAA either, and I'm not exactly sure why. In the Bungie's technical FAQ, they mention something about using an off-screen render target (RT) for the main shading pass so they can later apply some post-processing effects for the final render. My question is whether there is a technical reason they *can't* support MSAA (MRT maybe?), or if it's just that they don't code for MSAA for their off-screen RT and forcing it in the driver won't work because that only affects the backbuffer. Even that I'm not sure of; when you force AA in the driver does it try to MS all supported surfaces created with a RT flag, or just the backbuffer?
AlStrong
05-Mar-2009, 18:14
My question is whether there is a technical reason they *can't* support MSAA (MRT maybe?)
From the PC technical faq, it appears they are using MRTs.
From the PC technical faq, it appears they are using MRTs.
Oh yes, I can't believe I missed the the part in the FAQ where it says it renders to "multiple off-screen surfaces". I must have blocked that part out and just focused on the fact that they don't render directly into the backbuffer. :oops:
vBulletin® v3.8.6, Copyright ©2000-2013, Jelsoft Enterprises Ltd.