• Some users have recently had their accounts hijacked. It seems that the now defunct EVGA forums might have compromised your password there and seems many are using the same PW here. We would suggest you UPDATE YOUR PASSWORD and TURN ON 2FA for your account here to further secure it. None of the compromised accounts had 2FA turned on.
    Once you have enabled 2FA, your account will be updated soon to show a badge, letting other members know that you use 2FA to protect your account. This should be beneficial for everyone that uses FSFT.

Shader Model 3.0

PRIME1

2[H]4U
Joined
Feb 4, 2004
Messages
3,942
There seems to be a lot of confusion over Shader Model 3.0. I hope this will clear some of it up. The most common misconception is that everything in 3.0 can be done in 2.0, or that games will only run faster with 3.0 but will not look any better.

Currently most people are only familiar with the Far Cry implementation of SM3.0. This was mainly a "proof of concept" and 3.0 was only used for "performance optimization purposes".

A true engine written using Shader Model 3.0 would have a clear visual difference from 2.0 because the game would benefit from a longer pixel shader length that would give you more shading and lighting. A higher texture coordinate count that would allow for more per-pixel inputs. A longer vertex shader length for more detailed character lighting and animation. Higher dynamic lighting at the vertex level, etc. Not too mention the numerous performance increases.

sm3.jpg


http://www.microsoft.com/whdc/winhec/partners/shadermodel30_NVIDIA.mspx
http://www.elitebastards.com/page.php?pageid=4136&head=1&comments=1
http://www20.graphics.tomshardware.com/graphic/20040414/geforce_6800-11.html

As far as when games will start taking better advantage of SM3.0.....This year. Splinter Cell: Chaos Theory, Battlefield 2, Unreal 3, Call of Duty 2, etc.

However most (if not all) games will still maintain support for SM1.1/2.0b to make the games playable on older cards.
 
Hate_Bot said:
2.0 yes, but what about 2.0b?

just about the same with the notable diffrence of it not needing FP32 or FP16
2.0b uses FP24 all the time
a.k.a ATi came up with 2.0b as a stopgap when thay were ether
a. to lazy to get the same old chip to work with FP32
b. didnt what to go FP32 for fear that thay would lose too much proformace
c. there was just no way to get the same core to work in FP32
 
Hate_Bot said:
2.0 yes, but what about 2.0b?

same as 2.0 except the shader length for pixel and vertex is 768. Why is this posted?

Elios said:
just about the same with the notable diffrence of it not needing FP32 or FP16
2.0b uses FP24 all the time
a.k.a ATi came up with 2.0b as a stopgap when thay were ether
a. to lazy to get the same old chip to work with FP32
b. didnt what to go FP32 for fear that thay would lose too much proformace
c. there was just no way to get the same core to work in FP32

FP24 is what the cards run in all DX9 games. It doesnt need 2.0b support to run in it. Its a little more efficiant then Nvidia's implimentation since it makes the cards do more work for the same visuals in games that are SM2.0 only.

FP32 would of ment DX9.0C support which means more transistors, heat, and power consumption. Basically a huge pain in the ass. I think they were too far along and honostly figured it wasnt worth the work of making the card support DX9.0C. Simple marketing decision. Cant blame them to be honost. The R520 series will be FP24/32 compliant. I'll be interested to see if Nvidia stays with FP32/16. Reason why it matters is that ATI's fallback in SM2.0 games will make the card faster vs Nvidias fallback which will remain in 32.
 
PRIME1 said:
As far as when games will start taking better advantage of SM3.0.....This year. Splinter Cell: Chaos Theory, Battlefield 2, Unreal 3, Call of Duty 2, etc.

However most (if not all) games will still maintain support for SM1.1/2.0b to make the games playable on older cards.

Splinter Cell 3 also not really doing much different from from SM1.1 and 3 with the exception of HDR which takes a huge hit.

Crytek has pretty much stated that the use of SM3 for this generation of cards will mostly be for speed increases. SM2 not even currently being fully being taken advantage of. Argue with the developers.

But even with your arguements, there is no true sm3 engines being made. The ones that are using it, mostly speed increases.
 
No current games take advantage of SM3.0. Sure there are games that USE it, but they dont really take advantage of it, far cry is a good example, it uses it, but everyone knows ATI runs far cry better.

The first game that will take advantage of SM3.0 is Age Of Empires 3, but the devs said even with SM3.0 support, there are no current cards fast enough, and with the correct tach, to take advantage of all the features that are available with SM3.0

Maybe with the R520 and G70 it will be good, for now its rather pointless
 
PRIME1 said:
The most common misconception is that everything in 3.0 can be done in 2.0,

It's not a misconception, it's true.

You can multipass pixel shader 2.0 programs to achieve whatever effect a pixel shader 3.0 program is doing with one long shader.


Don't confuse what's "easier" with what's "possible".
 
Brent_Justice said:
It's not a misconception, it's true.

You can multipass pixel shader 2.0 programs to achieve whatever effect a pixel shader 3.0 program is doing with one long shader.


Don't confuse what's "easier" with what's "possible".

Thanks Brent for Finally setting some right here!!!
 
Brent_Justice said:
It's not a misconception, it's true.

You can multipass pixel shader 2.0 programs to achieve whatever effect a pixel shader 3.0 program is doing with one long shader.


Don't confuse what's "easier" with what's "possible".


pfft...what do YOU know?
 
While these instruction limits may look nice in theory, take a good look at 3DMark05...
It pushes SM2.0 to the max... and although it has an option to compile for SM3.0, it doesn't seem to gain much, so we can assume these are either still single-pass SM2.0 shaders, or multipassing is not significantly slower...
Anyway, point is... these SM2.0 shaders pushed to the max are already enough to make pretty much all current hardware crawl.
So, on short notice, we won't be able to really use these mega-instruction limits because shaders that long would be incredibly slow to execute.

There are a few other things that are interesting though, such as the dynamic flow control... This makes it possible to efficiently implement new algorithms such as steep parallax mapping: http://graphics.cs.brown.edu/games/SteepParallax/

But I think it will take a while before SM3.0 can really start to make a difference. A newer, faster generation of cards is required to unlock the full potential... Until then, I suppose SM3.0 is limited to a bit of extra eyecandy or some slight performance increases here and there.
 
Netrat33 said:
openEXR HDR has nothing to do with SM3

I see, I got them confused. What about instancing? Is that made possible by shader 3.0 or as seperate feature as well?
 
jacuzz1 said:
I see, I got them confused. What about instancing? Is that made possible by shader 3.0 or as seperate feature as well?

I think instancing is separate. If you are referring to geometry instancing....but I am not positive...
 
jacuzz1 said:
I see, I got them confused. What about instancing? Is that made possible by shader 3.0 or as seperate feature as well?

Officially it is a feature for SM3.0 and higher.
Not sure why, since it is not even related to shaders at all.
Anyway, ATi had already added instancing support back in the R300 days... So all Radeons 9500 and higher have support.
But since officially it's not exposed via the Direct3D API, you need to use a hack to enable it. The driver reports a fake texture format with "INST" as codename, for cards that support instancing. Then you can enable and disable it by some special pointsprite size.
After that, it works just like the instancing in SM3.0, so it's quite simple to make your code work on both.
 
Scali said:
Officially it is a feature for SM3.0 and higher.
Not sure why, since it is not even related to shaders at all.
Anyway, ATi had already added instancing support back in the R300 days... So all Radeons 9500 and higher have support.
But since officially it's not exposed via the Direct3D API, you need to use a hack to enable it. The driver reports a fake texture format with "INST" as codename, for cards that support instancing. Then you can enable and disable it by some special pointsprite size.
After that, it works just like the instancing in SM3.0, so it's quite simple to make your code work on both.

Cool thanks for the clarification. I know this has all been covered in the past but i recently loaded far cry again to play with sli with HDR enabled and was pleased at how smooth it played compared to my single GT last year and did not remember what was what.
 
Hate - noticed your 'Pro-Life' entry in your sig..... Bill Hicks covered the topic here & there - here's an excerpt from one of his interviews, enjoy.

I, ah...this abortion issue in the States is dividing the country right in half. You know, and even amongst my friends - we're all highly intelligent - they're totally divided on the issue of abortion. Totally divided. Some of my friends think these pro-life people are just annoying idiots. Other of my friends think these pro-life people are evil fucks. How are we gonna have a consensus? I'm torn. I try and take the broad view and think of them as evil, annoying fucks.
 
jellyhead said:
Hate - noticed your 'Pro-Life' entry in your sig..... Bill Hicks covered the topic here & there - here's an excerpt from one of his interviews, enjoy.

I, ah...this abortion issue in the States is dividing the country right in half. You know, and even amongst my friends - we're all highly intelligent - they're totally divided on the issue of abortion. Totally divided. Some of my friends think these pro-life people are just annoying idiots. Other of my friends think these pro-life people are evil fucks. How are we gonna have a consensus? I'm torn. I try and take the broad view and think of them as evil, annoying fucks.

Ok?
 
How many games are out their right now with 3.0 support?

I knnow their will be more in the future, but what about right now?
 
USMC2Hard4U said:
How many games are out their right now with 3.0 support?

I knnow their will be more in the future, but what about right now?

Alot of games SUPPORT it, the point is no games USE it.
 
Brent_Justice said:

Theres alot of features in SM3.0 the thing is, there is no current game that uses those features, In fact, even with SM3.0, no card currently available, is fast enough to even process those features, just because SM3.0 can process those 10000+ vertex shaders, doesnt mean the card is fast enough to show them.
 
Hate_Bot said:
Im just curious as to what point you were trying to make.

Does everything have to have a point? Just thought you might enjoy the humour :)

Anyway, I'm off to bed now - long day at work tomorrow.
 
USMC2Hard4U said:
How many games are out their right now with 3.0 support?

I knnow their will be more in the future, but what about right now?

Far Cry and Painkille with a patch. Splinter Cell: Chaos Theory and coming out this week Battlefield 2. There are a few others but those are the ones that stand out.
 
Scali said:
But since officially it's not exposed via the Direct3D API, you need to use a hack to enable it. The driver reports a fake texture format with "INST" as codename, for cards that support instancing. Then you can enable and disable it by some special pointsprite size.
After that, it works just like the instancing in SM3.0, so it's quite simple to make your code work on both.

Hadn't this something to the with the WHQL-certification at Microsoft of the drivers?
Something about since they are not fully DX 9.0C compatible, they had to "disable" that feature in the driver in order to get the WHQL-certificaton?
But that it can be enabled via a .reg-hack?

Terra - I might be mistaken...
 
pxc said:
QFT

Wait until ATI has it. Then it will be the bestest feature evar!

You seem to like mis-interpreting my posts.

Unless this wasnt directed to me. Or jus a generoul concensous of ATI fan boys, in which case I agree, they do seem to have a "Its not good till ATI has it" mentallity
 
So is SM 3.0 going to be the Big thing to look for graphics wise in games for a while? or is something new on the horizion already.
 
USMC2Hard4U said:
So is SM 3.0 going to be the Big thing to look for graphics wise in games for a while? or is something new on the horizion already.

Somehwta ya, Look at Pics of AOE3, see all that fancy water effects? Thats SM3.0

Also, the next gen cards support something like WMg1.0 (Windows media graphics) or something like that. Its almost like a Dx9.5. not quite 10, but pretty close, no one knows what features it will give, but it should be good.
 
Terra said:
Hadn't this something to the with the WHQL-certification at Microsoft of the drivers?
Something about since they are not fully DX 9.0C compatible, they had to "disable" that feature in the driver in order to get the WHQL-certificaton?
But that it can be enabled via a .reg-hack?

Yes, that's true... It's disabled by default... But when it's enabled, you can detect and use it the way I described above (this hack is probably not WHQL-compatible). And it is only supported in the more recent drivers... since Catalyst 4.10 or such.
 
Back
Top