Has some interesting things to say about where Shader 3.0 is today and how it compares to Shader 2.0.
http://www.pcper.com/article.php?aid=36
http://www.pcper.com/article.php?aid=36
6) For the screenshot examples shown at the launch event, why was PS 1.1 used to contrast PS 3.0? Why wasn’t a PS 2.0 screenshot compared to PS 3.0 instead?
On the event PS1.1 was compared with PS2.0/PS3.0. We don’t use PS3.0 everywhere. The general rule is to use as lower shader version as possible. So PS3.0 could be used only in several critical places where it gives performance boost.
7) What aspects of the screenshots seen at the launch event are specific examples of the flexibility and power of Shader 3.0?
In current engine there are no visible difference between PS2.0 and PS3.0. PS3.0 is used automatically for per-pixel lighting depending on some conditions to improve speed of rendering.
8) Is the same level of image quality seen when using Shader 3.0 possible using Shader 2.0? If so, what dictates which Shader you decide to use?
In current generation engine quality of PS3.0 is almost the same as PS2.0. PS3.0 is used for performance optimisation purposes.
WaltC said:I liked his "stay tuned" answer to the question of whether or not their engine will actually support ps3.0 in the future
4) Will we see an update for FarCry which enables Shader 3.0? If so, will this be for the entire game or for specific new maps? If a patch enabling Shader 3.0 in FarCry is pending, when can we expect to see it available?
Stay tuned.
3.0 shader model is just extension to 2.0 shader model. It means it’s possible to compile PS2.0 shader as PS3.0 shader target and it still remains 2.0 compliant shader from the hardware side.
Bjorn said:And why would it be good if they didn't support PS3.0 in the engine (just for Far Cry) ?
WaltC said:I think that from their perspectives as developers of an engine which is currently being sold to customers without any ps3.0-supporting gpus, they might see that supporting ps2.x would be "more good" or "better" in the near future for them than restricting their engine support to ps3.0, especially considering there are no IQ differences to be had in the difference
christoph said:@waltc
how much time do you think they would have to spend on this?
3.0 shader model is just extension to 2.0 shader model. It means it’s possible to compile PS2.0 shader as PS3.0 shader target and it still remains 2.0 compliant shader from the hardware side.
Bjorn said:I don't see why they would restrict their engine to PS3.0 just by adding support for it. And there are differences to be had according to them. It's just the the current engine won't show it.
WaltC said:I mean, running ps2.x-specific code under ps3.0 is really just...running ps2.x, isn't it?
WaltC said:What they said was, "stay tuned," which is not a "Yes, we will" or a "No we won't" be supporting ps3.0 in our game engine--it's a "maybe" which is obviously dependent on whatever variables Crytech is considering. It wouldn't surprise me to see that some of those considerations are some that I've mentioned.
Bjorn said:IMO, not necessarily. If you can take advantage of PS3.0 features by recompiling a PS2.0 shader then you are using PS3.0 aren't you ?
Bjorn said:It would surprise me if the stay tuned part had anything to do with the PS3.0 support or not.
4) Will we see an update for FarCry which enables Shader 3.0? If so, will this be for the entire game or for specific new maps? If a patch enabling Shader 3.0 in FarCry is pending, when can we expect to see it available?
Stay tuned.
WaltC said:Here's what they said:
4) Will we see an update for FarCry which enables Shader 3.0? If so, will this be for the entire game or for specific new maps? If a patch enabling Shader 3.0 in FarCry is pending, when can we expect to see it available?
Stay tuned.
How can you possibly infer that the question and the answer might have nothing whatever to do with whether or not they are considering support of ps3.0 in their engine? Seems cut & dried, to me. Or are you trying to say that he simply ignored the last question, and muttered "stay tuned" on general principle?... Again, the questions are specific, and he didn't say "Yes," and he did not say, "No," he said the very non-commital "stay tuned"--which I think can be reasonably inferred as a "maybe" for the reasons I've already listed.
Bjorn said:The entire thing is all about Far Cry and not the CryTech engine (although i would assume that any SM3.0 support in the Far Cry game would carry over to the base engine). And the last question was about availability of the patch (which afaik, Crytech has already said will support both SM2.0 and SM3.0).
WaltC said:That is where we disagree, I think. I don't see that anything Crytech states in the interview might lead one to such a conclusion.
In VS3.0 shader model actually is possible to support general displacement mapping (with smart shader design when vertex shader has to do something during waiting for texture access).
· In PS3.0 shaders it’s possible to decrease number of shaders using dynamic branching (single shader for general lighting) and in such way decrease number of shader switches, passes, and as result increase speed, and also we can utilize dynamic conditional early reject for some cases in both PS and VS and this also will increase speed. As to NV40 generally possible to use co-issues better to take advantage of super-scalar architecture (we can execute 4 instructions per cycle in a single pipeline).
· We can handle several light sources in single pixel shaders by using dynamic loops in PS3.0.
· We can decrease number of passes for 2-sided lighting using additional face register in PS3.0.
· We can use geometry instancing to decrease number of draw-calls (remove CPU limitations as much as possible).
· We can use unrestricted dependent texture read capabilities to produce more advanced post-processing effects and other in-game complex particles/surfaces effects (like water).
· We can use full swizzle support in PS3.0 to make better instructions co-issue and as result speedup performance.
· We can take advantage of using 10 texture interpolators in PS3.0 shader model to reduce number of passes in some cases.
Several new features in 3.0 shader model aren’t for free. Texture access in vertex shader is expensive, dynamic branching is not for free. So if developer has to utilize some features of PS3.0 shader model he/she should design shader in way which will remove other much important bottlenecks of application (CPU limitations, states/shaders changing, make shorter shader execution path, decrease streams bandwidth…).