Click on the filename to display or download the file.
bump_wave.mi
declare shader
color "bump_wave" (
scalar "frequency" default 1,
scalar "amplitude" default .5 )
version 1
apply material
end declare
bump_wave.c
#include "shader.h"
#include "miaux.h"
struct bump_wave {
miScalar frequency;
miScalar amplitude;
};
DLLEXPORT
int bump_wave_version(void) { return(1); }
DLLEXPORT
miBoolean bump_wave (
miColor *result, miState *state, struct bump_wave *params )
{
state->normal.x += miaux_sinusoid(state->point.x,
*mi_eval_scalar(¶ms->frequency),
*mi_eval_scalar(¶ms->amplitude));
mi_vector_normalize(&state->normal);
return miTRUE;
}
bump_wave_util.c
double miaux_sinusoid_fit(
double v, double oldmin, double oldmax, double newmin, double newmax)
{
return miaux_fit(sin(miaux_fit(v, oldmin, oldmax, -M_PI_2, M_PI_2)),
-1, 1,
newmin, newmax);
}
22 April 2008 23:40:32