Click on the filename to display or download the file.
depth_fade.mi
declare shader
color "depth_fade" (
scalar "near",
scalar "far" )
version 1
apply material
end declare
depth_fade.c
#include "shader.h"
struct depth_fade {
miScalar near;
miScalar far;
};
DLLEXPORT
int depth_fade_version(void) { return(1); }
DLLEXPORT
miBoolean depth_fade (
miColor *result, miState *state, struct depth_fade *params )
{
miScalar near = *mi_eval_scalar(¶ms->near);
miScalar far = *mi_eval_scalar(¶ms->far);
miScalar zpos = state->point.z, factor;
if (zpos > near)
factor = 1.0;
else if (zpos < far)
factor = 0.0;
else
factor = (zpos - far) / (near - far);
result->r = result->g = result->b = factor;
return miTRUE;
}
22 April 2008 23:39:49