1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
!!ARBfp1.0
# This is the fragment program for four
# component dependent data with no shading
# We need some temporary variables
TEMP temp1, temp2;
TEMP finalColor, finalOpacity;
# We are going to use the first
# texture coordinate
ATTRIB tex0 = fragment.texcoord[0];
# This is our output color
OUTPUT out = result.color;
# Look up the color in the first volume
TEX finalColor, tex0, texture[0], 3D;
# Look up the fourth scalar / gradient
# magnitude in the second volume
TEX temp1, tex0, texture[1], 3D;
# Swizzle this to use (a,r) as texture
# coordinates for color, and (g,b) for
# opacity
SWZ temp2, temp1, a, r, 1, 1;
# Use the (a,r) coordinate to look up a
# final opacity in the fourth texture
# (this is a 2D texture)
TEX finalOpacity, temp2, texture[3], 2D;
# Combine these into the result
MOV out, finalColor;
MOV out.w, finalOpacity.w;
END
|