As I'm implementing multiplayer into my game, I'm going to also be overhauling the graphics engine as well. Right now the game doesn't use ANY pixel/vertex shaders, it's all done completly using the fixed function pipeline *embarrassed*. With the power of today's graphics cards this is absolutly not acceptable.
My main reason for doing this will be to shift my current software skinning onto the graphics card. Last time I profiled the game, I was spending about 25%+ of the CPU cycles animating/transforming the character/vehicle models...again, this is not acceptable. As I'm now adding multiplayer to the game, I'll be needing those CPU cycles :-)
I'm not going to require users to have the latest PS 3.0 graphics card. In fact since I've designed the whole engine up to this point to use the fixed function pipeline, I'm not going to have any requirements, I can always fall back to this implementation.
I'm really making this switch out of necessity, though there will be all kinds of benifits...just wait 'till you see the cityscapes I'm going to come up with. Reflections on the sides of the buildings/cars will now be a reality. I'm going to add some pretty badass water into the game as well.
I'm working on the game fulltime, and I'm going to charge money for the game...so it's the least I can do for my customers. Also I hope that by doing this I'll make the game a little more competitive.
I'm going to be targeting Vertex Shader 2.0, and Pixel Shader 2.0. If these shader models are not supported I'll fallback to VS1.1 & PS1.3. If those aren't supported....I'll use the fixed function pipeline to replace each one's functionality. That's how it looks right now, I'm still doing some basic tests to see exactly what I'm in for. Though it looks like I'll need to write a few different versions of each shader for different hardware.
Here's a screenshot of a slightly confused gangsta' :-) This is actually using a 256x256 texture for the character, I'll be replacing them with 512x512 versions soon.
Alright...back to work...wish me luck ;-)
[EDIT QUICK UPDATE]
Alright...I did up a test app. and I'm displaying 900 animated models, with a 512x512 texture, and 1100 tris each. I'm getting about 60 FPS at 1280x1024 I can't believe it....where have vertex shaders been all my life!?!?! They're all using the same animation & texture...but still...jeeezus, I should make a Total War game or something lol. Throw some Romans into the game for shits and giggles.