Metatype

The metatype project, a description language for complex C++ data structures.

Paramatrix math and animation language thoughts

With a little help from the wonderful Matrix and Quaternion FAQ I finished the math library for the Paramatrix server. It is now possible to rotate all objects using Quaternions.

Yesterday I thought a little about animating objects directly in the 3D server. Animating using the 3D client/server network interface is possible, but probably too slow. I need to create some kind of an animation scripting language to be specified in Metatype, for which a specific computer language needs be designed. That language should implement time-based sequential and parallel statements, like “move object a from b to c in 500 milliseconds and then rotate it by 50 degrees in 300 milliseconds”. A view might then query the object’s state at a descrete time and the language interpreter will then try to apply the appropriate statements to compute the interpolated object translation and orientation.

Metatype's discriminated unions

For the readers not knowing, Metatype is a data-type definition language and a C++ code generator. Metatype may be used for the specification and implementation complex data protocols. Compared to other data definition languages, Metatype has one speciality: It supports the declaration and generation of discriminated unions. Update: included example for constructing unions.

Syndicate content