1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
|
<html>
<head>
<title>GridFlow 0.7.7 - Introduction</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" href="gridflow.css" type="text/css">
</head>
<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<br>
<table width="100%" border="0" cellspacing="5">
<tr><td colspan="4" bgcolor="#082069">
<img src="images/titre_gridflow.png" width="253" height="23"></td></tr>
<tr><td> </td></tr>
<tr><td colspan="4" bgcolor="black"><img src="images/black.png" width="1" height="2"></td></tr>
<tr><td colspan="3" height="16">
<h4>GridFlow 0.7.7 - introduction</h4>
</td></tr>
<tr>
<td width="12%" height="4"> </td>
<td width="80%" height="4"> </td>
<td width="12%" height="4"> </td>
</tr>
<tr>
<td width="13%"> </td>
<td width="82%">
<p> The philosophy that guides PureData is a simple but powerful one:
the software must first provide the user with generic tools
rather than imposing pre-cooked effects. In other words the user
should have total freedom.
<p> GridFlow follows that philosophy: it first defines elementary
mathematical operations. Those can in turn be used as simple
visual effects or be combined to produce more complex effects.
<p> The strategy followed by most video plugins for PureData, jMax, and MAX/MSP, is
to provide the user first with constructs for manipulating video
streams at a fairly high level. The strategy put forward by GridFlow
is different.
<p> It can be said that in all those video plugins there are three layers:
the first, the low level, is not accessible to non-programmers (and fairly
difficult of access even to programmers); the second, mathematical, where
one needs not to be a C++ programmer, but still requires a good
understanding of how numbers and pixels and colours and geometry work; and
a third level that looks more like the software an artist would like to
use.
<p> In other video plugins there is a fairly low emphasis on the second
layer. In GridFlow that layer is very strong and opens many possibilities.
Even though the third layer in GridFlow is not as developed as it could,
the second layer may be used to produce third-layer object classes much
more quickly.
<p> 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 <b>Grids</b>
(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, stored into a file, sent through the network.
<p> The new GridFlow (0.6) also provides scripting, which inserts itself
between the first and second layer to provide additional functionality. The
language that has been chosen is Ruby, designed by Yukihiro Matsumoto
during the 90's. This new layer is used for portability between host
software (PureData vs jMax), for portability between platforms (Windows/Mac
versions do not exist but would be farther ahead if it wasn't for Ruby),
for independency from host software (GridFlow can be tested and used
independently of PureData/jMax), for quick extensibility (you can create
PureData/jMax object classes directly in GridFlow's configuration file),
and so on.
<p> In short, GridFlow is a whole new world of possibilities for
the multimedia artist and programmer.
<p>- matju</p>
</td></tr>
<tr><td> </td></tr>
<tr><td colspan="4" bgcolor="black"><img src="images/black.png" width="1" height="2"></td></tr>
<tr>
<td width="13%"> </td>
<td width="82%">
<p> Here is an example of how things work in GridFlow. (if you want more
information, consult the rest of this manual)
<p> A picture is a three-dimensional Grid:<br>
<b>0</b> : rows <br>
<b>1</b> : columns <br>
<b>2</b> : channels <br>
<p>
Pictures come in all sorts of heights and widths. The channels, however,
are more limited in number. Usually it's three: Red, Green, Blue.
<p> 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.
<p> 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 <i>within</i> the
PureData / GridFlow framework. You don't need to wait for me.
</td>
<tr><td> </td></tr>
<tr><td colspan="4" bgcolor="black"><img src="images/black.png" width="1" height="2"></td></tr>
<tr><td colspan="4">
<p><font size="-1">GridFlow 0.7.7 Documentation<br>
by Mathieu Bouchard <a href="mailto:matju@sympatico.ca">matju@sympatico.ca</a>
and<br>
Alexandre Castonguay <a href="mailto:acastonguay@artengine.ca">acastonguay@artengine.ca</a></font></p>
</td>
</tr>
</table>
</body>
</html>
|