Click on the filename to display or download the file.
displace_wave.mi
declare shader
scalar "displace_wave" (
scalar "frequency" default 1,
scalar "amplitude" default .5 )
version 1
apply displace
end declare
displace_wave.c
#include "shader.h"
#include "miaux.h"
struct displace_wave {
miScalar frequency;
miScalar amplitude;
};
DLLEXPORT
int displace_wave_version(void) { return(1); }
DLLEXPORT
miBoolean displace_wave (
miScalar *result, miState *state, struct displace_wave *params )
{
*result += miaux_sinusoid(state->point.x,
*mi_eval_scalar(¶ms->frequency),
*mi_eval_scalar(¶ms->amplitude));
return miTRUE;
}
displace_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:29