shader consistency

which way to go with shaders?

  • Make higher version PS effects visually better / more complex /accurate whenever possible.

    Votes: 0 0.0%

  • Total voters
    352

Mendel

Mr. Upgrade
Veteran
Which way would you think makes a better service to end user?

first option could be possibly SLOW on earlier version shaders. Or the higher version shaders woudn't end up to be as complex as they could if things were kept simple...

Second option would require more work, but would it make a service or disservice to end user with regards to visual consistency among gamers, comparability, benchmarkability?
 
gotta admit I'd prefer to see higher end hardware used to it's full extent. although saying that the screenshots of HL2 using different shader models don't seem to show that much of a visual diference at the moment.
 
I say that devs should stick to SM2.0b and 3.0 for a while (i mean a year or more). There is so much undiscovered potential (GeoInstancing on R3xx and Dynamic branching on SM2.x cards,TAA and so on). With these two options you can get incredible results,also 3Dc shows a big potential in texture compression.
Rushing for new tech isn't a good idea. They make standards for some shader model and after few months there comes another quiet different and non compatible one but there is no game that actually uses any of them. And when it comes oh its another SM released and that one looks old again...
This tempo will kill someone sooner or later...
 
If my card is capable of sm9.x, then provide the 9.x goods! I did not by a sm9.x card to be provided sm9.x effects looking like sm3.x effects!
 
Mendel said:
Surprising results... considering how many developers go the first route...

You mean one? Seems pretty consistent with the results to me. How many games try to look the same when rendered with 1.x and 2+ shader models?
 
I voted the second, but wasn't so sure. It depends on the context. I believe it was the right decision to use a POW approximation rather than a real POW function in Doom3 even on higher end hardware. It depends on what amount of art assets there are at the time you're making a decision. If you decide to support a wide range of shader models in the project startup phase, then you should go with the second option. If on the other hand newer shader models are added in the middle of developement it may be good to keep it doing equivalent stuff (though perhaps faster with the new SM). That depends a bit on the situation though.
 
I remember in the early days of the PC that many games would feature screenshots on the back from the ( graphically superior) Amiga versions. My point? Well, you have to be careful not to sell a game on it's looks if only a minority of people can run that game looking like that. Whilst option two is preferable, one is more realistic as it's probably the simplest path for developers to go down (and simple means games are more likely to be delivered to budget on time).
 
ET said:
Mendel said:
Surprising results... considering how many developers go the first route...

You mean one? Seems pretty consistent with the results to me. How many games try to look the same when rendered with 1.x and 2+ shader models?

Actually I wasn't thinking about Doom (which you probably refer to) at all while I was asking but I can see how that fits to the issue too (see Humus' post)

Actually the thing that brought me to thinking and then posting... was this Chris Egerter's post:

The exponent in the cube map method can be used in PS 2.0, and can be combined with other code easily (ie diffuse+specular in 1 pass). Right now I'm using the pow function, however I will switch to the new method to be consistent and get the same results on PS 1.1 and PS 2.0.

I don't know much about him, his project or how much this makes sense here ( he seems to be doing some sort of engine) but it sure got me thinking...

On the other hand let's think about water shaders in Far Cry and then again in Half Life 2.

One has very different looking water on different shader levels while the other has very similar (Basing this on some ancient screenshots of HL2 though so it could have changed)

Any thoughts?
 
Diplo said:
Whilst option two is preferable, one is more realistic as it's probably the simplest path for developers to go down (and simple means games are more likely to be delivered to budget on time).

I think that's true for games that are about to be released, but it looks to me like SM2 will be pretty standard for future games, with lower shader models being treated like fixed function has been over the past year or two -- initially provided with lower image quality and eventually not allowed to run the game at all. In the transition period, you're probably right about option one being easier in terms of art management, but it still makes sense to have some effects only available in SM2 and up (since it will likely be possible to disable them for better performance, so two different paths will be tested anyway).
 
The vote needs a third option:

-> Do a low detail mode which is consistent throughout PS1.1 - PS3.0
-> Do a high detail mode which is based on PS2.0+ cards and is consistent in PS2.0 - PS3.0

... at least that's our plan ATM ... ;)
 
From a developer's point-of-view, the first option is equivalent to virtualizing the hardware ressources, which (logically) shouldn't be a task for independant software vendors but for the platform vendors.

From a business/marketing point-of-view, the first option is a no-go (gameplay at 5 fps?).
 
Remi said:
From a developer's point-of-view, the first option is equivalent to virtualizing the hardware ressources, which (logically) shouldn't be a task for independant software vendors but for the platform vendors.

From a business/marketing point-of-view, the first option is a no-go (gameplay at 5 fps?).

Yes that's a good point.
If it runs good on PS1.1 part, and I want consistent look why bother writing PS1.4+ paths at all? Newer cards are also faster in PS1.1...
 
Most developers wouldn't go either route/options. You want something in-between, which means more work. The engine needs to cater to scalability, and then the artists will know what to do.
 
Back
Top