Click on the filename to display or download the file.
show_barycentric.mi
declare shader
color "show_barycentric" (
color "a" default 1 .3 .3,
color "b" default .3 1 .3,
color "c" default .3 .3 1 )
version 1
apply material
end declare
show_barycentric.c
#include "shader.h"
#include "miaux.h"
struct show_barycentric {
miColor a;
miColor b;
miColor c;
};
DLLEXPORT
int show_barycentric_version(void) {return 1;}
DLLEXPORT
miBoolean show_barycentric (
miColor *result, miState *state, struct show_barycentric *params )
{
miaux_add_scaled_color(result, mi_eval_color(¶ms->a), state->bary[0]);
miaux_add_scaled_color(result, mi_eval_color(¶ms->b), state->bary[1]);
miaux_add_scaled_color(result, mi_eval_color(¶ms->c), state->bary[2]);
return miTRUE;
}
show_barycentric_util.c
void miaux_add_scaled_color(miColor *result, miColor *color, miScalar scale)
{
result->r += color->r * scale;
result->g += color->g * scale;
result->b += color->b * scale;
}
22 April 2008 23:40:00