#include "tr_local.h"
Include dependency graph for tr_noise.c:

Go to the source code of this file.
Defines | |
| #define | INDEX(x, y, z, t) VAL( x + VAL( y + VAL( z + VAL( t ) ) ) ) |
| #define | LERP(a, b, w) ( a * ( 1.0f - w ) + b * w ) |
| #define | NOISE_MASK ( NOISE_SIZE - 1 ) |
| #define | NOISE_SIZE 256 |
| #define | VAL(a) s_noise_perm[ ( a ) & ( NOISE_MASK )] |
Functions | |
| float | GetNoiseValue (int x, int y, int z, int t) |
| float | R_NoiseGet4f (float x, float y, float z, float t) |
| void | R_NoiseInit (void) |
Variables | |
| int | s_noise_perm [NOISE_SIZE] |
| float | s_noise_table [NOISE_SIZE] |
|
|
Definition at line 29 of file tr_noise.c. Referenced by GetNoiseValue(). |
|
|
Definition at line 34 of file tr_noise.c. Referenced by R_NoiseGet4f(). |
|
|
Definition at line 26 of file tr_noise.c. |
|
|
Definition at line 25 of file tr_noise.c. |
|
|
Definition at line 28 of file tr_noise.c. |
|
||||||||||||||||||||
|
Definition at line 36 of file tr_noise.c. References INDEX, s_noise_table, t, x, y, and z. Referenced by R_NoiseGet4f(). 00037 {
00038 int index = INDEX( ( int ) x, ( int ) y, ( int ) z, ( int ) t );
00039
00040 return s_noise_table[index];
00041 }
|
|
||||||||||||||||||||
|
Definition at line 56 of file tr_noise.c. References floor(), GetNoiseValue(), i, LERP, t, value, x, y, and z. Referenced by RB_CalcDeformNormals(), and RB_CalcWaveColor(). 00057 {
00058 int i;
00059 int ix, iy, iz, it;
00060 float fx, fy, fz, ft;
00061 float front[4];
00062 float back[4];
00063 float fvalue, bvalue, value[2], finalvalue;
00064
00065 ix = ( int ) floor( x );
00066 fx = x - ix;
00067 iy = ( int ) floor( y );
00068 fy = y - iy;
00069 iz = ( int ) floor( z );
00070 fz = z - iz;
00071 it = ( int ) floor( t );
00072 ft = t - it;
00073
00074 for ( i = 0; i < 2; i++ )
00075 {
00076 front[0] = GetNoiseValue( ix, iy, iz, it + i );
00077 front[1] = GetNoiseValue( ix+1, iy, iz, it + i );
00078 front[2] = GetNoiseValue( ix, iy+1, iz, it + i );
00079 front[3] = GetNoiseValue( ix+1, iy+1, iz, it + i );
00080
00081 back[0] = GetNoiseValue( ix, iy, iz + 1, it + i );
00082 back[1] = GetNoiseValue( ix+1, iy, iz + 1, it + i );
00083 back[2] = GetNoiseValue( ix, iy+1, iz + 1, it + i );
00084 back[3] = GetNoiseValue( ix+1, iy+1, iz + 1, it + i );
00085
00086 fvalue = LERP( LERP( front[0], front[1], fx ), LERP( front[2], front[3], fx ), fy );
00087 bvalue = LERP( LERP( back[0], back[1], fx ), LERP( back[2], back[3], fx ), fy );
00088
00089 value[i] = LERP( fvalue, bvalue, fz );
00090 }
00091
00092 finalvalue = LERP( value[0], value[1], ft );
00093
00094 return finalvalue;
00095 }
|
Here is the call graph for this function:

|
|
Definition at line 43 of file tr_noise.c. References i, rand(), RAND_MAX, s_noise_perm, s_noise_table, and srand(). Referenced by R_Init(). 00044 {
00045 int i;
00046
00047 srand( 1001 );
00048
00049 for ( i = 0; i < NOISE_SIZE; i++ )
00050 {
00051 s_noise_table[i] = ( float ) ( ( ( rand() / ( float ) RAND_MAX ) * 2.0 - 1.0 ) );
00052 s_noise_perm[i] = ( unsigned char ) ( rand() / ( float ) RAND_MAX * 255 );
00053 }
00054 }
|
Here is the call graph for this function:

|
|
Definition at line 32 of file tr_noise.c. Referenced by R_NoiseInit(). |
|
|
Definition at line 31 of file tr_noise.c. Referenced by GetNoiseValue(), and R_NoiseInit(). |
1.3.9.1