#include <windows.h>
#include <GL/gl.h>
#include <GL/glu.h>
#include "types.h"
#include "functions.h"
#include "constants.h"
#include <fstream>
#include <iostream>
Defines | |
#define | NOMINMAX |
Functions | |
void | createunitymatrix (float A[16]) |
interpolate a float value based on elapsed time | |
void | initmatrix (bone_t *bone) |
draw a skeleton | |
void | applytransformation (bone_t *bone, float transformationmatrix[16]) |
correct rounding-errors BUGGY | |
void | rotatebone (bone_t *bone, bone_t *parentbone, float pitch, float yaw, float azimuth) |
calculate the cross-product of two vectors | |
void | drawbone (bone_t *bone, bone_t *selectedbone, int flags) |
rotate a bone and apply the new transformation matrix to all attached children | |
bone_t * | getboneforindex (int index, bone_t *root) |
set a bones transformation matrix to identity | |
int | getindex (vector< int > v, int a) |
get a part of a string (blank-delimited), (e.g. "hello" from "hello world") | |
int | updateskeleton (skeleton_t *skeleton, keyframe_t oldstate, keyframe_t newstate, int dt) |
get a bone from a skeleton providing an index | |
int | resetbones (bone_t *root) |
recalculate all bones by interpolation between two keyframes | |
float | interpolate (float oldvalue, float newvalue, float totaltime, float dt) |
recursively apply a transformation matrix to a bone and all attached children | |
int | storeAllBones (fstream *f, bone_t *root) |
store rotation for a bone | |
int | storeBoneRotations (fstream *f, bone_t *bone) |
load animations from a file | |
int | countchildren (bone_t *root) |
reset bone positions | |
int | skinmesh (model_t *model, skeleton_t *skeleton) |
display a model (source type "obj") | |
int | updatemodel (model_t *model, skeleton_t *skeleton, keyframe_t oldstate, keyframe_t newstate, float dt) |
count children for a given bone | |
int | rebuildskeleton (bone_t *root, float ACCUMULATION_MATRIX[16]) |
update model | |
int | skin_mesh (model_t *model, skeleton_t *skeleton) |
rebuild bone-accumulation matrices and positions |
#define NOMINMAX |
void applytransformation | ( | bone_t * | bone, | |
float | transformationmatrix[16] | |||
) |
correct rounding-errors BUGGY
int countchildren | ( | bone_t * | root | ) |
reset bone positions
void createunitymatrix | ( | float | A[16] | ) |
interpolate a float value based on elapsed time
rotate a bone and apply the new transformation matrix to all attached children
int getindex | ( | vector< int > | v, | |
int | a | |||
) |
get a part of a string (blank-delimited), (e.g. "hello" from "hello world")
void initmatrix | ( | bone_t * | bone | ) |
draw a skeleton
float interpolate | ( | float | oldvalue, | |
float | newvalue, | |||
float | totaltime, | |||
float | dt | |||
) |
recursively apply a transformation matrix to a bone and all attached children
int rebuildskeleton | ( | bone_t * | root, | |
float | ACCUMULATION_MATRIX[16] | |||
) |
update model
int resetbones | ( | bone_t * | root | ) |
recalculate all bones by interpolation between two keyframes
calculate the cross-product of two vectors
int skin_mesh | ( | model_t * | model, | |
skeleton_t * | skeleton | |||
) |
rebuild bone-accumulation matrices and positions
int skinmesh | ( | model_t * | model, | |
skeleton_t * | skeleton | |||
) |
display a model (source type "obj")
int storeAllBones | ( | fstream * | f, | |
bone_t * | root | |||
) |
store rotation for a bone
int storeBoneRotations | ( | fstream * | f, | |
bone_t * | bone | |||
) |
load animations from a file
int updatemodel | ( | model_t * | model, | |
skeleton_t * | skeleton, | |||
keyframe_t | oldstate, | |||
keyframe_t | newstate, | |||
float | dt | |||
) |
count children for a given bone
int updateskeleton | ( | skeleton_t * | skeleton, | |
keyframe_t | oldstate, | |||
keyframe_t | newstate, | |||
int | dt | |||
) |
get a bone from a skeleton providing an index