Is this a good summarization of shader model 3?

lyme said:
IMO the most important feature of SM3.0 over SM2.0 is simply dynamic branching.
There's also texturing in the vertex shaders. I'd call that pretty significant.
 
The example you cite are poor. Previously we’ve been reliant on new technology to bring new functionality, but that’s no longer the case with programmable shader models – we aren’t as limited in terms of what the hardware can do, but more what the developer is enabled to do with the programmability. Where are the cases that have reached the limitations in terms of what cane be done with, heck, PS1.4 let alone PS2.0 or PS2.0a/b (which can provide at least 4X the instruction lengths PS2.0 can).

Enabling faster hardware (with greater instruction lengths) will still bring more to gaming environments in now and in the future because developers will have confidence that the performance will be there to allow them to use longer, more complicated shaders.
 
That's not strictly the case. It has been shown to be possible to use fixed-function OpenGL for essentially general-purpose rendering.

What has been changing is the feasibility of certain algorithms. Before a feature is supported, the algorithm is just too slow to use in a game. Afterwards, it's usually fast enough.

This hasn't changed with PS 3.0. There are many algorithms that one can now accelerate on the GPU that just weren't feasible for a realtime situation before PS 3.0.

Examples:
With branching one can have a shader that changes based upon the output of the vertex shader, for instance. If the boundary between shaders on a model is too complex, it may not be feasible to render in realtime with using such an "ubershader."

With vertex textures, one can use output from the pixel program directly in the vertex program, allowing much better acceleration for some non-graphics work, such as water or cloth animation.
 
Back
Top