Tachyon (current)
Current Main Branch
|
Tachyon cross-platform timers, special math function wrappers, and RNGs. More...
Go to the source code of this file.
Data Structures | |
struct | rng_urand_handle |
Macros | |
#define | ACOS(x) acos(x) |
#define | COS(x) cos(x) |
#define | EXP(x) exp(x) |
#define | FABS(x) fabs(x) |
#define | POW(x, y) pow(x, y) |
#define | SIN(x) sin(x) |
#define | SQRT(x) sqrt(x) |
#define | SINCOS(ax, sx, cx) sincos(ax, sx, cx) |
#define | RT_RAND_MAX 4294967296.0 /* Max random value from rt_rand */ |
#define | RT_RAND_MAX_INV 2.3283064365e-10 /* Max random value from rt_rand */ |
#define | RT_RNG_USE_KISS93 1 |
#define | RT_RNG_MAX 4294967296.0 /* max urand value: 2^32 */ |
Typedefs | |
typedef void * | rt_timerhandle |
typedef rng_urand_handle | rng_frand_handle |
typedef rng_urand_handle | rng_drand_handle |
Functions | |
rt_timerhandle | rt_timer_create (void) |
void | rt_timer_destroy (rt_timerhandle) |
void | rt_timer_start (rt_timerhandle) |
void | rt_timer_stop (rt_timerhandle) |
double | rt_timer_time (rt_timerhandle) |
double | rt_timer_timenow (rt_timerhandle) |
unsigned int | rt_rand (unsigned int *) |
void | rng_urand_init (rng_urand_handle *rngh) |
void | rng_urand_seed (rng_urand_handle *rngh, unsigned int seed) |
unsigned int | rng_urand (rng_urand_handle *rngh) |
void | rng_frand_init (rng_frand_handle *rngh) |
float | rng_frand (rng_frand_handle *rngh) |
void | rng_frand_seed (rng_frand_handle *rngh, unsigned int seed) |
void | rng_drand_init (rng_drand_handle *rngh) |
double | rng_drand (rng_frand_handle *rngh) |
void | rng_drand_seed (rng_frand_handle *rngh, unsigned int seed) |
unsigned int | rng_seed_from_tid_nodeid (int tid, int node) |
unsigned int | tea2 (unsigned int v0, unsigned int v1) |
unsigned int | tea4 (unsigned int v0, unsigned int v1) |
void | jitter_offset2f (unsigned int *pval, float *xy) |
void | jitter_disc2f (unsigned int *pval, float *xy) |
void | jitter_sphere3f (rng_frand_handle *rngh, float *dir) |
Tachyon cross-platform timers, special math function wrappers, and RNGs.
Definition in file util.h.
#define ACOS | ( | x | ) | acos(x) |
Definition at line 25 of file util.h.
Referenced by light_spotlight_falloff(), xytopolar(), xyztocyl(), and xyztospr().
#define COS | ( | x | ) | cos(x) |
Definition at line 26 of file util.h.
Referenced by cam_fisheye_ray(), full_shader(), jitter_disc2f(), marble_texture(), medium_shader(), rt_tri_fcylinder(), and rt_tri_ring().
#define EXP | ( | x | ) | exp(x) |
Definition at line 27 of file util.h.
Referenced by fog_color_exp(), and fog_color_exp2().
#define FABS | ( | x | ) | fabs(x) |
Definition at line 28 of file util.h.
Referenced by box_normal(), checker_texture(), cyl_checker_texture(), cylinder_intersect(), ext_volume_texture(), fcylinder_intersect(), image_cyl_texture(), image_plane_texture(), image_sphere_texture(), image_volume_texture(), marble_texture(), Noise(), par_volume_texture(), and scalar_volume_texture().
#define POW | ( | x, | |
y | |||
) | pow(x, y) |
Definition at line 29 of file util.h.
Referenced by full_shader(), gamma_rgb96f(), medium_shader(), shade_blinn(), and shade_phong().
#define RT_RAND_MAX 4294967296.0 /* Max random value from rt_rand */ |
#define RT_RAND_MAX_INV 2.3283064365e-10 /* Max random value from rt_rand */ |
Definition at line 72 of file util.h.
Referenced by adjust(), InitNoise(), jitter_disc2f(), jitter_offset2f(), rt_landscape(), sky_plane_background_texture(), and sky_sphere_background_texture().
#define RT_RNG_MAX 4294967296.0 /* max urand value: 2^32 */ |
Definition at line 108 of file util.h.
Referenced by rng_drand(), and rng_frand().
#define SIN | ( | x | ) | sin(x) |
Definition at line 30 of file util.h.
Referenced by cam_fisheye_ray(), jitter_disc2f(), marble_texture(), rt_tri_fcylinder(), rt_tri_ring(), wood_texture(), and xyztospr().
#define SINCOS | ( | ax, | |
sx, | |||
cx | |||
) | sincos(ax, sx, cx) |
Definition at line 39 of file util.h.
Referenced by cam_equirectangular_ray(), and cam_equirectangular_stereo_ray().
#define SQRT | ( | x | ) | sqrt(x) |
Definition at line 31 of file util.h.
Referenced by adjust(), cam_equirectangular_ray(), cam_equirectangular_stereo_ray(), cam_perspective_dof_ray(), cam_prep_perspective_ray(), cylinder_intersect(), cylinder_normal(), fcylinder_intersect(), image_cyl_texture(), image_sphere_texture(), jitter_disc2f(), light_intersect(), light_normal(), point_light_shade_diffuse(), quadric_intersect(), quadric_normal(), ring_intersect(), scalar_volume_texture(), shade_blinn(), shade_blinn_fast(), simple_point_light_shade_diffuse(), sphere_intersect(), sphere_normal(), stri_normal(), stri_normal_guess(), stri_normal_reverse(), tri_normal(), VLength(), VNorm(), xytopolar(), xyztocyl(), and xyztospr().
typedef rng_urand_handle rng_drand_handle |
typedef rng_urand_handle rng_frand_handle |
typedef void* rt_timerhandle |
void jitter_disc2f | ( | unsigned int * | pval, |
float * | xy | ||
) |
void jitter_offset2f | ( | unsigned int * | pval, |
float * | xy | ||
) |
Definition at line 751 of file util.c.
References rt_rand(), and RT_RAND_MAX_INV.
void jitter_sphere3f | ( | rng_frand_handle * | rngh, |
float * | dir | ||
) |
Definition at line 779 of file util.c.
References rng_frand().
Referenced by shade_ambient_occlusion().
double rng_drand | ( | rng_frand_handle * | rngh | ) |
Definition at line 572 of file util.c.
References rng_urand(), and RT_RNG_MAX.
void rng_drand_init | ( | rng_drand_handle * | rngh | ) |
Definition at line 568 of file util.c.
References rng_urand_init().
void rng_drand_seed | ( | rng_frand_handle * | rngh, |
unsigned int | seed | ||
) |
Definition at line 576 of file util.c.
References rng_urand_seed().
float rng_frand | ( | rng_frand_handle * | rngh | ) |
Definition at line 560 of file util.c.
References rng_urand(), and RT_RNG_MAX.
Referenced by jitter_sphere3f().
void rng_frand_init | ( | rng_frand_handle * | rngh | ) |
void rng_frand_seed | ( | rng_frand_handle * | rngh, |
unsigned int | seed | ||
) |
unsigned int rng_urand | ( | rng_urand_handle * | rngh | ) |
Definition at line 501 of file util.c.
References rng_urand_handle::c, rng_urand_handle::k, rng_urand_handle::m, rng_urand_handle::w, rng_urand_handle::x, rng_urand_handle::y, and rng_urand_handle::z.
Referenced by rng_drand(), and rng_frand().
void rng_urand_init | ( | rng_urand_handle * | rngh | ) |
Definition at line 483 of file util.c.
References rng_urand_handle::c, rng_urand_handle::k, rng_urand_handle::m, rng_urand_handle::w, rng_urand_handle::x, rng_urand_handle::y, and rng_urand_handle::z.
Referenced by rng_drand_init(), and rng_frand_init().
void rng_urand_seed | ( | rng_urand_handle * | rngh, |
unsigned int | seed | ||
) |
Definition at line 493 of file util.c.
References rng_urand_handle::c, rng_urand_handle::w, rng_urand_handle::x, rng_urand_handle::y, and rng_urand_handle::z.
Referenced by rng_drand_seed(), and rng_frand_seed().
unsigned int rt_rand | ( | unsigned int * | ) |
Definition at line 324 of file util.c.
Referenced by adjust(), InitNoise(), jitter_disc2f(), jitter_offset2f(), rt_landscape(), sky_plane_background_texture(), and sky_sphere_background_texture().
rt_timerhandle rt_timer_create | ( | void | ) |
Definition at line 226 of file util.c.
Referenced by animate_scene(), fly_scene(), main(), rendercheck(), renderio(), and renderscene().
void rt_timer_destroy | ( | rt_timerhandle | ) |
Definition at line 233 of file util.c.
Referenced by animate_scene(), fly_scene(), main(), rendercheck(), renderio(), and renderscene().
void rt_timer_start | ( | rt_timerhandle | ) |
Definition at line 168 of file util.c.
References rt_timer::tz.
Referenced by animate_scene(), fly_scene(), main(), rendercheck(), renderio(), and renderscene().
void rt_timer_stop | ( | rt_timerhandle | ) |
Definition at line 177 of file util.c.
References rt_timer::endtime, and rt_timer::tz.
Referenced by animate_scene(), fly_scene(), main(), rendercheck(), renderio(), renderscene(), and rt_timer_timenow().
double rt_timer_time | ( | rt_timerhandle | ) |
Definition at line 186 of file util.c.
References rt_timer::endtime.
Referenced by animate_scene(), fly_scene(), main(), rendercheck(), renderio(), renderscene(), and rt_timer_timenow().
double rt_timer_timenow | ( | rt_timerhandle | ) |
Definition at line 237 of file util.c.
References rt_timer_stop(), and rt_timer_time().
unsigned int tea4 | ( | unsigned int | v0, |
unsigned int | v1 | ||
) |
Definition at line 626 of file util.c.
Referenced by sky_plane_background_texture(), sky_sphere_background_texture(), and thread_trace().