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.