Triangle intersection

This is a very fast implementation of line to triabngle intersection. Useful for any kind of raytraceing.

f_raycast_trif

boolean f_raycast_trif(float orig[3], float dir[3], float vert0[3], float vert1[3], float vert2[3], float *t, float *u, float *v);

Description: 32 bit float line to triabngle intersection without backface culling.

f_raycast_tri_cullf

boolean f_raycast_tri_cullf(float orig[3], float dir[3], float vert0[3], float vert1[3], float vert2[3], float *t, float *u, float *v);

Description: 32 bit float line to triabngle intersection with backface culling.

f_raycast_trid

boolean f_raycast_trid(double orig[3], double dir[3], double vert0[3], double vert1[3], double vert2[3], double *t, double *u, double *v);

Description: 64 bit double line to triabngle intersection without backface culling.

f_raycast_tri_culld

boolean f_raycast_tri_culld(double orig[3], double dir[3], double vert0[3], double vert1[3], double vert2[3], double *t, double *u, double *v);

Description: 64 bit float line to triabngle intersection with backface culling.

f_shape_inside2df

int f_shape_inside2df(float *array, uint point_count, float x, float y);

Description: Tests if apoint is inside a closed 2D 32 bit float n-gon.

f_shape_inside2dd

int f_shape_inside2dd(double *array, uint point_count, double x, double y);

Description: Tests if apoint is inside a closed 2D 64 bit double n-gon.

f_image_scale_float

float *f_image_scale_float(float *data, unsigned int in_x, unsigned int in_y, unsigned int out_x, unsigned int out_y, unsigned int channels, unsigned int line_padding);

Description: scales an image. This implementation isn incomplete.

char *f_image_scale_uint8

unsigned char *f_image_scale_uint8(unsigned char *data, unsigned int in_x, unsigned int in_y, unsigned int out_x, unsigned int out_y, unsigned int channels, unsigned int line_padding);

Description: scales an image. This implementation isn incomplete.