   Do you recommend a SM 3.0 graphics card?
  Hello!I have been programming in Direct3D for about 2 or 3 months and I am progressing at a rate I consider quite incredible. But soon, the limitations of my ATI Radeon 9200 will be evident and that will slow my progression. So I'm planning on getting a new graphics card for Christmas.Currently, I'm not using Vertex of Pixel Shaders, but I'm quite sure that I'll start using them in less than... lets say 4 months. I had had some bugs of unsupported Shader Model version with my current card and I desire not to have such trouble with my new card.1) Will having Shader Model 3.0 be a must in a few years?2) Should I make sure my card supports it?3) Will I have programming limitations if I don't?The only thing I know of Shader Model 3.0 is that it supports a theorically infinite number of shader code.Thanks for your future replies.   
  Shader Model 3.0 card is definately what you should go after, if you plan to develop high end graphics. Both Xbox360 and PS3 are also using SM3.0+ technology, so if you plan to ever apply to the game industry, it's good knowledge to have.   ;  Yes, youll be glad you have a shader 3.0 compatible card later on.   ;Quote:Original post by Trillian1) Will having Shader Model 3.0 be a must in a few years?In a few years? DefinitelyQuote:2) Should I make sure my card supports it?Definitely.Quote:3) Will I have programming limitations if I don't?Definitely. That is, if you want to write shaders. [wink]Quote:The only thing I know of Shader Model 3.0 is that it supports a theorically infinite number of shader code.There are a couple other things. One is that it supports dynamic branching (if-statements). That in itself can be a pretty significant thing. For example, you can use it to combine mulitple shaders into one, and just decide at runtime which to execute. Saves you a handful of state changes. Another is geometry instancing. If you're rendering lots of units from the same mesh, you can just supply new instance data (a new transformation matrix, for example, and maybe a few other shader-specific data), and reuse the actual vertex data, allowing you to draw them all with a single DrawPrimitive call.   ;  SM3 also means allows you to do texture sampling in the vertex shader which can be useful for displacement mapping and other things.   ;  Thanks for the replies!As you all consider it vital to have SM 3.0, I think I can't go wrong.I'll definitely go for it!Thanks   ;  Definately. Theres no reason not to since SM 3.0 capable cards are available as cheap as they are. On the low end, a GeForce 6200 can be had for 50-60 bucks, at the mid-range, a 6600 GT can be had for ~100, at the high end 6800 GTs can be had for ~200 as well as some cards from ATI, further still are the super-high-end 7800 and X1000 cards for ~350 to 500 bucks.The sweet spot, IMO, is the higher end 6800s, particularly the new variant that just came out, though I forget the name. It perfoms equally to the 6800 ultra, but costs around ~200. Definately best bang for the buck.   ;  The big thing about SM3 is flow control (branching, if's, loop's, etc) and the new ATi cards are extremely efficient at it.They pretty much double in speed running with flow control over running without.  NVIDIA cards on the other hand take a slight hit (in the above test).My suggestion would be for the X1 series from ATi.;Quote:Original post by TrillianHello!I have been programming in Direct3D for about 2 or 3 months and I am progressing at a rate I consider quite incredible. But soon, the limitations of my ATI Radeon 9200 will be evident and that will slow my progression. So I'm planning on getting a new graphics card for Christmas.Currently, I'm not using Vertex of Pixel Shaders, but I'm quite sure that I'll start using them in less than... lets say 4 months. I had had some bugs of unsupported Shader Model version with my current card and I desire not to have such trouble with my new card.1) Will having Shader Model 3.0 be a must in a few years?2) Should I make sure my card supports it?3) Will I have programming limitations if I don't?The only thing I know of Shader Model 3.0 is that it supports a theorically infinite number of shader code.Thanks for your future replies.I would buy an inexpensive NVidia part for christmas, something like a 6600. It has a better feature set then ATI's card (mainly, it can do texture loads in the VertexShadeR). Don't spend too much, you don't need the perf it if you are just playing around...I wouldnt' spend alot on one though, DX10 parts are just around the corner ;);  Yeah definitely get a SM3.0 card.Which one is a hard call... there are features that I like on both:NVIDIA:+ floating point texture filtering+ vertex texture reads- medium to slow dynamic flow control- vertex texture reads slow as dirt ;)- no anti-aliasing on floating point render targetsATI:+ multisampled antialiasing on floating point render targets+ render to vertex buffer+ super-fast dynamic flow control- no vertex texture read- no floating point texture filteringI don't think you can really go wrong with either though, as you probably won't hit those walls soon... at least not before the DX10 cards are out.   