video4jmax - concept

 
 

The philosophy for the design of video4jmax is the same that guides jmax itself:
provide users with the tools to create effects that can be shared through patches
or templates.

While their computation is alike, graphics differ from sound by the amount of
data they involve. The notion of the Grid is central to the handling of that data
under video4jmax. The Grid stands as shorthand for "an Array in Several
Dimensions".

A picture is a Grid. It has three dimensions: Rows or widths (#0), Columns or
height (#1), and Channels (#2). Pictures come in all sorts of widths and heights.
The Channels, however, are more limited in number. Usually it's three: Red,
Green, Blue. This is the model normally used.

Grids support other formats than pictures. Like a Grid in which two "channels"
are actually (x,y) positions in another Grid. Other Grids could be designed to
represent various things, for example, the patterns for different kinds of blur
effects. Grids can also 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. They can
hopefully be useful for non-graphical effects.

- matju