High-Tech And Vertex Juggling - NVIDIA's New GeForce3 GPU
Features
By Thomas Pabst
published Pixel Shader Programming, Continued
Above you see a typical example for EMBM.
Here's a list of the rather simple texture blending instructions:
Swipe to scroll horizontally
Texture Blending Instruction | Parameters | Explanation |
---|---|---|
add | dest, src1, src2 | dest = src1 + sr2 |
sub | dest, src1, src2 | dest = src1 - src2 |
dp3 | dest, src1, src2 | dest = ( src1.x * src2.x + src1.y * src2.y ...) |
lrp | dest, factor, src1, src2 | dest = (factor)src1 + ( 1-factor)src2 |
mul | dest, src0, src1 | dest = src0 * src1 |
mad | dest, src0, src1, src2 | dest = ( src0 + src1 * src2 ) |
mov | dest, src | dest = src |
cnd | dest, r0.a, src1, src2 | if ( r0.a > 0.5 ) { dest = src1; } else { dest = src2; } |
The pixel shader supports argument and instruction modifiers as well, to make life easier for programmers:
Swipe to scroll horizontally
Modifier | Explanation |
---|---|
r0.a | Alpha Replicate |
1 - r0 | Invert |
-r0 | Negate |
r0_bias | Bias - subtract 0.5 |
r1+bx2 | Signed Scale - 2 * ( x - 0.5f ) |
_x2 | double result |
_x4 | quadruple result |
_d2 | halve result |
_sat | clamp < 0 to 0 and < 1 to 1 |
So far about the dry theory of pixel shader programming. Let's get to something more interesting.
Stay On the Cutting Edge: Get the Tom's Hardware Newsletter
Get Tom's Hardware's best news and in-depth reviews, straight to your inbox.
Current page: Pixel Shader Programming, Continued
Prev Page 2 Textures Per Clock Cycle, But 4 Textures Per Pass? Next Page Advances And Advantages Of The Pixel ShaderMore about gpus
No comments yet
Comment from the forums