31extern void vector_apply(VECTOR output, VECTOR input0, MATRIX input1);
 
   34extern void vector_clamp(VECTOR output, VECTOR input0, 
float min, 
float max);
 
   37extern void vector_copy(VECTOR output, VECTOR input0);
 
   43extern void vector_multiply(VECTOR output, VECTOR input0, VECTOR input1);
 
   52extern void vector_add(VECTOR sum, VECTOR addend, VECTOR summand);
 
   62extern void matrix_copy(MATRIX output, MATRIX input0);
 
   68extern void matrix_multiply(MATRIX output, MATRIX input0, MATRIX input1);
 
   71extern void matrix_rotate(MATRIX output, MATRIX input0, VECTOR input1);
 
   74extern void matrix_scale(MATRIX output, MATRIX input0, VECTOR input1);
 
   90extern void create_local_world(MATRIX local_world, VECTOR translation, VECTOR rotation);
 
  100extern void create_world_view(MATRIX world_view, VECTOR translation, VECTOR rotation);
 
  105extern void create_view_screen(MATRIX view_screen, 
float aspect, 
float left, 
float right, 
float bottom, 
float top, 
float near, 
float far);
 
  110extern void create_local_screen(MATRIX local_screen, MATRIX local_world, MATRIX world_view, MATRIX view_screen);
 
  115#define LIGHT_AMBIENT   0 
  117#define LIGHT_DIRECTIONAL 1 
  123extern void calculate_lights(VECTOR *output, 
int count, VECTOR *normals, VECTOR *light_directions, VECTOR *light_colours, 
const int *light_types, 
int light_count);
 
void vector_normalize(VECTOR output, VECTOR input0)
void vector_cross_product(VECTOR product, VECTOR multiplicand, VECTOR multiplier)
void create_local_screen(MATRIX local_screen, MATRIX local_world, MATRIX world_view, MATRIX view_screen)
void matrix_multiply(MATRIX output, MATRIX input0, MATRIX input1)
void vector_copy(VECTOR output, VECTOR input0)
void vector_multiply(VECTOR output, VECTOR input0, VECTOR input1)
void vector_clamp(VECTOR output, VECTOR input0, float min, float max)
void create_local_world(MATRIX local_world, VECTOR translation, VECTOR rotation)
void matrix_copy(MATRIX output, MATRIX input0)
float vector_innerproduct(VECTOR input0, VECTOR input1)
void matrix_inverse(MATRIX output, MATRIX input0)
void calculate_lights(VECTOR *output, int count, VECTOR *normals, VECTOR *light_directions, VECTOR *light_colours, const int *light_types, int light_count)
void vector_triangle_normal(VECTOR output, VECTOR a, VECTOR b, VECTOR c)
void calculate_vertices(VECTOR *output, int count, VECTOR *vertices, MATRIX local_screen)
void matrix_scale(MATRIX output, MATRIX input0, VECTOR input1)
void matrix_rotate(MATRIX output, MATRIX input0, VECTOR input1)
void vector_add(VECTOR sum, VECTOR addend, VECTOR summand)
void matrix_unit(MATRIX output)
void create_world_view(MATRIX world_view, VECTOR translation, VECTOR rotation)
void vector_outerproduct(VECTOR output, VECTOR input0, VECTOR input1)
void create_view_screen(MATRIX view_screen, float aspect, float left, float right, float bottom, float top, float near, float far)
void calculate_normals(VECTOR *output, int count, VECTOR *normals, MATRIX local_light)
void vector_apply(VECTOR output, VECTOR input0, MATRIX input1)
void matrix_translate(MATRIX output, MATRIX input0, VECTOR input1)
void calculate_colours(VECTOR *output, int count, VECTOR *colours, VECTOR *lights)
void create_local_light(MATRIX local_light, VECTOR rotation)
void matrix_transpose(MATRIX output, MATRIX input0)
u32 count
start sector of fragmented bd/file