GridFlow 0.4.0 - introduction

     
 

The philosophy that guides jMax is a simple but powerful one: the software must first provide the user with generic tools rather than pre-defined, immutable effects.

In GridFlow, the principle is similar, but even more like that.

You are provided with a number of pre-defined effects for which peeking under the hood is a double-click away. If the effect doesn't suit you, you can modify it. If you find a bug in an effect you can fix it.

In the end, every effect is made of other effects or of elementary objects. Those elementary objects cannot be examined or split into smaller parts, which is a good reason to keep them limited in kinds. ;-)

GridFlow provides a unifying view of multimedia information. Several kinds of data -- raster graphics in any number of channels, coordinate transforms, matrices, vectors -- may all be represented by Grids (also known as multi-dimensional arrays). Grids exist in several ways: they are usually streamed from object to object, but they can also be stored in memory.

The goal of using Grids is to ensure that people who know the math can build reasonably efficient graphical effects without being C programmers.

A picture is a three-dimensional Grid:
0 : rows
1 : columns
2 : channels

Pictures come in all sorts of heights and widths. The channels, however, are more limited in number. Usually it's three: Red, Green, Blue.

A coordinate transform, when specified pixel by pixel, may be a three-dimensional Grid in which the two "channels" are Y and X, representing row-and-column positions in a separate picture.

Other shapes of grids could be designed to represent various things; for example, configuration for blur effects. Grids could be useful for things not directly related to raster pictures (e.g. sound recordings). Those are all kinds of things you could actually develop within the jMax / GridFlow framework. You don't need to wait for me.

In short, GridFlow is a whole new world of possibilities for the multimedia artist and programmer.

- matju

 

GridFlow 0.4.0 Documentation
by Mathieu Bouchard matju@sympatico.ca and
Alexandre Castonguay acastonguay@artengine.ca