--- ray/src/rt/noise3.c 1991/10/10 16:43:40 1.7 +++ ray/src/rt/noise3.c 2003/02/25 02:47:22 2.7 @@ -1,20 +1,17 @@ -/* Copyright (c) 1988 Regents of the University of California */ - #ifndef lint -static char SCCSid[] = "$SunId$ LBL"; +static const char RCSid[] = "$Id: noise3.c,v 2.7 2003/02/25 02:47:22 greg Exp $"; #endif - /* * noise3.c - noise functions for random textures. * * Credit for the smooth algorithm goes to Ken Perlin. * (ref. SIGGRAPH Vol 19, No 3, pp 287-96) - * - * 4/15/86 - * 5/19/88 Added fractal noise function */ +#include "copyright.h" +#include + #define A 0 #define B 1 #define C 2 @@ -35,16 +32,17 @@ static char SCCSid[] = "$SunId$ LBL"; r0*hpoly3(t) + \ r1*hpoly4(t) ) -static char noise_name[4][8] = {"noise3a", "noise3b", "noise3c", "noise3"}; +static char noise_name[4][8] = {"noise3x", "noise3y", "noise3z", "noise3"}; static char fnoise_name[] = "fnoise3"; static char hermite_name[] = "hermite"; double *noise3(), fnoise3(), argument(), frand(); +static interpolate(); static long xlim[3][2]; static double xarg[3]; -#define EPSILON .0001 /* error allowed in fractal */ +#define EPSILON .001 /* error allowed in fractal */ #define frand3(x,y,z) frand(17*(x)+23*(y)+29*(z)) @@ -99,7 +97,6 @@ double * noise3(xnew) /* compute the noise function */ register double xnew[3]; { - extern double floor(); static double x[3] = {-100000.0, -100000.0, -100000.0}; static double f[4]; @@ -156,7 +153,6 @@ double fnoise3(p) /* compute fractal noise function */ double p[3]; { - double floor(); long t[3], v[3], beg[3]; double fval[8], fc; int branch;