geekcomputing
[H]ard|Gawd
- Joined
- Aug 30, 2004
- Messages
- 1,100
Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
it looks as if 1.4 and 2.0 are dead from hereon in, with 1.1 being the legacy path. This is exacerbated by the fact that Xbox is 1.1 and Xbox 360 is 3.0 - 2.x isn't anywhere on the console scene
Sly said:This is the first explanation i've heard on why SplinterCell only supported PS1.1 and 3.0![]()
trinibwoy said:Actually that explanation was given back in 2004 during a B3D interview![]()
Yeah, the max shader length for SM3.0 is 65,535 instructions, not 32,000.Cypher19 said:Plus, it contains some significant bits of misinformation (the one that flies out at me is the instruction count summary on the final page).
The main differences between them can be summed up fairly easily. Each revision has allowed for the length of a shader - the number of separate instructions that can be executed - to be increased, allowing for increasingly complex and sophisticated effects to be created. The ways in which the programmes can be written has also improved - the 1.1 specification provides just for straight code, whilst the 2.x revisions allow for some looping to take please to repeat lines of code. The 3.0 model allows for dynamic branching along the lines of if -> then statements in code. Increasingly smooth techniques for cutting the length of code have been made, allowing for speed improvements. Possibly the biggest single change between the 2.x and 3.0 specification is the addition of Vertex texture lookups in 3.0, which allows for displacement mapping to take place.
The higher colour precision means that the 3.0 path allows High Dynamic Range lighting, which presents a much more varied colour range on your screen. Brights are brighter and darks are darker, with the overall experience appearing far less bland. There is a big performance hit for enabling it, due to the extra precision on the mathematical calculations, but the next generation of hardware, such as the GeForce 7800 GTX, is far more competent at it.
because 3.0 is more efficient.
The Soft shadows obviously allow for better quality shadows - this is partly achieved by having the 3.0 shadow shader use dynamic branching to execute quicker - dynamic branching being part of the 3.0 spec.
Crucially, the next DirectX specification, WGF, calls for a unified specification for pixel and vertex shaders, so that the two can be used interchangeably at a software level.
It sports a next-generation user interface, codenamed Aero,
Cypher19 said:What higher colour precision? 24-bits is STILL enough for any graphics algorithm out there. The HDR support is an entirely seperate feature that came with SM2.0 cards (9x00 and FX). The 3.0 path is able to use HDR because so many more instructions are required for all of the post process effects (bloom, glare, exposure) that people associate HDR with. Also, it is primarily because of those effects that performance suffers, not just because floating point render targets are suddenly being used.
Backface register? All that contains right now is a freakin' sign, and I can't even think of ANY practical use for it (two lighting calcs in one pass couldn't be further from the truth).
Edit: Whoops, missed one point. 32-bit per channel FP targets DO exist, I forget what cards support them. I know I'm using a single-channel 32-bit FP target at home for my shadowing demo on my X800Pro, so Xx00 and 6x00 cards probably support them, assuming 9x00 and FX don't.
Two-sided lighting ofcourse. You apply the sign to the normalvector, so backfaces can be lit properly aswell. Normally you'd have to double the backface geometry and send it twice, with the proper normal for each side, or alternatively render the geometry twice, first with a frontface shader and backface culling, then with a backface shader and frontface culling. Not a good idea in geometry-limited situations.
Cypher19 said:And that's useful how? Backfaces aren't supposed to be visible to the user, or if you're using it to light it up, they're not supposed to be lit. The lighting demo I made at home runs awesomely without any tweaks to backfaces or anything.