You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
987 B
46 lines
987 B
!!ARBfp1.0
|
|
|
|
# This is the fragment program for two
|
|
# component dependent data with no shading
|
|
|
|
# We need some temporary variables
|
|
TEMP temp1, temp2, temp3;
|
|
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 scalar values / gradient
|
|
# magnitude in the first volume
|
|
TEX temp1, tex0, texture[0], 3D;
|
|
|
|
# Swizzle this to use (a,r) as texture
|
|
# coordinates for color, and (g,b) for
|
|
# opacity
|
|
SWZ temp2, temp1, a, r, 1, 1;
|
|
SWZ temp3, temp1, g, b, 1, 1;
|
|
|
|
# Use the (a,r) coordinate to look up a
|
|
# final color in the second texture
|
|
# (this is a 2D texture)
|
|
TEX finalColor, temp2, texture[1], 2D;
|
|
|
|
# Use the (g,b) coordinate to look up a
|
|
# final opacity in the fourth texture
|
|
# (this is a 2D texture)
|
|
TEX finalOpacity, temp3, texture[3], 2D;
|
|
|
|
# Combine these into the result
|
|
MOV out, finalColor;
|
|
MOV out.w, finalOpacity.w;
|
|
END
|
|
|
|
|
|
|
|
|
|
|
|
|