예제 #1
0
파일: cube.c 프로젝트: a-johnston/dungeon
static void step(void *void_data, double time) {
    (void) time;
    struct cube_data *data = (struct cube_data*) void_data;

    data->q = quat_mult(data->rot, data->q);
    quat_to_matrix(data->q, data->m);
}
예제 #2
0
/**
 * Get a translation matrix for this object.
 **/
void
object_get_transform_mat(object_t *object, float matrix[16])
{
	MATRIX_DECL(translate,
		    object->scale[0], 0, 0, object->trans[0],
		    0, object->scale[1], 0, object->trans[1],
		    0, 0, object->scale[2], object->trans[2],
		    0, 0, 0, 1);
	float rotate[16];
	float translate_final[16];

	quat_to_matrix(&object->rot, rotate);

	matrix_multiply(translate, rotate, translate_final);
	matrix_multiply(translate_final, object->pretransform, matrix);
}