Blitz logo

Blitz Support :

From: Dirk Gregorius (dirk_at_[hidden])
Date: 2004-10-23 08:19:11


Hi,

in the coming semester I have to write a character animation system for a
small student project. I am wondering if I can use Blitz++ ( mainly
TinyVector and TinyMatrix ) for the affine transformations.

1.) Did anybody used Blitz++ with OpenGL or DirectX? Are there any problems
passing a TinyMatrix<float, 4, 4> to one of the APIs?

2.) Does Blitz++ support affine transformations? If not - how shall I
implement the basic transformations ( scale, rotation, translations, ... )
such that they can be concatenated efficently and can be written like below.
E. g.

TinyMatrix<float, 4, 4> transform = translation( 0, 0, -3 ) * rotation_y (
45 ) * translation( 0, 0, 3 );

Can I write wrapper functions to implement the basic transformations or
should I better use the ListInitializer like in the transform example?

3. ) I would be also nice to have support for some geometric objects like
lines, planes, boxes and so on? Would it be a good idea to implement them on
top of Blitz++? E.g.

struct BBox
{
    TinyVector3<float, 3> min, max;
}

So the question is if Blitz++ is suited for a task like mine or if should
implement a small math library own my own that suits my needs.

-Dirk