Deano Calver
Newcomer
My very own space on Beyond3D
This is a lot harder than you would think.....
First obvious statement, is that this is purely a personal view. Feel free to disagree.
I don't have an preference for any card maker or console maker. At times I prefer one particular bit of hardware than other but every generation teads to change who is currently my favorite. Currently my favorite video card is ATI R3x00 based, this can largely be put down to the excellent D3D drivers ATI have produced. NVIDIA GeforceFX deosn't support a lot of features under its D3D drivers which is annoying.
An example :
R3x00 has extremely flexible render targets (upto 16 elements with each element being BYTE, SHORT, FP16, FP32 (actually FP24), 10 bit). GeforceFX can have 4 elements, with the only type being BYTE, the hardware can do better but its not currently available under D3D.
On a console front, I quite like PS2. Its really nice to work with the real hardware not some driver. It may be difficult for some people, but it suits me down to the ground, having direct access means more tricks. The VU are lovely once you understand their complexities, they are the best geometry shaders available, its fairly trivial to run tesselation programs as well as tradionational vertex programs. Pity the PS2 doesn't have any pixel shaders really.
One thing working with (and liking) the PS2 architecture is that you really appreciate polygons, on the PC side of things lots of people talk about low poly with per-pixel lighting being the way forward. I have to disagree, I want high poly with per-pixel lighting
Low poly work looks horrible, having good lighting and shadows doesn't componsate. A character (that undergoes skinning and animation) needs at least 5000 polygons (10000 is better), else the animation looks terrible and animation is more important than lighting. The whole shadow volume/per pixel lighting movement is producing some horrible looking characters compared to the low-tech PS2 characters. On PS2 they are approaching high number of polygons for characters (IIRC Jak and Dexter 2 has 12000 polygons) which mean muscles vains etc. Normal maps are better than no geometric details but they aren't a replacement.
The need for lots of polygons is really important when you come to jungles. Lots of trees is hard, by lots I'm not talking about 10 or 100, I'm talking about 1000s (in view). IIRC we have around 70,000 trees in one (quite small) level. A good tree needs a minimum of 2000 polygons (I think we hit around 5000) and for such low poly trees you need alpha-tested foliage (if you wanted purely polygon trees, you would need 50,000?), even wih LOD (imposters etc) we still need 100,000 to 250,000 polygons per frame. Trees also burn fillrate like nobody's business, before adding a front to back sorter we were getting overdraw of 50+ per pixel.
Indoors is easy, outdoors is where it gets hard.... Brute force fails completely outdoors, I once calculated that to brute force render the worst view of one of the levels would take some thing like 22,000,000 polygons per frame....
This is a lot harder than you would think.....
First obvious statement, is that this is purely a personal view. Feel free to disagree.
I don't have an preference for any card maker or console maker. At times I prefer one particular bit of hardware than other but every generation teads to change who is currently my favorite. Currently my favorite video card is ATI R3x00 based, this can largely be put down to the excellent D3D drivers ATI have produced. NVIDIA GeforceFX deosn't support a lot of features under its D3D drivers which is annoying.
An example :
R3x00 has extremely flexible render targets (upto 16 elements with each element being BYTE, SHORT, FP16, FP32 (actually FP24), 10 bit). GeforceFX can have 4 elements, with the only type being BYTE, the hardware can do better but its not currently available under D3D.
On a console front, I quite like PS2. Its really nice to work with the real hardware not some driver. It may be difficult for some people, but it suits me down to the ground, having direct access means more tricks. The VU are lovely once you understand their complexities, they are the best geometry shaders available, its fairly trivial to run tesselation programs as well as tradionational vertex programs. Pity the PS2 doesn't have any pixel shaders really.
One thing working with (and liking) the PS2 architecture is that you really appreciate polygons, on the PC side of things lots of people talk about low poly with per-pixel lighting being the way forward. I have to disagree, I want high poly with per-pixel lighting
Low poly work looks horrible, having good lighting and shadows doesn't componsate. A character (that undergoes skinning and animation) needs at least 5000 polygons (10000 is better), else the animation looks terrible and animation is more important than lighting. The whole shadow volume/per pixel lighting movement is producing some horrible looking characters compared to the low-tech PS2 characters. On PS2 they are approaching high number of polygons for characters (IIRC Jak and Dexter 2 has 12000 polygons) which mean muscles vains etc. Normal maps are better than no geometric details but they aren't a replacement.
The need for lots of polygons is really important when you come to jungles. Lots of trees is hard, by lots I'm not talking about 10 or 100, I'm talking about 1000s (in view). IIRC we have around 70,000 trees in one (quite small) level. A good tree needs a minimum of 2000 polygons (I think we hit around 5000) and for such low poly trees you need alpha-tested foliage (if you wanted purely polygon trees, you would need 50,000?), even wih LOD (imposters etc) we still need 100,000 to 250,000 polygons per frame. Trees also burn fillrate like nobody's business, before adding a front to back sorter we were getting overdraw of 50+ per pixel.
Indoors is easy, outdoors is where it gets hard.... Brute force fails completely outdoors, I once calculated that to brute force render the worst view of one of the levels would take some thing like 22,000,000 polygons per frame....