Click on the filename to display or download the file.
displace_wave_uv.mi
declare shader
scalar "displace_wave_uv" (
scalar "frequency_u" default 1,
scalar "amplitude_u" default .5,
scalar "frequency_v" default 1,
scalar "amplitude_v" default .5 )
version 1
apply displace
end declare
displace_wave_uv.c
#include "shader.h"
#include "miaux.h"
struct displace_wave_uv {
miScalar frequency_u;
miScalar amplitude_u;
miScalar frequency_v;
miScalar amplitude_v;
};
DLLEXPORT
int displace_wave_uv_version(void) { return(1); }
DLLEXPORT
miBoolean displace_wave_uv (
miScalar *result, miState *state, struct displace_wave_uv *params )
{
*result +=
miaux_sinusoid(state->tex_list[0].x,
*mi_eval_scalar(¶ms->frequency_u),
*mi_eval_scalar(¶ms->amplitude_u)) +
miaux_sinusoid(state->tex_list[0].y,
*mi_eval_scalar(¶ms->frequency_v),
*mi_eval_scalar(¶ms->amplitude_v));
return miTRUE;
}
displace_wave_uv_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