- Borrado de ficheros innecesarios
|
@ -1,145 +0,0 @@
|
|||
Coding Guidelines for Gem
|
||||
=========================
|
||||
2011, IOhannes m zmölnig
|
||||
|
||||
in no special order...
|
||||
|
||||
directory structure
|
||||
-------------------
|
||||
src/Gem
|
||||
Gem core architecture classes
|
||||
src/Utils
|
||||
Utilitiy code that can be re-used in several different contexts
|
||||
src/RTE
|
||||
Pd-specific code (RTE=Real Time Environment)
|
||||
(in the far future i would like to have all Pd-specific code wrapped in
|
||||
here)
|
||||
src/plugins
|
||||
plugin infrastructure and (pure virtual) baseclasses for the various
|
||||
plugins
|
||||
src/Base
|
||||
Base classes for objectclasses
|
||||
src/deprecated
|
||||
deprecated headers for backward compatibility
|
||||
|
||||
src/Controls/
|
||||
objectclasses: CONTROL
|
||||
src/Manips/
|
||||
objectclasses: MANIPulatorS
|
||||
src/Geos/
|
||||
objectclasses: GEometric ObjectS
|
||||
src/Nongeos/
|
||||
objectclasses: positionable Objects that are not Geos
|
||||
src/openGL/
|
||||
objectclasses: OPENGL wrapper objects
|
||||
src/Particles/
|
||||
objectclasses: PARTICLE engine
|
||||
src/Pixes/
|
||||
objectclasses: PIXEl proceSsing
|
||||
|
||||
src/Output/
|
||||
objectclasses: window handling
|
||||
|
||||
plugins/*/
|
||||
plugin implementations for various backends
|
||||
|
||||
extra/*/
|
||||
additional objectclasses
|
||||
|
||||
directories containing objectclasses, should not hold auxiliary files!
|
||||
these should go into src/Utils/ (if they are of general interest) or the code
|
||||
should be embedded into the objectclass code.
|
||||
a noteable exception is the extra/*/ folder
|
||||
|
||||
|
||||
file structure
|
||||
--------------
|
||||
C++ files are suffixed ".cpp".
|
||||
they are accompanied by a header file ".h" containing the public interface.
|
||||
there is a file for each objectclass named like the objectclass. e.g.
|
||||
> src/Manips/ortho.cpp
|
||||
contains the code for the [ortho] objectclass.
|
||||
|
||||
|
||||
private/protected/public
|
||||
------------------------
|
||||
ctor/dtor should be public
|
||||
methods should be protected/public
|
||||
members should be protected
|
||||
|
||||
private members should be hidden using a PIMPL idiom
|
||||
|
||||
|
||||
callbacks
|
||||
---------
|
||||
message callbacks from the RTE should be implemented using the CPPEXTERN_MSG*
|
||||
macros defined in src/RTE/MessageCallbacks.h
|
||||
this removes the need for static callbacks in the header-files
|
||||
|
||||
|
||||
C-style vs C++-style
|
||||
--------------------
|
||||
while Pd is written in C, Gem is written in C++;
|
||||
please try to use C++ idioms whenever possible.
|
||||
|
||||
use STL instead of inventing your own data containers!
|
||||
esp. use "std::string" instead of "char*" whenever possible
|
||||
|
||||
the Gem code base is full of C-idioms and types; this is mainly because i
|
||||
started as a C-programmer and only gradually learned using C++; don't repeat my
|
||||
follies :-)
|
||||
|
||||
|
||||
variable naming
|
||||
---------------
|
||||
member variables are usually prefixed with "m_"
|
||||
static variables are usually prefixed with "s_"
|
||||
|
||||
|
||||
initialization
|
||||
--------------
|
||||
initialize all member variables in the constructor(s).
|
||||
use "member initialization lists" when possible.
|
||||
e.g. use
|
||||
> foo::foo(void) : m_x(0), m_y(0) {}
|
||||
rather than
|
||||
> foo::foo(void) { m_x=0; m_y=0; }
|
||||
|
||||
|
||||
import/export
|
||||
-------------
|
||||
all functions/classes that should be visible from outside must be exported using
|
||||
the GEM_EXTERN macro.
|
||||
all objectclasses are exported.
|
||||
all utility classes are exported.
|
||||
|
||||
|
||||
dependencies
|
||||
------------
|
||||
the dependencies of Gem should be kept at a minimum (ideally only openGL)
|
||||
objectclasses that use special libraries should go into extra/
|
||||
if you want to add functionality to Gem that is (or can be) implemented by a
|
||||
number of different backends (libraries), this should be done via an abstract
|
||||
interface and plugins, thus moving the binary dependency outside of Gem.
|
||||
|
||||
|
||||
Indentation
|
||||
-----------
|
||||
TODO
|
||||
|
||||
|
||||
git commits
|
||||
-----------
|
||||
try to avoid committing pd-patches and C++ code within the same
|
||||
commit. conflicts in C++-code can usually easily be resolved, whereas
|
||||
conflicts in Pd-patches are usually impossible to resolve (but for the
|
||||
most trivial cases)
|
||||
|
||||
|
||||
git branching
|
||||
-------------
|
||||
try to avoid forking from branches other than master.
|
||||
esp. avoid branches on top of branches.
|
||||
before committing a pull rqeuest, make sure that your branch applies clean to
|
||||
current master.
|
||||
|
|
@ -1,47 +0,0 @@
|
|||
AUTOMAKE_OPTIONS = foreign
|
||||
|
||||
gemdocdir=$(pkglibdir)
|
||||
|
||||
nobase_dist_gemdoc_DATA = \
|
||||
cMatrix.html \
|
||||
gem.known_bugs.txt \
|
||||
GemPrimer.pdf \
|
||||
gem.release_notes.txt \
|
||||
gem.todo.txt \
|
||||
manual/add.jpg \
|
||||
manual/addResult.jpg \
|
||||
manual/Advanced.html \
|
||||
manual/basicCube.jpg \
|
||||
manual/BasicObj.html \
|
||||
manual/counter.jpg \
|
||||
manual/GemFaq.html \
|
||||
manual/gemwin.jpg \
|
||||
manual/GemWPd.html \
|
||||
manual/Gloss.html \
|
||||
manual/Images.html \
|
||||
manual/index.html \
|
||||
manual/Input.html \
|
||||
manual/Intro.html \
|
||||
manual/invertFrac.jpg \
|
||||
manual/invert.jpg \
|
||||
manual/Lighting.html \
|
||||
manual/light.jpg \
|
||||
manual/ListObjects.html \
|
||||
manual/mask.jpg \
|
||||
manual/maskResult.jpg \
|
||||
manual/normalFrac.jpg \
|
||||
manual/Particles.html \
|
||||
manual/Pixes.html \
|
||||
manual/pixImage.jpg \
|
||||
manual/redSquare.jpg \
|
||||
manual/sphere15.jpg \
|
||||
manual/sphere5.jpg \
|
||||
manual/Texture.html \
|
||||
manual/texture.jpg \
|
||||
manual/transXYZ.jpg \
|
||||
manual/tribar.gif \
|
||||
manual/tripleLine.jpg \
|
||||
manual/tripleRand.jpg \
|
||||
manual/Utility.html \
|
||||
manual/world_light.jpg \
|
||||
manual/WriteCode.html
|
|
@ -1,270 +0,0 @@
|
|||
<html>
|
||||
<head>
|
||||
<title>Matrix Operations for Image Processing</title>
|
||||
</head>
|
||||
<body bgcolor="#ffffff" text="#000000">
|
||||
<!--no_print--><br><center><table width=564><tr><td>
|
||||
<h2>Matrix Operations for Image Processing</h2>
|
||||
<!--no_print--><h3>Paul Haeberli</h3>
|
||||
<h3>Nov 1993</h3>
|
||||
<img src=../tribar.gif alt="Horiz Bar" width=561 height=3>
|
||||
<h3>Introduction</h3>
|
||||
<p>
|
||||
Four by four matrices are commonly used to transform geometry for 3D
|
||||
rendering. These matrices may also be used to transform RGB colors, to scale
|
||||
RGB colors, and to control hue, saturation and contrast. The most important
|
||||
advantage of using matrices is that any number of color transformations
|
||||
can be composed using standard matrix multiplication.
|
||||
<p>
|
||||
Please note that for these operations to be correct, we really must operate
|
||||
on linear brightness values. If the input image is in a non-linear brightness
|
||||
space RGB colors must be transformed into a linear space before these
|
||||
matrix operations are used.
|
||||
|
||||
<h3>Color Transformation</h3>
|
||||
RGB colors are transformed by a four by four matrix as shown here:
|
||||
|
||||
<pre>
|
||||
xformrgb(mat,r,g,b,tr,tg,tb)
|
||||
float mat[4][4];
|
||||
float r,g,b;
|
||||
float *tr,*tg,*tb;
|
||||
{
|
||||
*tr = r*mat[0][0] + g*mat[1][0] +
|
||||
b*mat[2][0] + mat[3][0];
|
||||
*tg = r*mat[0][1] + g*mat[1][1] +
|
||||
b*mat[2][1] + mat[3][1];
|
||||
*tb = r*mat[0][2] + g*mat[1][2] +
|
||||
b*mat[2][2] + mat[3][2];
|
||||
}
|
||||
</pre>
|
||||
|
||||
<h3>The Identity</h3>
|
||||
This is the identity matrix:
|
||||
<pre>
|
||||
float mat[4][4] = {
|
||||
1.0, 0.0, 0.0, 0.0,
|
||||
0.0, 1.0, 0.0, 0.0,
|
||||
0.0, 0.0, 1.0, 0.0,
|
||||
0.0, 0.0, 0.0, 1.0,
|
||||
};
|
||||
</pre>
|
||||
Transforming colors by the identity matrix will leave them unchanged.
|
||||
|
||||
<h3>Changing Brightness</h3>
|
||||
To scale RGB colors a matrix like this is used:
|
||||
<pre>
|
||||
float mat[4][4] = {
|
||||
rscale, 0.0, 0.0, 0.0,
|
||||
0.0, gscale, 0.0, 0.0,
|
||||
0.0, 0.0, bscale, 0.0,
|
||||
0.0, 0.0, 0.0, 1.0,
|
||||
};
|
||||
</pre>
|
||||
Where rscale, gscale, and bscale specify how much to scale the r, g, and b
|
||||
components of colors. This can be used to alter the color balance of an image.
|
||||
<p>
|
||||
In effect, this calculates:
|
||||
<pre>
|
||||
tr = r*rscale;
|
||||
tg = g*gscale;
|
||||
tb = b*bscale;
|
||||
</pre>
|
||||
|
||||
<h3>Modifying Saturation</h3>
|
||||
|
||||
|
||||
<h3>Converting to Luminance</h3>
|
||||
To convert a color image into a black and white image, this matrix is used:
|
||||
<pre>
|
||||
float mat[4][4] = {
|
||||
rwgt, rwgt, rwgt, 0.0,
|
||||
gwgt, gwgt, gwgt, 0.0,
|
||||
bwgt, bwgt, bwgt, 0.0,
|
||||
0.0, 0.0, 0.0, 1.0,
|
||||
};
|
||||
</pre>
|
||||
Where rwgt is 0.3086, gwgt is 0.6094, and bwgt is 0.0820. This is the
|
||||
luminance vector. Notice here that we do not use the standard NTSC weights
|
||||
of 0.299, 0.587, and 0.114. The NTSC weights are only applicable to RGB
|
||||
colors in a gamma 2.2 color space. For linear RGB colors the values above
|
||||
are better.
|
||||
<p>
|
||||
In effect, this calculates:
|
||||
<pre>
|
||||
tr = r*rwgt + g*gwgt + b*bwgt;
|
||||
tg = r*rwgt + g*gwgt + b*bwgt;
|
||||
tb = r*rwgt + g*gwgt + b*bwgt;
|
||||
</pre>
|
||||
|
||||
<h3>Modifying Saturation</h3>
|
||||
|
||||
To saturate RGB colors, this matrix is used:
|
||||
|
||||
<pre>
|
||||
float mat[4][4] = {
|
||||
a, b, c, 0.0,
|
||||
d, e, f, 0.0,
|
||||
g, h, i, 0.0,
|
||||
0.0, 0.0, 0.0, 1.0,
|
||||
};
|
||||
</pre>
|
||||
Where the constants are derived from the saturation value s
|
||||
as shown below:
|
||||
|
||||
<pre>
|
||||
a = (1.0-s)*rwgt + s;
|
||||
b = (1.0-s)*rwgt;
|
||||
c = (1.0-s)*rwgt;
|
||||
d = (1.0-s)*gwgt;
|
||||
e = (1.0-s)*gwgt + s;
|
||||
f = (1.0-s)*gwgt;
|
||||
g = (1.0-s)*bwgt;
|
||||
h = (1.0-s)*bwgt;
|
||||
i = (1.0-s)*bwgt + s;
|
||||
</pre>
|
||||
One nice property of this saturation matrix is that the luminance
|
||||
of input RGB colors is maintained. This matrix can also be used
|
||||
to complement the colors in an image by specifying a saturation
|
||||
value of -1.0.
|
||||
<p>
|
||||
Notice that when <code>s</code> is set to 0.0, the matrix is exactly
|
||||
the "convert to luminance" matrix described above. When <code>s</code>
|
||||
is set to 1.0 the matrix becomes the identity. All saturation matrices
|
||||
can be derived by interpolating between or extrapolating beyond these
|
||||
two matrices.
|
||||
<p>
|
||||
This is discussed in more detail in the note on
|
||||
<a href="../interp/index.html">Image Processing By Interpolation and Extrapolation</a>.
|
||||
<h3>Applying Offsets to Color Components</h3>
|
||||
To offset the r, g, and b components of colors in an image this matrix is used:
|
||||
<pre>
|
||||
float mat[4][4] = {
|
||||
1.0, 0.0, 0.0, 0.0,
|
||||
0.0, 1.0, 0.0, 0.0,
|
||||
0.0, 0.0, 1.0, 0.0,
|
||||
roffset,goffset,boffset,1.0,
|
||||
};
|
||||
</pre>
|
||||
This can be used along with color scaling to alter the contrast of RGB
|
||||
images.
|
||||
|
||||
<h3>Simple Hue Rotation</h3>
|
||||
To rotate the hue, we perform a 3D rotation of RGB colors about the diagonal
|
||||
vector [1.0 1.0 1.0]. The transformation matrix is derived as shown here:
|
||||
<p>
|
||||
If we have functions:<br><br>
|
||||
<dl>
|
||||
<dt><code>identmat(mat)</code>
|
||||
<dd>that creates an identity matrix.
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><code>xrotatemat(mat,rsin,rcos)</code>
|
||||
<dd>that multiplies a matrix that rotates about the x (red) axis.
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><code>yrotatemat(mat,rsin,rcos)</code>
|
||||
<dd>that multiplies a matrix that rotates about the y (green) axis.
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><code>zrotatemat(mat,rsin,rcos)</code>
|
||||
<dd>that multiplies a matrix that rotates about the z (blue) axis.
|
||||
</dl>
|
||||
Then a matrix that rotates about the 1.0,1.0,1.0 diagonal can be
|
||||
constructed like this:
|
||||
<br>
|
||||
First we make an identity matrix
|
||||
<pre>
|
||||
identmat(mat);
|
||||
</pre>
|
||||
Rotate the grey vector into positive Z
|
||||
<pre>
|
||||
mag = sqrt(2.0);
|
||||
xrs = 1.0/mag;
|
||||
xrc = 1.0/mag;
|
||||
xrotatemat(mat,xrs,xrc);
|
||||
|
||||
mag = sqrt(3.0);
|
||||
yrs = -1.0/mag;
|
||||
yrc = sqrt(2.0)/mag;
|
||||
yrotatemat(mat,yrs,yrc);
|
||||
</pre>
|
||||
Rotate the hue
|
||||
<pre>
|
||||
zrs = sin(rot*PI/180.0);
|
||||
zrc = cos(rot*PI/180.0);
|
||||
zrotatemat(mat,zrs,zrc);
|
||||
</pre>
|
||||
Rotate the grey vector back into place
|
||||
<pre>
|
||||
yrotatemat(mat,-yrs,yrc);
|
||||
xrotatemat(mat,-xrs,xrc);
|
||||
</pre>
|
||||
The resulting matrix will rotate the hue of the input RGB colors. A rotation
|
||||
of 120.0 degrees will exactly map Red into Green, Green into Blue and
|
||||
Blue into Red. This transformation has one problem, however, the luminance
|
||||
of the input colors is not preserved. This can be fixed with the following
|
||||
refinement:
|
||||
|
||||
<h3>Hue Rotation While Preserving Luminance</h3>
|
||||
|
||||
We make an identity matrix
|
||||
<pre>
|
||||
identmat(mmat);
|
||||
</pre>
|
||||
Rotate the grey vector into positive Z
|
||||
<pre>
|
||||
mag = sqrt(2.0);
|
||||
xrs = 1.0/mag;
|
||||
xrc = 1.0/mag;
|
||||
xrotatemat(mmat,xrs,xrc);
|
||||
mag = sqrt(3.0);
|
||||
yrs = -1.0/mag;
|
||||
yrc = sqrt(2.0)/mag;
|
||||
yrotatemat(mmat,yrs,yrc);
|
||||
matrixmult(mmat,mat,mat);
|
||||
</pre>
|
||||
Shear the space to make the luminance plane horizontal
|
||||
<pre>
|
||||
xformrgb(mmat,rwgt,gwgt,bwgt,&lx,&ly,&lz);
|
||||
zsx = lx/lz;
|
||||
zsy = ly/lz;
|
||||
zshearmat(mat,zsx,zsy);
|
||||
</pre>
|
||||
Rotate the hue
|
||||
<pre>
|
||||
zrs = sin(rot*PI/180.0);
|
||||
zrc = cos(rot*PI/180.0);
|
||||
zrotatemat(mat,zrs,zrc);
|
||||
</pre>
|
||||
Unshear the space to put the luminance plane back
|
||||
<pre>
|
||||
zshearmat(mat,-zsx,-zsy);
|
||||
</pre>
|
||||
Rotate the grey vector back into place
|
||||
<pre>
|
||||
yrotatemat(mat,-yrs,yrc);
|
||||
xrotatemat(mat,-xrs,xrc);
|
||||
</pre>
|
||||
<h3>Conclusion</h3>
|
||||
I've presented several matrix transformations that may be applied
|
||||
to RGB colors. Each color transformation is represented by
|
||||
a 4 by 4 matrix, similar to matrices commonly used to transform 3D geometry.
|
||||
<p>
|
||||
<a href="matrix.c">Example C code</a>
|
||||
that demonstrates these concepts is provided for your enjoyment.
|
||||
<p>
|
||||
These transformations allow us to adjust image contrast, brightness, hue and
|
||||
saturation individually. In addition, color matrix transformations concatenate
|
||||
in a way similar to geometric transformations. Any sequence of
|
||||
operations can be combined into a single matrix using
|
||||
matrix multiplication.
|
||||
<!--no_print--><p>
|
||||
<!--no_print--><center>
|
||||
<!--no_print--><a href=../index.html#matrix><img src=../gobot.gif width=564 height=25 border=0></a>
|
||||
<!--no_print--><br>
|
||||
<!--no_print--></center>
|
||||
<!--no_print--></td></tr></table></center>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,298 +0,0 @@
|
|||
GEM ONLINE DOCUMENTATION CHAPTER 4: Known bugs
|
||||
----------------------------------------------
|
||||
|
||||
---------------------------- KNOWN BUGS -----------------------------
|
||||
|
||||
[pix_lumaoffset] crashes
|
||||
--------------
|
||||
POSTED 15/05/04
|
||||
--------------
|
||||
BUG: pix_lumaoffset crashes when the offset-factor is very high and fill+smooth is turned on
|
||||
ANS: yes; but we haven't found where the bug is hidden yet
|
||||
|
||||
loading movies leaks memory under Win32
|
||||
--------------
|
||||
POSTED 4/16/02
|
||||
--------------
|
||||
BUG: each time an AVI is loaded, the used memory increases for about 400k.
|
||||
after some time (and opening MANY files) this will be too much...
|
||||
ANS: i fear, this is really a mikro$oft bug! (probably not;-))
|
||||
|
||||
|
||||
loading MPEG-movies crashes under Win32
|
||||
--------------
|
||||
POSTED 4/05/04
|
||||
--------------
|
||||
BUG: loading MPEG-movies (*.MPG) crashes pd
|
||||
ANS: MPEG is not really supported under the Win32-version of Gem
|
||||
however Gem tries to decode MPEGs via QuickTime which might crash (see below)
|
||||
|
||||
loading AVI-movies does not work under Win32
|
||||
--------------
|
||||
POSTED 4/05/04
|
||||
--------------
|
||||
BUG: loading some AVI-movies with certain codecs does not work under Win2k and bigger.
|
||||
ANS: Gem is (still) using a rather old API for decoding videos.
|
||||
it might well be, that not all installed codecs are supported (e.g. Indeo-5)
|
||||
|
||||
|
||||
have to destroy / create window to change lighting state in buffer == 1
|
||||
--------------
|
||||
POSTED 11/07/98
|
||||
--------------
|
||||
BUG: If you want to change the lighting when GEM is running in single
|
||||
buffer mode, you have to destroy and then create the window.
|
||||
ANS: hopefully we will drop single-buffer mode soon (enabling double-buffer feedback instead) (2004)
|
||||
|
||||
|
||||
WinNT pix_video object
|
||||
--------------
|
||||
POSTED 6/25/98
|
||||
-------------
|
||||
BUG: The WinNT pix_video object has a lot of problems. It is not
|
||||
very stable, tends to lock up the machine, etc.
|
||||
ANS: don't have much problems with it.
|
||||
daniel's directshow-support enables support for most newer (ieee1394,usb) cameras under win,
|
||||
although the interface is somewhat different than on other OS's
|
||||
(eg: set dimensions via pop-up menu,...)
|
||||
|
||||
|
||||
splines are incorrect
|
||||
--------------
|
||||
POSTED 6/25/98
|
||||
--------------
|
||||
BUG: In preventing the crasher in the spline object, I have introduced
|
||||
another bug. Mainly, the end points don't get computed correctly.
|
||||
|
||||
|
||||
Polygon doesn't tesselate (ie, polygons sometimes look strange)
|
||||
--------------
|
||||
POSTED 5/19/97
|
||||
--------------
|
||||
BUG: Because the polygon object doesn't tesselate itself,
|
||||
if it is concave, the behavior is undefined under OpenGL.
|
||||
|
||||
|
||||
glxContext memory leak
|
||||
--------------
|
||||
POSTED 5/18/97
|
||||
--------------
|
||||
BUG: The dummy glxContext doesn't ever get destroyed. Use a static object
|
||||
to create and destroy it when the DSO is loaded/unloaded.
|
||||
|
||||
|
||||
Indycam broken
|
||||
--------------
|
||||
POSTED 5/1/97
|
||||
--------------
|
||||
BUG: The Indycam object doesn't seem to work. While getting the O2cam
|
||||
up, I seem to have broken the Indycam object. One known
|
||||
bug is that the Indycam doesn't accept the dimen message.
|
||||
ANS: i don't have a running SGI with an indycam at hand, so i
|
||||
don't know how to fix it
|
||||
|
||||
---------------------------- FIXED BUGS -----------------------------
|
||||
|
||||
some geos don't render data from pix_movie correctly
|
||||
--------------
|
||||
POSTED 19/03/2004
|
||||
FIXED 20/03/2004
|
||||
--------------
|
||||
BUG: Some objects don't render images correctly
|
||||
ANS: Gem tries to use rectangle-textures when available
|
||||
GLU-objects cannot handle such textures
|
||||
FIX: send a "mode 0" message to the [pix_texture]
|
||||
FIX2:put the specific GLU-code into Gem and fixed the problem
|
||||
|
||||
|
||||
some geos don't render data from pix_movie correctly
|
||||
--------------
|
||||
POSTED 4/24/99
|
||||
FIXED 20/03/2004
|
||||
--------------
|
||||
BUG: Sphere and cone don't texture map movie data correctly because
|
||||
they ignore the texture coordinates that pix_movie sets.
|
||||
ANS: as long as we use the libGLU for these objects there is not much chance
|
||||
to fix the core of this problem
|
||||
FIX: put the specific GLU-code into Gem and fixed the problem
|
||||
|
||||
|
||||
Cone and sphere ignore textCoords
|
||||
--------------
|
||||
POSTED 4/12/99
|
||||
FIXED 20/03/2004
|
||||
--------------
|
||||
BUG: The glu library is used to create the cone and sphere, so gem
|
||||
doesn't control the texture coordinates used.
|
||||
FIX: put the specific GLU-code into Gem and fixed the problem
|
||||
|
||||
|
||||
text2d is messed up
|
||||
--------------
|
||||
FIXED 01/01/04
|
||||
POSTED 2/22/98
|
||||
--------------
|
||||
BUG: text2d doesn't really work at all. There seems to be a bug
|
||||
in the GLTT library which is messing up the rasterpos.
|
||||
FIX: use FTGL rather than GLTT
|
||||
|
||||
|
||||
curve is broken under Linux
|
||||
--------------
|
||||
FIXED 01/01/04
|
||||
POSTED 0/24/99
|
||||
--------------
|
||||
BUG: if curve is used under Linux, it core dumps when rendering.
|
||||
It dumps on glMap1f(GL_MAP1_VERTEX_3, 0.0, 1.0, 3, m_numInputs, &(m_vert[0][0]));
|
||||
ANS: seems to work now
|
||||
|
||||
|
||||
model crashes when nothing is loaded
|
||||
---------------
|
||||
FIXED 01/01/04
|
||||
POSTED 10/25/02
|
||||
---------------
|
||||
BUG: if rendering is started without a model being loaded before, pd crashes
|
||||
ANS: seems to be fixed sime time ago...
|
||||
|
||||
|
||||
pix_imageInPlace crashes when nothing is loaded
|
||||
---------------
|
||||
FIXED 01/01/04
|
||||
POSTED 10/25/02
|
||||
---------------
|
||||
BUG: when trying to download non-existant images (by specifying the wrong
|
||||
preload-name), pd-crashes
|
||||
ANS: seems to be fixed now...
|
||||
|
||||
|
||||
Can't process pix_movie data with pix objects
|
||||
--------------
|
||||
FIXED 4/15/02
|
||||
POSTED 4/24/99
|
||||
--------------
|
||||
BUG: pix_movie sends the data immediately to OpenGL,
|
||||
so there is no chance to process the data.
|
||||
ANS: it does what it does; [pix_film] does not send the image-data immediately, so use it instead
|
||||
|
||||
|
||||
pix_2grey doesn't process the correct number of pixels
|
||||
--------------
|
||||
FIXED 2/19/00
|
||||
POSTED 2/18/00
|
||||
--------------
|
||||
BUG: The pixel count is calculated with addition instead of multiplying.
|
||||
ANS: Just changed how the calculation occurs.
|
||||
|
||||
|
||||
tablet not reset on exit
|
||||
--------------
|
||||
FIXED 1/24/99
|
||||
POSTED 8/29/98
|
||||
--------------
|
||||
BUG: If the user has a tablet, it is not reset to the default settings
|
||||
on exit, making it unusable as a mouse.
|
||||
ANS: Just needed to do some more cleanup on exit. Should be okay now.
|
||||
|
||||
|
||||
text object can't be found
|
||||
--------------
|
||||
FIXED 2/21/98
|
||||
POSTED 5/1/97
|
||||
--------------
|
||||
BUG: Because the text is a special keyword and object inside of
|
||||
pd, the text object cannot be found as a GEM object. The solution
|
||||
is to rename it to something else.
|
||||
ANS: I am using a cool library called gltt which will render true type
|
||||
fonts in OpenGL.
|
||||
|
||||
|
||||
Memory exception on WinNT
|
||||
--------------
|
||||
FIXED 12/15/97
|
||||
POSTED 11/30/97
|
||||
--------------
|
||||
BUG: If you use pix_image, then there is a memory exception (ie, crash) when
|
||||
you exit Pd. It doesn't happen while actually running Pd/GEM.
|
||||
ANS: Mysterious...it went away.
|
||||
|
||||
|
||||
Polygon and curve under NT
|
||||
--------------
|
||||
FIXED 10/21/97
|
||||
POSTED 10/21/97
|
||||
--------------
|
||||
BUG: The vertex calls are receiving 0, 0, 0 for x, y, z
|
||||
ANS: Extra type * parameter in the vert_* calls
|
||||
|
||||
|
||||
Single buffering under NT
|
||||
--------------
|
||||
FIXED 10/21/97
|
||||
POSTED 10/19/97
|
||||
--------------
|
||||
BUG: Single buffering doesn't work under NT.
|
||||
ANS: Need an explicit glFlush(). gemHead calls glFlush after a bang message.
|
||||
|
||||
|
||||
Geos texture coordinates
|
||||
--------------
|
||||
FIXED 10/17/97
|
||||
POSTED 6/16/97
|
||||
--------------
|
||||
BUG: The vertex and texture coordinates should start so that the first
|
||||
S,T is 0,0
|
||||
ANS: Just did it.
|
||||
|
||||
|
||||
pix_composite is backwards
|
||||
--------------
|
||||
FIXED 7/12/97
|
||||
POSTED 6/16/97
|
||||
--------------
|
||||
BUG: The pix_composite object should have its inlets swapped. Conceptually
|
||||
it doesn't make sense the way it works currently.
|
||||
FIX: Just did it.
|
||||
|
||||
|
||||
pix_convolve is broken
|
||||
--------------
|
||||
FIXED 7/13/97
|
||||
POSTED 6/16/97
|
||||
--------------
|
||||
BUG: Sometimes pix_convolve doesn't work - seems to do with the scale factor
|
||||
ANS: I'm not sure why it wasn't working. I have hammered it with a variey
|
||||
of kernels and scales and never had a problem...
|
||||
ANS2: I found a bug where pix_image didn't automatically refresh its image
|
||||
at the start of rendering
|
||||
|
||||
|
||||
pix_alpha is backwards
|
||||
--------------
|
||||
FIXED 7/12/92
|
||||
POSTED 6/16/97
|
||||
--------------
|
||||
BUG: Sometimes it works, sometimes it doesn't
|
||||
ANS: Swapped around the inlet creations
|
||||
|
||||
|
||||
polygon's first inlet doesn't work
|
||||
--------------
|
||||
FIXED 5/18/97
|
||||
POSTED 5/17/97
|
||||
--------------
|
||||
BUG: The first vertex of polygon doesn't work. It is always set to the
|
||||
origin. Also, polygon defaults to line drawing. Check Curve for
|
||||
the same problems (it is derived from polygon).
|
||||
ANS: The first inlet no longer takes the first vertex. I added another
|
||||
inlet.
|
||||
|
||||
|
||||
fonts do not load
|
||||
--------------
|
||||
FIXED 4/02/02
|
||||
POSTED 4/01/02
|
||||
--------------
|
||||
BUG: the example fonts for text2d/text3d do not load
|
||||
FIX: accidentally i did a dos2unix to the *.ttf files. this damaged them.
|
||||
Get new ones from ftp://iem.at/pd/Externals/GEM/misc
|
|
@ -1,65 +0,0 @@
|
|||
GEM ONLINE DOCUMENTATION CHAPTER 7: TODO
|
||||
----------------------------------------
|
||||
|
||||
This is a list of future improvements and changes.
|
||||
No importance should be given to the order...it is just
|
||||
when I thought of things.
|
||||
- Mark D.
|
||||
- IOhannes m z
|
||||
|
||||
---------------------------- TODO -----------------------------
|
||||
|
||||
GENERAL
|
||||
-------
|
||||
only connect to tablet if gem_tablet exists
|
||||
make a separate Gem-thread (to do parallel audio/video-processing)
|
||||
enable output to other "devices": like files, video-editing-cards,...
|
||||
|
||||
PARTICLE
|
||||
--------
|
||||
|
||||
|
||||
OBJECTS
|
||||
-------
|
||||
triangle_fan
|
||||
stereoscopic display with hardware glasses
|
||||
NURBS/bezier patches
|
||||
3DstudioMax file loader
|
||||
CAL3d (character animation library): (not sure anymore. maybe quake2-files would be better ?)
|
||||
Alias|Wavefront file data
|
||||
- articulation hierarchies in Wavefront's Kinemation
|
||||
- read Preview's .mov files (an ascii list of x, y, and/or z values)
|
||||
morphing between alias|wavefront models
|
||||
- assume same number of points in each model
|
||||
|
||||
PIXES
|
||||
-----
|
||||
pix_dv (under linux this still needs a lot of testing)
|
||||
motion and image analysis
|
||||
some way to fragment an image so that it can be used as multiple
|
||||
texture maps (hopefully arbitrary shapes, but possibly only rectangular)
|
||||
pix_erosion
|
||||
pix_dilation
|
||||
pix_median/min/max filter
|
||||
pix_lowpass
|
||||
pix_highpass
|
||||
video external keyer
|
||||
- three inputs - the matte and two image inputs
|
||||
increased control of the Threshold object.
|
||||
- upper and lower levels adjustable
|
||||
stereoscopic texture loader
|
||||
pix_circle
|
||||
pix_triangle
|
||||
test pix_video - espec offset message
|
||||
|
||||
OPENGL
|
||||
------
|
||||
be able to switch between single and double buffering on the fly
|
||||
have multiple graphics windows
|
||||
increased control of view port, etc.
|
||||
be able to use multiple pipes (MCO)
|
||||
try out glMatrixMode(GL_TEXTURE) to deal with nonstandard texture mapping
|
||||
render to a pixblock (use pbuffers or offscreen renderer)
|
||||
on systems that run in console mode only (like linux with(out) XFree86), render to the console with beautiful ASCII-art
|
||||
multipass rendering
|
||||
multitexturing
|
|
@ -1,27 +0,0 @@
|
|||
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="Author" content="Mark Danks">
|
||||
<meta name="GENERATOR" content="Mozilla/4.5 [en] (WinNT; I) [Netscape]">
|
||||
<title>Advanced</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<center>
|
||||
<h2>
|
||||
<u>Advanced objects</u></h2></center>
|
||||
|
||||
<p><br>Todo:
|
||||
<p>more than 8 lights
|
||||
<br>pix_imageInPlace
|
||||
<br>accumrotate
|
||||
<br>camera
|
||||
<br>polygon and curve
|
||||
<br>text3d
|
||||
<br>pix_data
|
||||
<br>linear_path
|
||||
<br>spline_path
|
||||
<p><a href="index.html">[return]</a>
|
||||
</body>
|
||||
</html>
|
|
@ -1,115 +0,0 @@
|
|||
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="Author" content="Mark Danks">
|
||||
<meta name="Author" content="IOhannes m zmölnig">
|
||||
<title>Basic Objects</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<center>
|
||||
<h2>
|
||||
<u>Basic Objects</u></h2></center>
|
||||
|
||||
<p><br>There are a number of objects which are the foundation for GEM.
|
||||
These objects are used in every patch and control the graphics and rendering.
|
||||
<p><a href="#gemwin">[gemwin]</a> - The window manager
|
||||
<br><a href="#gemhead">[gemhead]</a> - The start of a rendering chain
|
||||
<br><a href="#manips">manips</a> - Move an object in the window
|
||||
<br><a href="#geos">geos</a> - Render a shape
|
||||
<p><img SRC="tribar.gif" height=13 width=561>
|
||||
<h3>
|
||||
<a NAME="gemwin"></a>[gemwin]</h3>
|
||||
The graphics window is created and destroyed with the <i>[gemwin]</i> object.
|
||||
With the <i>[gemwin]</i> object, you can set the default size of the graphics
|
||||
window, create and destroy the graphics window, turn on and off rendering,
|
||||
etc. All basic GEM patches will have the following <i>[gemwin]</i>
|
||||
object with these messages:
|
||||
<center>
|
||||
<p><img SRC="gemwin.jpg" BORDER=1 height=128 width=78></center>
|
||||
The create and destroy messages will display and remove the graphics window.
|
||||
The 1 and 0 messages start and stop rendering.
|
||||
<p><img SRC="tribar.gif" height=13 width=561>
|
||||
<h3>
|
||||
<a NAME="gemhead"></a>[gemhead]</h3>
|
||||
The <i>[gemhead]</i> object is the start of every rendering chain.
|
||||
A simple patch, which is located in examples/gem_basic/gem1.redSquare.pd
|
||||
looks like:
|
||||
<center>
|
||||
<p><img SRC="redSquare.jpg" BORDER=1 height=138 width=91></center>
|
||||
|
||||
<p>This patch will render a red square. The <i>[gemhead]</i> object
|
||||
signifies the start of rendering. The <i>[color]</i> object sets the color
|
||||
for all objects after it in the chain. The <i>[square]</i> object renders
|
||||
a square into the graphics window based on the current color, texturing,
|
||||
and transformations. In this case, there is no texturing and no transformation.
|
||||
<p>Every rendering chain <b>MUST</b> start with a [gemhead]. If you
|
||||
do not put a <i>[gemhead]</i> at the beginning of the chain, then nothing
|
||||
will be rendered for that part of the patch.
|
||||
<p><img SRC="tribar.gif" height=13 width=561>
|
||||
<h3>
|
||||
<a NAME="manips"></a>manips</h3>
|
||||
In the patch 01.basic/02.cube.pd, the <i>[translateXYZ]</i> object is
|
||||
introduced.
|
||||
<center>
|
||||
<p><img SRC="basicCube.jpg" BORDER=1 height=133 width=93></center>
|
||||
|
||||
<p>The graphics are transformed and moved by the <i>manipulator</i> objects,
|
||||
or the manips. GEM has the following manips:
|
||||
<p><i>[color]</i> - set the color with a vector
|
||||
<br><i>[colorRGB]</i> - set the color with 3 discrete values
|
||||
<br><i>[rotate]</i> - rotate with an angle and vector
|
||||
<br><i>[rotateXYZ]</i> - rotate with 3 discrete values
|
||||
<br><i>[scale]</i> - scale with a vector
|
||||
<br><i>[scaleXYZ]</i> - scale with 3 discrete values
|
||||
<br><i>[translate]</i> - translate with a vector
|
||||
<br><i>[translateXYZ]</i> - translate with 3 discrete values
|
||||
<p>To understand the difference between the vector and discrete values
|
||||
version, realize that everything in is defined in 3 dimensions. These
|
||||
dimensions can be XYZ values, or RGB colors.
|
||||
<center>
|
||||
<p><img SRC="transXYZ.jpg" BORDER=1 height=92 width=201></center>
|
||||
|
||||
<p>The two translate objects above will do exactly the same thing in a
|
||||
patch, but they provide two different ways to do it. <i>[translate]</i> accepts
|
||||
a scalar and vector. <i>[translateXYZ]</i> accepts three floats which
|
||||
specify a point in space. The manips will transform any object which
|
||||
appears after it in the rendering chain.
|
||||
<p><img SRC="tribar.gif" height=13 width=561>
|
||||
<h3>
|
||||
<a NAME="geos"></a>geos</h3>
|
||||
Up above, we saw the <i>[square]</i> and <i>[cube]</i> objects. The other
|
||||
primary geos are:
|
||||
<p><i>[square]</i> - render a square
|
||||
<br><i>[circle]</i> - render a circle
|
||||
<br><i>[triangle]</i> - render a triangle
|
||||
<br><i>[cube]</i> - render a cube
|
||||
<br><i>[sphere]</i> - render a sphere
|
||||
<br><i>[cone]</i> - render a cone
|
||||
<p>The <i>[square]</i>, <i>[circle]</i>, <i>[cube]</i>, and <i>[triangle]</i> objects
|
||||
have a right-hand inlet to set the size of the shape. The default
|
||||
size is 1.
|
||||
<p>The <i>[cone]</i> and <i>[sphere]</i> objects are not perfectly smooth.
|
||||
They are actually composed of a number of polygons. In order to control
|
||||
the rendering better, the middle inlet is the size of the object, while
|
||||
the right-hand inlet is the number of slices to define the shape.
|
||||
Take a look at the patch gem_basic/gem3.sphere.pd to see how the number
|
||||
of slices can change the look of a sphere. Don't worry about the
|
||||
<i><a href="Lighting.html#world_light">[world_light]</a></i>
|
||||
object, it is just there to make it easier to see the difference in the
|
||||
number of slices. Make sure to click the 'lighting 0' message before
|
||||
closing the patch (if you don't, then other patches will probably be completely
|
||||
black until you quit and restart pd/GEM).
|
||||
<p>Your graphics window should look like this for 5 and 15 slices:
|
||||
<center>
|
||||
<p><img SRC="sphere5.jpg" BORDER=0 height=150 width=150><img SRC="sphere15.jpg" height=150 width=150></center>
|
||||
Obviously, the more slices that you use, the better the sphere looks.
|
||||
However, each slice adds more polygons, which can slow down your frame
|
||||
rate. In computer graphics, there is always a trade off between resolution
|
||||
and speed.
|
||||
<p><img SRC="tribar.gif" height=13 width=561>
|
||||
<p><a href="index.html">[return]</a>
|
||||
<br>
|
||||
</body>
|
||||
</html>
|
|
@ -1,667 +0,0 @@
|
|||
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="Author" content="Mark Danks">
|
||||
<meta name="GENERATOR" content="Mozilla/4.5 [en] (WinNT; I) [Netscape]">
|
||||
<title>Gem FAQ</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<center>
|
||||
<h2>
|
||||
<u>GEM FAQ</u></h2></center>
|
||||
|
||||
<p><br>* : new question
|
||||
<br>+ : changed question
|
||||
<p><img SRC="tribar.gif" height=13 width=561>
|
||||
<h2>
|
||||
<u>QUESTIONS</u></h2>
|
||||
<i><a href="#General">GENERAL</a></i>
|
||||
<br><a href="#1.1">1.1) What is GEM?</a>
|
||||
<br><a href="#1.2">1.2) What is Pd?</a>
|
||||
<br><a href="#1.3">1.3) What platforms do GEM and Pd run on?</a>
|
||||
<br><a href="#1.4.0">1.4.0) How do I install GEM and Pd on IRIX?</a>
|
||||
<br><a href="#1.4.1">1.4.1) How do I install GEM and Pd on linux?</a>
|
||||
<br><a href="#1.4.2">1.4.2) How do I install GEM and Pd on WinNT?</a>
|
||||
<br><a href="#1.7">1.7) What is a good intro to OpenGL?</a>
|
||||
<br><a href="#1.8">1.8) Are there any web sites for Pd or GEM?</a>
|
||||
<br><a href="#1.9">1.9) What libraries does GEM use? (aka: Who does Mark
|
||||
want to thank?)</a>
|
||||
<br><a href="#1.10">1.10) Are there any restrictions on GEM?</a>
|
||||
<br><a href="#1.11">1.11) How do I use GEM in a performance?</a>
|
||||
<p><i><a href="#UsingGem">USING GEM</a></i>
|
||||
<br><a href="#2.1">2.1) How do I (???)</a>
|
||||
<br><a href="#2.2">2.2) How do I make GEM run?</a>
|
||||
<br><a href="#2.3">2.3) Why doesn't GEM run?</a>
|
||||
<br><a href="#2.4">2.4) I've got it running. Now what?</a>
|
||||
<br><a href="#2.5">2.5) On IRIX 5.3, why does GEM dump with an rld error?</a>
|
||||
<br><a href="#2.6">2.6) Why can't I compile GEM on IRIX 5.3?</a>
|
||||
<br><a href="#2.7">2.7) Why is GEM slow in general?</a>
|
||||
<br><a href="#2.8">2.8) Why is GEM slow on IRIX?</a>
|
||||
<br><a href="#2.9">2.9) Why is GEM slow on WinNT/Win95?</a>
|
||||
<br><a href="#2.10">2.10) Why is GEM slow on Linux?</a>
|
||||
<br><a href="#2.11">2.11) If I resize the window, everything looks strange.</a>
|
||||
<br><a href="#2.12">2.12) Can GEM run on a 3Dfx Voodoo card?</a>
|
||||
<br><a href="#2.13">2.13) Will GEM support hardware transform and lighting
|
||||
(T&L) ?</a>
|
||||
<br><a href="#2.14">2.14) I get an error "GEM needs Truecolor visual support".</a>
|
||||
<p><i><a href="#ViewingObjects">VIEWING OBJECTS</a></i>
|
||||
<br><a href="#3.1">3.1) Why does everything seem dim?</a>
|
||||
<br><a href="#3.2">3.2) Why does everything seem dark?</a>
|
||||
<p><i><a href="#TextureMapping">TEXTURE MAPPING</a></i>
|
||||
<br><a href="#4.1">4.1) My image doesn't appear. What is going on?</a>
|
||||
<br><a href="#4.2">4.2) My image looks strange. What is going on?</a>
|
||||
<br><a href="#4.3">4.3) Why does GEM say that it can't handle a gray image?</a>
|
||||
<br><a href="#4.4">4.4) What image formats can GEM handle?</a>
|
||||
<br><a href="#4.5">4.5) What movie formats can GEM handle?</a>
|
||||
<br><a href="#4.6">4.6) Why is pix_draw so slow?</a>
|
||||
<p><i><a href="#WorkingWithPd">WORKING WITH PD</a></i>
|
||||
<br><a href="#5.1">5.1) Why do I get clicks in the audio?</a>
|
||||
<br><a href="#5.2">5.2) How do I get audio data to GEM?</a>
|
||||
<br><a href="#5.3">5.3) Why can't GEM find an image/model file?</a>
|
||||
<br><a href="#5.4">5.4) How can I optimize my patches?</a>
|
||||
<p><i><a href="#NewGemObjects">WRITING NEW GEM OBJECTS</a></i>
|
||||
<br><a href="#6.1">6.1) How do I write a new GEM object?</a>
|
||||
<br><a href="#6.2">6.2) What are the default OpenGL states?</a>
|
||||
<p><i><a href="#ObjectSpecific">OBJECT SPECIFIC</a></i>
|
||||
<br><a href="#7.1">7.1) Why doesn't <object> exist on <platform>?</a>
|
||||
<br><a href="#7.2">7.2) Why doesn't gemtablet work?</a>
|
||||
<br><a href="#7.3">7.3) I don't want GEM to take over my tablet.
|
||||
How do I stop it?</a>
|
||||
<br><a href="#7.4">7.4) Why doesn't gemmouse work in IRIX/Linux?</a>
|
||||
<br><a href="#7.5">7.5) Why doesn't gemorb work?</a>
|
||||
<br><a href="#7.6">7.6) What is wrong with pix_video in WinNT?</a>
|
||||
<p><img SRC="tribar.gif" height=13 width=561>
|
||||
<h2>
|
||||
<u>ANSWERS</u></h2>
|
||||
<a NAME="General"></a><h3>GENERAL</h3>
|
||||
<br><a NAME="1.1"></a>1.1) What is GEM?
|
||||
<p>GEM is the Graphics Environment for Multimedia.
|
||||
It was originally written by <a href="mailto:mark@danks.org">Mark Danks</a> to generate real-time computer
|
||||
graphics, especially for audio-visual compositions. It originally ran under
|
||||
FTS/Max (which is why you might see some papers reference it), but all
|
||||
new development is under Pd.
|
||||
<p>You can get GEM at <a href="http://www.iem.at/GEM">http://gem.iem.at/</a>
|
||||
<p>GEM was sponsored by a grant from Intel (<a href="http://www.intel.com">http://www.intel.com</a>)
|
||||
<p>GEM was ported to <a href="http://www.linux.org">linux</a> by <a href="mailto:geiger@xdv.org">Günter Geiger</a>
|
||||
<p>GEM is now maintained by <a href="mailto:zmoelnig@iem.at">IOhannes m zmölnig</a>.
|
||||
<p>the core-development team consists of<ul>
|
||||
<li>chris clepper</li>
|
||||
<li>günter geiger</li>
|
||||
<li>daniel heckenberg</li>
|
||||
<li>james tittle</li>
|
||||
<li>IOhannes m zmölnig</li></ul>
|
||||
lots of contributions are made by various people (thanks to all of them)
|
||||
<p>----
|
||||
<br><a NAME="1.2"></a>1.2) What is Pd?
|
||||
<p>Pd is a real-time environment for audio and MIDI.
|
||||
It was written by <a href="mailto:msp@ucsd.edu">Miller Puckette</a>, who created FTS/Max when
|
||||
he was at IRCAM. Basically, Pd can be seen as the next generation
|
||||
of real-time visual programming languages. GEM runs inside of the
|
||||
Pd environment.
|
||||
<p>You can get Pd at <a href="http://www.crca.ucsd.edu/~msp/software.html">http://www.crca.ucsd.edu/~msp/software.html</a>
|
||||
<p>Pd is sponsored by a grant from Intel (<a href="http://www.intel.com">http://www.intel.com</a>)
|
||||
<p>----
|
||||
<br><a NAME="1.3"></a>1.3) What platforms do GEM and Pd run on?
|
||||
<p>GEM and Pd run on Windows (95, 98, ME, NT 4.0, 2000, XP), linux and macOS-X (>10.2).
|
||||
SGI-Irix (> 6.2) used to be supported but i don't have any prove that it still works).
|
||||
<a href="mailto:geiger@xdv.org">Günter Geiger</a>
|
||||
has done an initial port of GEM and Pd to Linux <a href="http://gige.epy.co.at/">http://gige.epy.co.at</a>).
|
||||
<p>GEM is now maintained by <a href="mailto:zmoelnig@iem.at">me</a> and
|
||||
developed by a team of several independent programmers (see <a href="1.1">section 1.1</a>)
|
||||
<p>----
|
||||
<br><a NAME="1.4"></a>1.4) How do I install GEM ?
|
||||
<p>----
|
||||
<br><a NAME="1.4.0"></a>1.4.0) How do I install GEM and Pd on IRIX?
|
||||
<p>See the readme for installing Pd.
|
||||
<p>GEM should be at
|
||||
<p>pd/gem
|
||||
<p>If you run GEM.INSTALL.sh, then all of the example files and documention
|
||||
should be put in the correct locations.
|
||||
<p>----
|
||||
<br><a NAME="1.4.1"></a>1.4.1) How do I install GEM and Pd on linux?
|
||||
<p>See the readme for installing Pd.
|
||||
<p>GEM should be at
|
||||
<p>chdir to <gem>/src/Gnu and build Gem following the instructions in the README.build
|
||||
(<tt>./configure; make</tt>)
|
||||
<p>If you then <tt>make install</tt>, then all of the example files and documention
|
||||
should be put in the correct locations.
|
||||
<p>if you are using debian, Gem should be available via apt</p>
|
||||
<p>if you are using an rpm-based distribution, check out the builds at planetCCRMA</p>
|
||||
<p>----
|
||||
<br><a NAME="1.4.2"></a>1.4.2) How do I install GEM and Pd on WinNT?
|
||||
<p>See the readme for installing Pd.
|
||||
<p>unzip GEM so that it is at
|
||||
<p>pd\gem
|
||||
<p>If you run GEM.INSTALL.bat, then all of the example files and documentation
|
||||
should be put in the correct locations.
|
||||
<p>there is also an installer for windows.
|
||||
<p>----
|
||||
<br><a NAME="1.4.3"></a>1.4.3) How do I install GEM and Pd on macOS?
|
||||
<p>See the readme for installing Pd.
|
||||
<p>there is also an installer for macOS.
|
||||
<p>----
|
||||
<br><a NAME="1.7"></a>1.7) What is a good intro to OpenGL?
|
||||
<p>The best book is the <u>OpenGL Programming Manual</u>
|
||||
by Mason and Woo. This is also called the "Red Book". If you search
|
||||
the web, there are many sites on OpenGL. A good starting point is
|
||||
<a href="http://www.opengl.org">http://www.opengl.org</a>.
|
||||
Also, Mark Kilgard (who used to work for SGI) has a wonderful site with
|
||||
lots of links (<a href="http://reality.sgi.com/mjk">http://reality.sgi.com/mjk</a>)
|
||||
Also, Normal Lin has written another great book on <u>3D-graphics under linux</u>
|
||||
<p>----
|
||||
<br><a NAME="1.8"></a>1.8) Are there any web sites for Pd or GEM?
|
||||
<p>Except for the ones noted above, there is the Japanese
|
||||
installation page at
|
||||
<br><a href="http://www.rinc.or.jp/~kotobuki/gem/index.htm">http://www.rinc.or.jp/~kotobuki/gem/index.htm</a>
|
||||
<p>There is a Pd mailing list. Subscription info
|
||||
is on IEM's site <a href="http://www.iem.at/mailinglists/pd-list">http://www.iem.at/mailinglists/pd-list</a>
|
||||
<p>One of pd's unofficial home-pages is at <a href="http://pd.iem.at">http://pd.iem.at</a> hosted by the
|
||||
<a href="http://iem.at">Institute of Electronic Music and Acoustics, Graz, Austria</a>
|
||||
<p>Also hosted by the <a href="http://iem.at">iem</a> is the site of the pd-community
|
||||
<a href="http://www.puredata.info">http://www.puredata.info</a>
|
||||
<p>An interesting place might also be Günter Geiger's size <a href="http://gige.epy.co.at/">http://gige.epy.co.at/</a>
|
||||
<p>there are lot's of other cool pages (search the net...)
|
||||
<p>----
|
||||
<br><a NAME="1.9"></a>1.9) What libraries does GEM use?
|
||||
(aka: Who does Mark want to thank?)
|
||||
<p>All copyrights and license info can be found in
|
||||
<br> GEM.LICENSE.TERMS
|
||||
<br> Thanks to Sam Leffner for libTiff, the TIFF image
|
||||
loader.
|
||||
<br>
|
||||
sam@engr.sgi.com
|
||||
<br> <a href="ftp://ftp.sgi.com/graphics/tiff/">ftp://ftp.sgi.com/graphics/tiff/</a>
|
||||
<br> Thanks to Masayuki Matsumoto for fstimage for OpenGL,
|
||||
the SGI
|
||||
<br> image loader.
|
||||
<br>
|
||||
matumot@dst.nk-exa.co.jp
|
||||
<br> Thanks to the Independent JPEG Group for libjpeg,
|
||||
the JPEG image loader.
|
||||
<br>
|
||||
jpeg-info@uunet.uu.net
|
||||
<br> <a href="ftp://ftp.simtel.net/pub/simtelnet/msdos/graphics/">ftp://ftp.simtel.net/pub/simtelnet/msdos/graphics/</a>
|
||||
<br> Thanks to Mark Kilgard at al. (and SGI) for glut, the openGL Utility Toolkit
|
||||
<br> <a href="http://www.pobox.com/~ndr">http://www.pobox.com/~ndr</a>
|
||||
<br> Thanks to Stephane Rehel for GLTT, the OpenGL TrueType
|
||||
render.
|
||||
<br>
|
||||
rehel@worldnet.fr
|
||||
<br> <a href="http://home.worldnet.fr/~rehel/gltt/gltt.html">http://home.worldnet.fr/~rehel/gltt/gltt.html</a>
|
||||
<br> Thanks to David Turner, Robert Wilhelm, and Werner
|
||||
Lemberg for
|
||||
<br> Freetype, a TrueType font
|
||||
rendering engine.
|
||||
<br>
|
||||
turner@enst.fr
|
||||
<br>
|
||||
robert@physiol.med.tu-muenchen.de
|
||||
<br>
|
||||
a7971428@unet.univie.ac.at
|
||||
<br> <a href="http://www.physiol.med.tu-muenchen.de/~robert/freetype.html">http://www.physiol.med.tu-muenchen.de/~robert/freetype.html</a>
|
||||
<br> Thanks to the MPEG Software Simulation Group, for
|
||||
libmpeg, the
|
||||
<br>MPEG-2 Encoder/Decoder
|
||||
<br>
|
||||
mssg@mpeg.org
|
||||
<br> <a href="http://www.mpeg.org/MSSG/">http://www.mpeg.org/MSSG/</a>
|
||||
<br> Thanks to Heroine for quicktime4linux
|
||||
a quickime Decoder
|
||||
and libmpeg3, another MPEG-2 Encoder/Decoder
|
||||
<br>MPEG-2 Encoder/Decoder
|
||||
<br>
|
||||
mssg@mpeg.org
|
||||
<br> <a href="http://heroinewarrior.com/">http://heroinewarrior.com/</a>
|
||||
<br> Thanks to LCS/Telegraphics for Wintab, the Windows
|
||||
tablet library.
|
||||
<br>
|
||||
wintab@pointing.com
|
||||
<br> Thanks to David McAllister for the Particle System
|
||||
library.
|
||||
<br>
|
||||
davemc@cs.unc.edu
|
||||
<br> <a href="http://www.cs.unc.edu/~davemc/Particle/">http://www.cs.unc.edu/~davemc/Particle/</a>
|
||||
<br> Thanks to John Stone for the Space Orb library,
|
||||
libOrb
|
||||
<br>
|
||||
j.stone@acm.org
|
||||
<br> <a href="http://www.umr.edu/~johns/projects/liborb/">http://www.umr.edu/~johns/projects/liborb/</a>
|
||||
<p>----
|
||||
<br><a NAME="1.10"></a>1.10) Are there any restrictions on GEM?
|
||||
<p>GEM is under the Gnu Public License. This basically
|
||||
means that it will always be free software.Check out <a href="http://www.gnu.org">http://www.gnu.org</a>
|
||||
for more information and read the full license in GnuGPL.LICENSE in the GEM release.
|
||||
<p>----
|
||||
<br><a NAME="1.11"></a>1.11) How do I use GEM in a performance?
|
||||
<p>This is a constant problem, because there is no consistent
|
||||
way to display video on any platform. Also, you usually do not want
|
||||
to send the entire screen, but only the GEM window. It is also useful
|
||||
to be able to edit/control the Pd patch window while the patch is actually
|
||||
running.
|
||||
<p>On SGIs, the best way is to get a video out option.
|
||||
On the SGI O2, Impact, and Onyx (Mark has used all of these), there is a
|
||||
simple connector or breakout box to do video.
|
||||
If you run the video out program, then you will get a rectangle on your screen
|
||||
which shows what is being sent out the video connector.
|
||||
Make your GEM window a little larger than 640x480 and center it in the rectangle.
|
||||
You can now project this with a standard video projector.
|
||||
<p>On PCs it is a bit harder.
|
||||
Several modern video-cards have the possibility to output several screens
|
||||
(either 2 (or more) VGA-screens or 1 VGA-screen and 1 TV (Composite or S-HVS)
|
||||
or a combination with DFTs)
|
||||
If you have a Canopus Voodoo2 card it has a video and s-video output on it. As described
|
||||
in <a href="#2.12">question 2.12</a>, you can get a Voodoo to work with
|
||||
GEM. If any one else has a better solution, please let me know.
|
||||
The nVidia Riva TNTs require that you output the full screen, so this is
|
||||
not a very good option. You can use a video scan convertor.
|
||||
Some of them only display a part of the scene, which is exactly what you
|
||||
want.
|
||||
<p>With modern multi-headed cards it is more simple:
|
||||
Configure your card to display the desktop spread over your multiple screens
|
||||
(e.g.: from left-to-right).
|
||||
On windows and macOS you can do this via the display-properties dialog.
|
||||
On linux you will have to edit your /etc/X11/XF86Config-4 file either by hand or
|
||||
(if your system supports it) via an appropriate editor (yes, nowadays there are some).
|
||||
Now create your gem-window on the second screen:
|
||||
it should have the same dimensions as the 2nd screen (e.g: "[dimen 800 600(").
|
||||
to place it at the second screen use the offset (e.g: if your primary sreen
|
||||
(the one you want for patch-editing) has the dimension 1024x768 use "[offset 1024 0(",
|
||||
which will create the gem-window 1024 pixels right of the upper-left corner
|
||||
of the total screen (and 0 pixels below it),
|
||||
which is exactly the upper-left corner of the 2nd screen.
|
||||
You most probably want to turn off the borders with "[border 0(".<br>
|
||||
<em>Note:</em> some grafix-card have openGL-hardware-acceleration only on the 1st screen
|
||||
(so you should create the gem-window on the 1st screen and move
|
||||
your patches to the 2nd screen)
|
||||
<p>If you are using an XServer for displaying (under linux) you can also use another
|
||||
computer for rendering.
|
||||
You can specify the place where the gem-window should be created with something like
|
||||
"create <<em>render.host</em>>:0.0"
|
||||
|
||||
<p>If you are doing audio with graphics, the only solution
|
||||
to prevent clicking (<a href="#5.1">question 5.1</a>) is to run 2 computers
|
||||
and have them communicate with netsend/netreceive. We are working
|
||||
on making Pd/GEM multi-processor friendly, so if you have a multi-processor
|
||||
system, you can run everything on one machine eventually.
|
||||
<p>
|
||||
<hr WIDTH="100%"><a NAME="UsingGem"></a><h3><i>USING GEM</i></h3>
|
||||
<br><a NAME="2.1"></a>2.1)How do I (???)
|
||||
<p>Many of the general usage questions are probably
|
||||
answered in the manual or release notes. The pd mailing list is also
|
||||
a good place to find answers as well.
|
||||
<p><a NAME="2.2"></a>2.2) How do I make GEM run?
|
||||
<p>GEM is not an executable. It requires Pd to
|
||||
work and is loaded in at run time. For example, I have an alias on
|
||||
the SGI which does
|
||||
<p>/usr/people/mdanks/pd/bin/pd -lib /usr/people/mdanks/pd/gem/Gem
|
||||
<p>and on WinNT
|
||||
<p>\pdDir\pd\bin\pd -lib /pdDir/pd/gem/Gem
|
||||
<p>on UNIX-systems you will probably want to use a <tt>.pdrc</tt> file,
|
||||
where you can put the command-line arguments for pd that you "always" need.
|
||||
<p>If you don't see a startup message from GEM, then something went wrong.
|
||||
<p>Most people use use the command shell to start Pd.
|
||||
It is not very difficult to configure Pd to run from double-clicking on the icon.
|
||||
<p>----
|
||||
<br><a NAME="2.3"></a>2.3) Why doesn't GEM run?
|
||||
<p><b>Notice that the -lib flag always requires Unix
|
||||
styles slashes</b>. This is the case even on Windows.
|
||||
<p>You may also want to use the -nosound flag.
|
||||
For instance, my PC has problems using audio (it leaks memory), so I just
|
||||
turn off the audio part of Pd. However, other people can't get GEM
|
||||
to work if the -nosound is used (on Win95). You can also try the
|
||||
-dac or -adc flags (for digital-analog-conversion only and analog-digital-conversion
|
||||
only).
|
||||
<p>----
|
||||
<br><a NAME="2.4"></a>2.4) I've got it running. Now what?
|
||||
<p>Try out the manual. It will step you through
|
||||
the basics.
|
||||
<br> You will also want to look at the example files.
|
||||
Assuming that everything is installed correctly, you can get to the examples
|
||||
by going to the Help menu in Pd and selecting examples. A bunch of
|
||||
the patches should start with gem<something>. The best one is
|
||||
<i>gem/01.basic/01.redSquare.pd</i>
|
||||
It puts a red square up on the screen and allows you to rotate it. <i>gemImage.pd</i>
|
||||
shows how to load in a TIFF file. <i>gem/03.lighting/04.moveSpheres.pd</i>
|
||||
moves two spheres around the screen. Try the other ones.
|
||||
<br> Most of the GEM objects have test patches which
|
||||
give some information about the various controls for the object.
|
||||
<p>----
|
||||
<br><a NAME="2.5"></a>2.5) On IRIX 5.3, why does GEM dump with an rld error?
|
||||
<p>GEM only works under IRIX 6.2+. The rld error
|
||||
is probably something about not having glBindTextureEXT (or something).
|
||||
OpenGL 1.0 has some extensions to speed up texture mapping (which are an
|
||||
integral part of OpenGL 1.1). However, these don't exist on IRIX
|
||||
5.3. If you recompile GEM (see the next question), things should
|
||||
work fine.
|
||||
<br> I don't have access to an IRIX machine, so don't
|
||||
expect any builds from me. Upgrading to IRIX 6.2+ is worth it.
|
||||
<p>----
|
||||
<br><a NAME="2.6"></a>2.6) Why can't I compile GEM on IRIX 5.3?
|
||||
<p>There was probably an error saying that the compiler
|
||||
couldn't find the file "dmedia/vl_vino.h" in pix_videoSGI.cpp. IRIX
|
||||
6.2+ adds new functionality to the media libraries which makes life much
|
||||
easier. You cannot compile pix_video or pix_indycam as is under 5.3.
|
||||
You can remove them from the Pix/Makefile and from the linker part of the
|
||||
global Makefile. You will also need to recompile the Td and Tiff
|
||||
libraries.
|
||||
<p>There shouldn't be any problems doing this. I haven't tried any
|
||||
of this, so if it works for someone, please let me know.
|
||||
<p>----
|
||||
<br><a NAME="2.7"></a>2.7) Why is GEM slow in general?
|
||||
<p>Examine what you are doing. If you are constantly
|
||||
changing textures, then this is probably your problem. If you have
|
||||
models with a million triangles, then this is probably the problem.
|
||||
Compare what you are doing with realistic specs on your system. Some
|
||||
systems slow down when they have to draw very large polygons (slow fill
|
||||
rate).
|
||||
<br> You can also turn on profiling to see how long it
|
||||
takes to render a frame. Send a profile message to the gemwin object.
|
||||
The number that is printed is the number of milliseconds one frame takes
|
||||
to render. 50 milliseconds is 20 frames per second. 'profile 2' is
|
||||
good if you want to see how long the image processing is taking.
|
||||
<br> profile 0 - turn off profiling
|
||||
<br> profile 1 - turn on profiling
|
||||
<br> profile 2 - turn on profiling
|
||||
and don't cache pixes
|
||||
<p>----
|
||||
<br><a NAME="2.8"></a>2.8) Why is GEM slow on IRIX?
|
||||
<p>If you are having major slowdowns, then please let
|
||||
me know. I have gotten very good performance on most machines (Indy,
|
||||
O2, Impact, Onyx2).
|
||||
<p>----
|
||||
<br><a NAME="2.9"></a>2.9) Why is GEM slow on WinNT/Win95?
|
||||
<p>You probably don't have hardware acceleration.
|
||||
You can use software rendering, but it basically useless except for extremely
|
||||
basic patches. You can get a good graphics accelerator for really
|
||||
cheap these days. I recommend a card based on nVidia's chipsets,
|
||||
such as the TNT2 or GeForce, but there are other companies such as 3dfx
|
||||
and Matrox. Make sure that you are running the latest drivers for
|
||||
your card. The basic drivers that come with the cards are usually
|
||||
very bad.
|
||||
<br> Also, PCs don't deal with lots of texture maps very
|
||||
well (they are bus limited, at least until AGP), so if you are trying to
|
||||
use lots of constantly changing texture maps
|
||||
(especially with [pix_multiimage], [pix_video] or [pix_film]), that will cause problems.
|
||||
<p>----
|
||||
<br><a NAME="2.10"></a>2.10) Why is GEM slow on Linux?
|
||||
<p>It is because you have to use Mesa, which might be
|
||||
running iin software. Mesa (<a href="http://www.mesa.org">http://www.mesa.org</a>)
|
||||
is an awesome package by Brian Paul (brianp@avid.com) which "emulates"
|
||||
OpenGL. Basically, it is a fully compliant OpenGL package, but it
|
||||
isn't officially sanctioned by the OpenGL ARB, such, it is doesn't have
|
||||
the OpenGL name. There is an acceleration package for the many graphics
|
||||
card, but I don't know anything about it.
|
||||
<br>nVidia is being very supportive of Linux:
|
||||
their TNT2 and GeForce cards work under Linux with hardware-acceleration of openGL.
|
||||
(but the drivers are proprietary)
|
||||
<br>radeon cards should also be supported very well under linux (even with open-source drivers)
|
||||
<p>----
|
||||
<br><a NAME="2.11"></a>2.11) If I resize the window, everything looks strange.
|
||||
<p>GEM doesn't trap resize events in IRIX or Linux (this
|
||||
is not a problem in WinNT). This means that OpenGL doesn't have the
|
||||
correct information to render properly. If you want to resize the
|
||||
window, send a 'dimen x y' message to gemwin before you create the window.
|
||||
<p>----
|
||||
<br><a NAME="2.12"></a>2.12) Can GEM run on a 3Dfx Voodoo card?
|
||||
<p>I (this is: Mark Danks) have a Voodoo2 card, which runs fine under WinNT.
|
||||
I use the OpenGL beta driver from 3Dfx at work all the time without any
|
||||
problems and, except that the Voodoo takes over the full screen, it seems
|
||||
to work fine. You will need to download the OpenGL Beta driver from
|
||||
3Dfx's web site at http://www.3dfx.com and put the OpenGL32.dll into the
|
||||
same directory as pd.exe (NOT gem.dll). Debugging patches is much
|
||||
easier if you have two monitors, one for the 3-D card and one for the 2-D
|
||||
card.
|
||||
<p>IMPORTANT: You MUST set the environment variable
|
||||
<p>GEM_SINGLE_CONTEXT = 1
|
||||
<p>to make the Voodoo card work. It will make a window 640x480 (which
|
||||
is the correct size for TV video out on my Canopus V2 card). On WinNT,
|
||||
right click "My Computer" and go to "Properties". On the "Environment"
|
||||
tab, you need to add the variable "GEM_SINGLE_CONTEXT" with a value of
|
||||
1.
|
||||
<br>Resizing the GEM window with a Voodoo card is not
|
||||
a great idea. The Voodoo card can only display certain window sizes and
|
||||
will clip the graphics.
|
||||
<p>For the tech heads in the audience...I create an
|
||||
OpenGL context at startup and never actually display its associated window.
|
||||
This means that GEM objects can create display lists, call OpenGL commands,
|
||||
etc. in their constructors, even if no window is actually being displayed.
|
||||
However, with the Voodoo card, there can only be one OpenGL context.
|
||||
So, instead of creating one context and just holding onto it in the background,
|
||||
I create the normal GEM window and associate the OpenGL context with it...and
|
||||
the user can never destroy or close that window.
|
||||
<p>----
|
||||
<br><a NAME="2.13"></a>2.13) Will GEM support hardware transform and lighting
|
||||
(T & L)?
|
||||
<p>Absolutely! Unlike some other APIs, OpenGL
|
||||
will automatically use hardware accelerated transform and lighting if the
|
||||
card has it. GEM gets great performance from cards like nVidia's
|
||||
GeForce.
|
||||
<p><a NAME="2.14"></a>2.14) I get an error "GEM needs Truecolor visual
|
||||
support".
|
||||
<p>This error means that your X display is running with
|
||||
paletted colors, which is the result of limited color depth. If you
|
||||
start the X display with
|
||||
<p>startx -- -bpp 16
|
||||
<p>or some higher number, then it should work fine. 32-bit color
|
||||
is the best.
|
||||
<p>
|
||||
<hr WIDTH="100%"><a NAME="ViewingObjects"></a><h3><i>VIEWING OBJECTS</i></h3>
|
||||
<br><a NAME="3.1"></a>3.1)Why does everything seem dim?<
|
||||
<p>You probably turned on lighting but don't have any
|
||||
lights in the world. Either add a light with <i>world_light</i> or
|
||||
<i>light</i>
|
||||
or turn lighting off by sending a message 'lighting 0' to the <i>gemwin</i>.
|
||||
You can also send a reset message to <i>gemwin</i> to set it back to the
|
||||
startup state (which doesn't have any lighting).
|
||||
<p>----
|
||||
<br><a NAME="3.2"></a>3.2) Why does everything seem dark?
|
||||
<p>See question 3.1.
|
||||
<br> If you are using <tt>view</tt> in your patch to change the viewpoint,
|
||||
you may not be pointing in the correct direction. You also might have translated
|
||||
everything outside of the current viewport.
|
||||
<br> Also, if you have been using single buffering ('buffer
|
||||
1' message to <i>gemwin</i>), then you might still be in that mode.
|
||||
Either send a 'buffer 2' message or a 'reset' message to <i>gemwin</i>.
|
||||
Then, destroy and create your window.
|
||||
<p>
|
||||
<hr WIDTH="100%"><a NAME="TextureMapping"></a><h3><i>TEXTURE MAPPING</i></h3>
|
||||
<br><a NAME="4.1"></a>4.1) My image doesn't appear. What is going
|
||||
on?
|
||||
<p>Normally images have to be texture-mapped onto Geos.
|
||||
You have to use [pix_texture] to map the current image onto a Geo.
|
||||
"Current" means that any pix-manipulation that is done after texturing will not be displayed.
|
||||
<p>Any Geo has a color (which is initially set to white).
|
||||
If you have set the color to black, your Geo (including the image) might be very dark.
|
||||
If you are using alpha-blending, make sure that the Geo is not invisible.
|
||||
<p>Normally images that want to be texture mapped with openGL should have dimensions that are a power of 2 in both height and width.
|
||||
Now [pix_texture] will make this totally transparent to you (so normally you don't have to care about the size of the image).
|
||||
However with non-power-of-2 images <i>pix_coordinate</i> might not behave as expected,
|
||||
because these images need absolute texture-coordinates rather than normalized ones
|
||||
(as are used with power-of-2 images): so if the texture-coordinates are set to "(0,0) (1,0) (1,1) (0,1)" you might see only the first pixel of the image (which might be black).
|
||||
<p>Also, make sure that GEM can find your image (ie,
|
||||
that the path name is correct).
|
||||
<p>----
|
||||
<br><a NAME="4.2"></a>4.2) My image looks strange. What is going
|
||||
on?
|
||||
<p>GEM supports gray8, YUV, and RGBA images. If
|
||||
it sees that the number of bits per channel and the number of channels
|
||||
is something that it should be able to handle, it tries to load the raw
|
||||
data. If you have compressed or stored the pixel data in some "strange"
|
||||
format, then GEM will probably not read the information correctly.
|
||||
<br> Also, if it is an RGBA image, then make sure that
|
||||
the alpha channel is something useful (this only matters if you are using
|
||||
the alpha channel, like in the alpha object or pix_mask).
|
||||
<p>----
|
||||
<br><a NAME="4.3"></a>4.3) Why does GEM say that it can't handle a gray
|
||||
image?
|
||||
<p>This error message occurs whenever a pix object receives
|
||||
a gray8 image and the implementor hasn't provided a way to deal with that
|
||||
format of image. (Implementors often only provide functions for GEM's <i>native</i>
|
||||
color-format RGBA. Any other color-format (like BGR) will try to call the function
|
||||
for gray8 images, which might not be supported.)
|
||||
If you do not want to change the image format with some extern image-programm
|
||||
(like Photoshop or the Gimp) you might want to try <i>pix_rgba</a>
|
||||
or harass whoever made the object to add the functionality.
|
||||
<p>----
|
||||
<br><a NAME="4.4"></a>4.4) What image formats can GEM handle?
|
||||
<p>GEM can read in TIFF, JPEG, and SGI images.
|
||||
These can be in any color format. Gray scale images are loaded in
|
||||
as gray scale (ie, one byte per pixel). Everything else is loaded
|
||||
in or converted to an RGBA image (ie, four bytes per pixel). If there
|
||||
is an alpha channel, then it will be respected. Otherwise, the alpha
|
||||
channel will be set to fully opaque (alpha == 255).
|
||||
<p>GEM can write TIFF and JPEG images.
|
||||
TIFF-images will be full RGBA-images, wheras JPEG-files only support (compressed) RGB.
|
||||
<p>----
|
||||
<br><a NAME="4.5"></a>4.5) What movie formats can GEM handle?
|
||||
<p>The movie formats GEM can handle (still) depend on the platform
|
||||
you are using.
|
||||
<p>On Windoze you can read all AVI-files you have codecs for
|
||||
<p>On linux the readable formats depend on the libraries you had installed when you compiled GEM.
|
||||
Currently there is (optional) support for AVI, quicktime (*.MOV) and MPEG (*.MPG) files.
|
||||
Not all quicktime-formats are supported. This is unfortunate but is due to linux restrictions.
|
||||
I highly recommend that you install the mpeg3-library from Heroine because it is much more stable than mpeg1 (which comes with many linux-distributions).
|
||||
If you have compiled in support for libavifile, you will be able to open Micro$oft-AVI-files.
|
||||
If you have installed the proper codecs
|
||||
(libavifile supports a mechanism for loading codecs from windows-DLLs) you should be able to
|
||||
open almost any format.
|
||||
|
||||
If you have serious problems, mail them <a href="mailto:zmoelnig@iem.at">to me</a>.
|
||||
(Be ready to upload the movie-file that won't work)
|
||||
<p>----
|
||||
<br><a NAME="4.6"></a>4.6) Why is <i>pix_draw</i> so slow?
|
||||
<p><i>pix_draw</i> is almost never hardware accelerated
|
||||
on PCs graphics accelerator. This means that it runs <i>extremely</i>
|
||||
slowly. Always use <i>pix_texture</i>, even if you are just displaying
|
||||
an image.
|
||||
<p>
|
||||
<hr WIDTH="100%"><a NAME="WorkingWithPd"></a><h3><i>WORKING WITH PD</i></h3>
|
||||
<br><a NAME="5.1"></a>5.1) Why do I get clicks in the audio?
|
||||
<p>If you are getting a constant stream of clicks in
|
||||
your audio, then it is probably because you are trying to do graphics and
|
||||
audio in the same process. Rendering a graphics frame usually takes
|
||||
longer than the size of the audio buffer, which is why you get clicks (the
|
||||
clicks are usually at 20Hz...the typical frame rate).
|
||||
<br> One way around this is to use two computers, one
|
||||
for graphics and one for audio. If you have enough processing power
|
||||
(or dual processors), then you can run two versions of Pd, one for graphics
|
||||
and one for audio. Just use <i>netsend</i> and <i>netreceive</i>
|
||||
to have the two versions of Pd talk to each other.
|
||||
<p>----
|
||||
<br><a NAME="5.2"></a>5.2) How do I get audio data to GEM?
|
||||
<p>One simple way to get raw audio values right now is
|
||||
to use <i>snapshot~</i>. Just set up a <i>metro</i> which bangs <i>snapshot~</i>
|
||||
and use the floating point value. If you want "musical" information,
|
||||
then use objects such as <i>env~</i>.
|
||||
You might also have a look at the <i>pix_sig2pix~</i> which interprets audio-data as pixels
|
||||
and its counterpart <i>pix_pix2sig~</i>
|
||||
<p>----
|
||||
<br><a NAME="5.3"></a>5.3) Why can't GEM find an image/model file?
|
||||
<p>This means that GEM can't locate the file.
|
||||
If you use an absolute path (with / for instance), then GEM will look there.
|
||||
Otherwise, GEM will look in the directory of where the patch is.
|
||||
Then pd/GEM will search the paths you specified at startup with the <i>-path</i> flag.
|
||||
<p>Check the following:
|
||||
<p>1) Does the file exist?
|
||||
<br> 2) Did you make a typo in the filename?
|
||||
<br> 3) Is the file in the search-path ?
|
||||
<p>----
|
||||
<br><a NAME="5.4"></a>5.4) How can I optimize my patches?
|
||||
<p>One of the biggest performance hits is having UI
|
||||
elements in your patch which have to be updated. The biggest performance
|
||||
hog is the number box. While the number box is great for debugging,
|
||||
make sure that they are all gone from your "release" patch. If you
|
||||
run a performance meter, you will see that whenever Tcl/Tk has to update
|
||||
the user interface, it sucks the entire processor. Another examples
|
||||
of this is when you move a lot of objects at once, everything jerks and
|
||||
slides across the screen. There are probably ways to improve this...
|
||||
<br> Another problem is doing unneccessary calculations.
|
||||
When you are throwing lots of numbers around, especially packing/unpacking,
|
||||
doing vector math, etc., they add up. If the calculations are going
|
||||
unused (for instance, that part of the patch is turned off), then do not
|
||||
trigger the math objects. Use <i>spigot</i> or <i>gate</i> and block
|
||||
the events early. This is especially important with objects that
|
||||
send a lot of numbers, like ~ objects or <i>line</i>/<i>tripleLine</i>.
|
||||
<p>
|
||||
<hr WIDTH="100%"><a NAME="NewGemObjects"></a><h3><i>WRITING NEW GEM OBJECTS</i></h3>
|
||||
<br><a NAME="6.1"></a>6.1) How do I write a new GEM object?
|
||||
<p>For the time being, you have to look at the code.
|
||||
It is fairly well documented and straight forward (if you know C++ and
|
||||
OOP). Start with an object which is similar to what you want and
|
||||
derive a new class. The biggest issue right now is how to load in
|
||||
GEM as a DSO/DLL. For SGIs, you will need to setenv LD_LIBRARY_PATH.
|
||||
On NT, you will need to have your path include the directory with GEM.
|
||||
<p>----
|
||||
<br><a NAME="6.2"></a>6.2) What are the default OpenGL states?
|
||||
<p>GemMan (and by association, gemwin) disables alpha
|
||||
testing, alpha blending, culling, and lighting. Lighting defaults
|
||||
to two sided, with GL_COLOR_MATERIAL enabled. The viewport is set
|
||||
to
|
||||
<p>float xDivy = (float)m_width / (float)m_height;
|
||||
<br> glMatrixMode(GL_PROJECTION);
|
||||
<br> glLoadIdentity();
|
||||
<br> glFrustum(-xDivy, xDivy, -1.0, 1.0, 1.0, 20.0);
|
||||
<br> gluLookAt(0.0, 0.0, 4.0, 0.0, 0.0, 0.0, 0.0, 1.0,
|
||||
0.0);
|
||||
<br> glMatrixMode(GL_MODELVIEW);
|
||||
<br> glViewport(0, 0, m_width, m_height);
|
||||
<p>which gives a range of about -4 to 4 in X and Y at the origin.
|
||||
This is a small range, but changing it now would break a lot of patches.
|
||||
<p>The specific functions to look at are:
|
||||
<p>GemMan::windowInit()
|
||||
<br>GemMan::resetValues()
|
||||
<br>gemhead::renderGL()
|
||||
<p>
|
||||
<hr WIDTH="100%"><a NAME="ObjectSpecific"></a><h3><i>OBJECT SPECIFIC</i></h3>
|
||||
<br><a NAME="7.1"></a>7.1) Why doesn't <object> exist on <platform>?
|
||||
<p>Usually, this is because I don't have the resources
|
||||
to get the object running on that platform. If an object that you
|
||||
want doesn't exist on your platform, then ask for it! However, if
|
||||
it is tied to hardware, then it is much less likely that I will be able
|
||||
to do anything about it (unless someone donates the hardware to me...)
|
||||
<p>----
|
||||
<br><a NAME="7.2"></a>7.2) Why doesn't <i>gemtablet</i> work?
|
||||
<p><i>gemtablet</i> only works on WinNT. I don't
|
||||
have drivers for IRIX or Linux (also, see question 7.4)
|
||||
<br> If GEM can find the tablet, then it will print a
|
||||
message at window creation time. If you don't see a message, then
|
||||
GEM doesn't think that you have a tablet.
|
||||
<br> The tablet is mapped to the size of the GEM graphics
|
||||
window.
|
||||
<p>---
|
||||
<br><a NAME="7.3"></a>7.3) I don't want GEM to take over my tablet.
|
||||
How do I stop it?
|
||||
<p>Set the environment variable
|
||||
<p>GEM_NO_TABLET = 1
|
||||
<p>----
|
||||
<br><a NAME="7.4"></a>7.4) Why doesn't <i>gemmouse</i> work in IRIX?
|
||||
<p>Basically, I don't have physical access to an SGI machine.
|
||||
This makes it hard to do some of the OS specific work.
|
||||
It should be straightforward to do the event handling, so if someone gets
|
||||
it working, I would love to include it (and give you credit). All
|
||||
you have to do is call the correct event functions from GemEvent.h and
|
||||
everything should just start to work (ie, gemmouse doesn't have any OS
|
||||
specific code in it).
|
||||
<p>----
|
||||
<br><a NAME="7.5"></a>7.5) Why doesn't gemorb work?
|
||||
<p>You need to make sure that your SpaceOrb is hooked
|
||||
up correctly. I am using a library which isn't supported by SpaceTec so
|
||||
there can be problems, although I have not had any.
|
||||
<br> <RANT> When will companies wake up and actually
|
||||
provide drivers and support for their products under WinNT? </RANT>
|
||||
<p>----
|
||||
<br><a NAME="7.6"></a>7.6) What is wrong with <i>pix_video</i> in WinNT?
|
||||
<p>I haven't completely figured out how to get access
|
||||
to the video stream in WinNT. I'm using Video for Windows with a
|
||||
Connectix QuickCam, as well as an Intel Video Capture Card, and it seems
|
||||
to assume that you are only writing to a file or previewing into a window.
|
||||
Windows tries to take over the system and doesn't really provide any stable
|
||||
hooks (unlike IRIX). If anyone knows how to deal with this, please
|
||||
let me know.
|
||||
<p><a href="index.html">[return]</a>
|
||||
<br>
|
||||
<br>
|
||||
</body>
|
||||
</html>
|
|
@ -1,140 +0,0 @@
|
|||
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="Author" content="Mark Danks">
|
||||
<meta name="GENERATOR" content="Mozilla/4.5 [en] (WinNT; I) [Netscape]">
|
||||
<title>Using GEM with Pd</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<center>
|
||||
<h2>
|
||||
<u>Using GEM with Pd</u></h2></center>
|
||||
An important fact is that GEM is NOT an application.
|
||||
It is a library that the application Pd loads in at run-time. Most
|
||||
of this information is taken directly from the GEM FAQ.
|
||||
<p><a href="#GEMIrix">How do I install GEM on IRIX?</a>
|
||||
<br><a href="#GEMWinNT">How do I install GEM on Win95/NT/2k?</a>
|
||||
<br><a href="#GEMlinux">How do I install GEM on linux?</a>
|
||||
<br><a href="#GEMmacos">How do I install GEM on macOS-X?</a>
|
||||
<br><a href="#runIRIX">How do I run GEM on IRIX?</a>
|
||||
<br><a href="#runWinNT">How do I run GEM on Win95/NT/2k?</a>
|
||||
<br><a href="#runlinux">How do I run GEM on linux?</a>
|
||||
<br><a href="#runmacos">How do I run GEM on linux?</a>
|
||||
<br><a href="#noRun">Why doesn't GEM run?</a>
|
||||
<p><img SRC="tribar.gif" height=13 width=561>
|
||||
<h4>
|
||||
<a NAME="GEMIrix"></a><u>How do I install GEM and Pd on IRIX?</u></h4>
|
||||
See the readme for installing Pd.
|
||||
<p>Uncompress and untar the GEM file that you downloaded. GEM should
|
||||
be located at
|
||||
<p>pd/gem
|
||||
<p>depending on where you have installed Pd.
|
||||
<p>If you run the shell script, GEM.INSTALL.sh, then all of the example
|
||||
files and documention
|
||||
<br>should be put in the correct locations.
|
||||
<p><img SRC="tribar.gif" height=13 width=561>
|
||||
<h4>
|
||||
<a NAME="GEMWinNT"></a><u>How do I install GEM and Pd on WinNT?</u></h4>
|
||||
See the readme for installing Pd.
|
||||
<p>TODO: there should be a install package somewhere
|
||||
<p>Unzip the GEM file that you downloaded so that it is at
|
||||
<p>pd\gem
|
||||
<p>depending on where you have installed Pd.
|
||||
<p>If you run GEM.INSTALL.bat, then all of the example files and documentation
|
||||
should be put in the correct locations.
|
||||
<p><img SRC="tribar.gif" height=13 width=561>
|
||||
<h4>
|
||||
<a NAME="GEMlinux"></a><u>How do I install GEM and Pd on linux?</u></h4>
|
||||
See the readme for installing Pd.
|
||||
<p>Uncompress and untar the GEM file that you downloaded so that it is at
|
||||
<p>pd/gem
|
||||
<p>depending on where you have installed Pd.
|
||||
<p>chdir into <pd/gem>/src/Gnu
|
||||
<p>read the README.build
|
||||
<p>run <tt>./configure</tt> and afterwards <tt>make</tt>
|
||||
<p>If you run <tt>make install</tt>, then all of the example files and documentation
|
||||
should be put in the correct locations.
|
||||
<p><img SRC="tribar.gif" height=13 width=561>
|
||||
<h4>
|
||||
<a NAME="GEMmacos"></a><u>How do I install GEM and Pd on macOS-X?</u></h4>
|
||||
See the readme for installing Pd.
|
||||
<p>TODO: there should be a install package somewhere
|
||||
<p><img SRC="tribar.gif" height=13 width=561>
|
||||
<h4>
|
||||
<a NAME="runIRIX"></a><u>How do I run GEM on IRIX?</u></h4>
|
||||
To use GEM type something like:
|
||||
<p>/usr/people/mdanks/pd/bin/pd -lib /usr/people/mdanks/pd/gem/Gem
|
||||
<p>(where /usr/people/mdanks is the path to the pd directory). Check out
|
||||
the README for Pd to see examples of the -lib flag. If you just try to
|
||||
"run" GEM, you will get an error! Notice that last word is a capital Gem.
|
||||
If you get a "can't find gem_setup" error, then that is the problem. Look
|
||||
in the GEM FAQ
|
||||
<br>for trouble shooting suggestions.
|
||||
<p>If you don't see startup messages from GEM, then something went wrong.
|
||||
<br>Also, you might need to add pd/bin to your PATH environment variable.
|
||||
<p><img SRC="tribar.gif" height=13 width=561>
|
||||
<h4>
|
||||
<a NAME="runWinNT"></a><u>How do I run GEM on Win95/NT?</u></h4>
|
||||
It is best to start Pd from a DOS command line.
|
||||
If you go to the Start menu, you should find an application called "Command
|
||||
Prompt" under the Program menu. You need to change to the drive where
|
||||
you installed Pd. For instance, if it is on your D: drive, just type
|
||||
d: at the prompt.
|
||||
<p> To use GEM type something like:
|
||||
<p>\pd\bin\pd -lib /pd/gem/Gem
|
||||
<p>depending on where you installed Pd.
|
||||
<p> Check out the README for Pd to see examples of the
|
||||
-lib flag. If you just try to double click GEM, you will get an error!
|
||||
Notice that last word is a capital Gem. If you get a "can't find gem_setup"
|
||||
error, then that is the problem. Look in the GEM FAQ for trouble shooting
|
||||
suggestions.
|
||||
<p>If you don't see a startup message from GEM, then something went wrong.
|
||||
<p> Most people use the command shell to start Pd.
|
||||
It is difficult to configure Pd to run from double-clicking on the icon.
|
||||
<p> Also, you might need to add pd/bin to your PATH environment
|
||||
variable.
|
||||
<p><img SRC="tribar.gif" height=13 width=561>
|
||||
<h4>
|
||||
<a NAME="runIRIX"></a><u>How do I run GEM on linux?</u></h4>
|
||||
To use GEM type something like:
|
||||
<p>/usr/people/mdanks/pd/bin/pd -lib /usr/people/mdanks/pd/gem/Gem
|
||||
<p>(where /usr/people/mdanks is the path to the pd directory). Check out
|
||||
the README for Pd to see examples of the -lib flag. If you just try to
|
||||
"run" GEM, you will get an error! Notice that last word is a capital Gem.
|
||||
If you get a "can't find gem_setup" error, then that is the problem. Look
|
||||
in the GEM FAQ
|
||||
<br>for trouble shooting suggestions.
|
||||
<p>If you don't see startup messages from GEM, then something went wrong.
|
||||
<br>Also, you might need to add pd/bin to your PATH environment variable.
|
||||
<p><img SRC="tribar.gif" height=13 width=561>
|
||||
<h4>
|
||||
<a NAME="runIRIX"></a><u>How do I run GEM on macOS-X?</u></h4>
|
||||
To use GEM type something like:
|
||||
<code>/usr/local/bin/pd -lib /Users/zmoelnig/pd/Gem</code>
|
||||
<p>(where /usr/local/bin/pd is the path to the pd directory and
|
||||
/Users/zmoelnig/pd is the path where the <i>Gem.pd_darwin</i> resides).
|
||||
Check out the README for Pd to see examples of the -lib flag. If you just try to
|
||||
"run" GEM, you will get an error! Notice that last word is a capital Gem.
|
||||
If you get a "can't find gem_setup" error, then that is the problem. Look
|
||||
in the GEM FAQ
|
||||
<br>for trouble shooting suggestions.
|
||||
<p>If you don't see startup messages from GEM, then something went wrong.
|
||||
<br>Also, you might need to add pd/bin to your PATH environment variable.
|
||||
<p><img SRC="tribar.gif" height=13 width=561>
|
||||
<h4>
|
||||
<a NAME="noRun"></a><u>Why doesn't GEM run?</u></h4>
|
||||
Notice that the -lib flag always requires Unix styles
|
||||
slashes, even if you are on Windows. This means that you need to
|
||||
do <i>-lib /gem/Gem</i>, not <i>-lib \gem\Gem</i>
|
||||
<p> You may also want to use the -nosound flag.
|
||||
For instance, my PC has problems using audio (it leaks memory), so I just
|
||||
turn off the audio part of Pd. However, other people can't get GEM
|
||||
to work if the -nosound is used (on Win95). You can also try the
|
||||
-dac or -adc flags (for digital-analog-conversion only and analog-digital-conversion
|
||||
only).
|
||||
<p><a href="index.html">[return]</a>
|
||||
<br>
|
||||
</body>
|
||||
</html>
|
|
@ -1,41 +0,0 @@
|
|||
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="Author" content="Mark Danks">
|
||||
<meta name="GENERATOR" content="Mozilla/4.5 [en] (WinNT; I) [Netscape]">
|
||||
<title>Glossary/Index</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<center>
|
||||
<h2>
|
||||
<u>Glossary</u></h2></center>
|
||||
<a NAME="Alpha"></a>Alpha - The amount of opacity. An alpha equal
|
||||
to 1.0 means completely opaque. An alpha equal to 0.0 means completely
|
||||
transparent.
|
||||
<p><a NAME="Controls"></a>Controls - GEM objects which access the low levels
|
||||
of GEM, such as window managers.
|
||||
<p><a NAME="Geos"></a>Geos - GEM objects which have a shape of some kind,
|
||||
such as a cube.
|
||||
<p><a NAME="Manips"></a>Manips - GEM objects which manipulate the geos.
|
||||
<p><a NAME="MarkEx"></a>MarkEx - A collection of objects which help with
|
||||
data manipulation, especially for usage in GEM.
|
||||
<p><a NAME="Nongeos"></a>Nongeos - GEM objects which do not have an explicit
|
||||
shape, yet affect the rendering in some way.
|
||||
<p><a NAME="OpenGL"></a><a href="http://www.opengl.org">OpenGL</a> - A
|
||||
graphics API which exists on many different platforms.<br>
|
||||
Gem can <i>also</i> be used as a wrapper for openGL, allowing to program openGL without having to
|
||||
compile
|
||||
<p><a NAME="Particles"></a>Particles - GEM objects which involve the particle
|
||||
system.
|
||||
<p><a NAME="Pd"></a><a href="http://pd.iem.at">Pd</a>
|
||||
- A visual programming language for audio processing. This is the
|
||||
host application for GEM.
|
||||
<p><a NAME="Pixes"></a>Pixes - Image processing objects in GEM
|
||||
<p><a NAME="Texture"></a>Texture mapping - Applying an image to a geometric
|
||||
object.
|
||||
<p><a href="index.html">[return]</a>
|
||||
<br>
|
||||
</body>
|
||||
</html>
|
|
@ -1,112 +0,0 @@
|
|||
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="Author" content="Mark Danks">
|
||||
<meta name="Author" content="IOhannes m zmölnig">
|
||||
<title>Images</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<center>
|
||||
<h2>
|
||||
<u>Dealing with Images</u></h2></center>
|
||||
Images are files which are loaded into GEM. The images can be manipulated,
|
||||
applied to objects, and used in any number of different ways. In
|
||||
this section, you will load in an image and display it on the screen.
|
||||
This section will not apply the images to a <i>geo</i>; that occurs in
|
||||
the next part of the manual.
|
||||
<p>The pix objects are GEM objects which deal with <i>pix</i>els.
|
||||
They do everything from loading in images to applying filters to the data.
|
||||
The objects in this section of the manual only load in pix data from outside
|
||||
sources. How you actually display the image is up to you. The
|
||||
most common usages are with <i>[pix_draw]</i> and <i>[pix_texture]</i>.
|
||||
<p><b>Warning</b>: <i>[pix_draw]</i> is almost always slower than <i>[pix_texture]</i>.
|
||||
Because <i>[pix_draw]</i> is easier to use than <i>[pix_texture]</i>, it is
|
||||
used in these examples. However, in any real usage or piece, <i>[pix_texture]</i>
|
||||
should always be used instead. <i>[pix_draw]</i> is slow because PC
|
||||
graphics accelerators do not provide hardware acceleration for that functionality.
|
||||
<i>[pix_texture]</i> does have hardware acceleration and will be much faster.
|
||||
<p><a href="#pix_image">[pix_image]</a> - load in an image
|
||||
<br><a href="#pix_multiimage">[pix_multiimage]</a> - load in multiple images
|
||||
<br><a href="#pix_movie">[pix_movie]</a> - load in a movie file
|
||||
<br><a href="#pix_video">[pix_video]</a> - use a real time video source
|
||||
<p><img SRC="tribar.gif" height=13 width=561>
|
||||
<h3>
|
||||
<a NAME="pix_image"></a>[pix_image]</h3>
|
||||
<i>[pix_image]</i> is used to load in images. Images can be in a variety
|
||||
of different formats, including TIFF, JPEG, and SGI formats. The
|
||||
patch gem_pix/gemImage.pd is the simplest use of the <i>[pix_image]</i> object.
|
||||
In this patch, the <i>[pix_image]</i> object loads in the file dancer.JPG.
|
||||
<center>
|
||||
<p><img SRC="pixImage.jpg" BORDER=1 height=180 width=151></center>
|
||||
|
||||
<p>As is the case with every GEM chain, this patch starts with the <i>[gemhead]</i>
|
||||
object. The next object is <i>[pix_image]</i>, which actually loads
|
||||
the image. <i>[pix_image]</i> makes the file dancer.JPG the current
|
||||
pixel data, which will be used in all subsequent operations in the chain.
|
||||
The <i>[translateXYZ]</i> object is used to move the image around.
|
||||
Finally, the <i>[pix_draw]</i> object renders the pixel data to the screen.
|
||||
<p>The patch mentions that changing the Z in <i>[translateXYZ]</i> does not
|
||||
change the size of the image, as would occur with a <i>geo</i> object like
|
||||
<i>[square]</i>.
|
||||
This is because <i>[pix_draw]</i> simply draws the pixel at the current raster
|
||||
position, without any transformation. If you want to change the size
|
||||
on the fly and rotate the image, you need to texture map the pix, which
|
||||
is described in the next section.
|
||||
<p><img SRC="tribar.gif" height=13 width=561>
|
||||
<h3>
|
||||
<a NAME="pix_multiimage"></a>[pix_multiimage]</h3>
|
||||
The <i>[pix_image]</i> object only loads in one image at time. If you
|
||||
try to change the image rapidly while the patch is running, you will notice
|
||||
a lag every time it has to load in a new file. To avoid this lag,
|
||||
there is another object called <i>[pix_multiimage]</i>. If you look
|
||||
at patch gem_pix/gemMultiImage.pd, you will see this object in action.
|
||||
<p>Basically, the * in the file name is replaced by the number that you
|
||||
pass in. This allows you to play sequences of images with random
|
||||
access. The one downside is that every image is loaded into memory
|
||||
when the object is created, so you need to have a lot of RAM to use it.
|
||||
<p><img SRC="tribar.gif" height=13 width=561>
|
||||
<h3><a NAME="pix_movie"></a>[pix_movie]/[pix_film]</h3>
|
||||
These objects are used to read movie-files from disk (or if supported from the internet).
|
||||
|
||||
The movie is streamed off of disk,
|
||||
using whatever decompression libraries are installed on your computer.
|
||||
On Windows AVI movies seem to work fine,
|
||||
but there is also a prelaminary support for quicktimes (and mpeg).
|
||||
On macOS-X all formats supported by the system (basically: quicktime) should work ok.
|
||||
On linux the support is highly depending on what libraries are installed during compile time.
|
||||
There is support for MPEG (with libmpeg1 or (preferred:) libmpeg3),
|
||||
quicktime (either libquicktime or quicktime4linux;
|
||||
most likely you will not be able to decode quicktimes with proprietary codecs)
|
||||
and AVI (with libavifile which is able to utilize windows-dlls for (proprietary) codecs).
|
||||
There is also some rudimentary support for FFMPEG.
|
||||
|
||||
The right inlet of <i>[pix_movie]</i>
|
||||
accepts a number to specify the frame to display. Look at 04.pix/04.movie.pd
|
||||
for an image.
|
||||
<p>A key fact of <i>[pix_movie]</i> is that it immediately sends the movie
|
||||
data to OpenGL as a texture map. This means that you do not need
|
||||
the <i>[pix_texture]</i> object in your chain. This also means that
|
||||
you cannot process the movie data with pix objects. The main reason
|
||||
for this is that it removes the need for a copy of all of the movie data.
|
||||
If you want to apply some image-processing, you will have to use <i>[pix_film]</i>
|
||||
(and <i>[pix_texture]</i> for texture-mapping).
|
||||
<p>Some of the geos will not texture map the <i>[pix_movie]</i> data correctly.
|
||||
Cone and sphere do not use texture coordinates when they are provided,
|
||||
so when you display a movie on one of these objects, you will have a black
|
||||
region (unless your movie size is a power of two...however, most movies
|
||||
are 320x160 pixels or something). This will be fixed in a future
|
||||
release.
|
||||
<p><img SRC="tribar.gif" height=13 width=561>
|
||||
<h3>
|
||||
<a NAME="pix_video"></a>pix_video</h3>
|
||||
The "image" can come from the <i>[pix_video]</i> object.
|
||||
This means that you can use a real-time video source and display it on the screen.
|
||||
<p>You can play with <i>[pix_video]</i> with the patches in 04.video/.
|
||||
The patches are explained in more depth in the advanced section of the GEM manual.
|
||||
<p><img SRC="tribar.gif" height=13 width=561>
|
||||
<p><a href="index.html">[return]</a>
|
||||
<br>
|
||||
</body>
|
||||
</html>
|
|
@ -1,19 +0,0 @@
|
|||
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="Author" content="Mark Danks">
|
||||
<meta name="GENERATOR" content="Mozilla/4.5 [en] (WinNT; I) [Netscape]">
|
||||
<title>Input devices</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<center>
|
||||
<h2>
|
||||
<u>Input devices</u></h2></center>
|
||||
|
||||
<p><br>Nothing here yet
|
||||
<p><a href="index.html">[return]</a>
|
||||
<br>
|
||||
</body>
|
||||
</html>
|
|
@ -1,62 +0,0 @@
|
|||
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="Author" content="Mark Danks">
|
||||
<meta name="GENERATOR" content="Mozilla/4.5 [en] (WinNT; I) [Netscape]">
|
||||
<title>GEM - Introduction</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<center>
|
||||
<h2>
|
||||
<u>Introduction</u></h2></center>
|
||||
GEM is the Graphics Environment for Multimedia. It was originally written by
|
||||
<a href="http://www.danks.org/mark">Mark Danks</a> to generate real-time computer graphics,
|
||||
especially for audio-visual compositions.
|
||||
Because GEM is a visual programming environment, users do not need any experience
|
||||
in traditional computer languages.
|
||||
<p>GEM is a collection of externals which allow the user to create
|
||||
<a href="http://www.opengl.org">OpenGL</a>
|
||||
graphics within <a href="http://www.crca.ucsd.edu/~msp/software.html">Pd</a>,
|
||||
a program for real-time audio processing by <a href="http://www.crca.ucsd.edu/~msp">Miller
|
||||
Puckette</a> (of <a href="http://www.ircam.fr">Max</a> fame).
|
||||
<p>There are many different shapes and objects, including polygonal graphics,
|
||||
lighting, texture mapping, image processing, and camera motion. All of
|
||||
this is possible in real-time without any previous programming experience.
|
||||
Because GEM is an add-on library for <a href="http://www.crca.ucsd.edu/~msp/software.html">Pd</a>,
|
||||
users can combine audio and graphics, controlling one medium from another.
|
||||
<p>GEM is supported in part by a grant from the <a href="http://www.intel.com">Intel
|
||||
Research Council</a> for the <a href="http://www.gvm.com">The Global Visual
|
||||
Music</a> project of <a href="http://felix.usc.edu/vibeke.html">Vibeke
|
||||
Sorensen</a>, <a href="http://www.crca.ucsd.edu/~msp">Miller Puckette</a>
|
||||
and <a href="http://www.earunit.org/rand.htm">Rand Steiger</a>.
|
||||
<p>An important thing to remember is that GEM is NOT an application.
|
||||
It is a library that Pd loads at run-time. Make sure that you see
|
||||
the section on <a href="GemWPd.html">using GEM with Pd</a>. This
|
||||
manual assumes that you have Pd working correctly and can load up patches
|
||||
already. If you do not have that working yet, look at the Pd manual
|
||||
and the GEM FAQ. Also, it is assumed that you have a basic understanding
|
||||
of how to use Pd and the idea behind the data flow model. In other
|
||||
words, if I ask you to pass a message with 3 floats into an object, you
|
||||
would know what I mean.
|
||||
<p>The system requirements vary depending on your system and what you are
|
||||
trying to do. In general, you should have the most powerful computer
|
||||
available and the best graphics accelerator on the market. In reality,
|
||||
people have been doing some amazing work with a Pentium II and an <a href="http://www.nvidia.com">nVidia
|
||||
Riva TNT</a> or <a href="http://www.3dfx.com">3Dfx Voodoo2</a> card.
|
||||
If you are on an SGI, then everything from an O2 up seems to be okay.
|
||||
The biggest requirement is that you have some kind of OpenGL graphics accelerator.
|
||||
This means that a Matrox Millennium II will not run very quickly.
|
||||
<p>The other factor is what you are trying to do. Pushing real-time
|
||||
video around requires a fast bus, which really only exists on SGIs.
|
||||
Doing thousands of texture mapped polygons is great on a PC...if it is
|
||||
a constant texture. There are many issues which mean that there is
|
||||
no one answer to "Is this system good enough?". In general, you will
|
||||
have to try and see.
|
||||
<p>GEM is now maintained by <a href="http://www.iem.at/info/personal/jz.htm">IOhannes m zmölnig</a>.
|
||||
So any bug-reports and donations should go to him instead of Mark...
|
||||
<p><a href="index.html">[return]</a>
|
||||
<br>
|
||||
</body>
|
||||
</html>
|
|
@ -1,107 +0,0 @@
|
|||
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="Author" content="Mark Danks">
|
||||
<meta name="Author" content="IOhannes m zmölnig">
|
||||
<title>Lighting</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<center>
|
||||
<h2>
|
||||
<u>Lighting</u></h2></center>
|
||||
Lighting is an important factor is how we perceive the quality of an image.
|
||||
For example, without lighting and shading, a sphere would just look like
|
||||
a circle. GEM provides two types of lights, a local light and world
|
||||
light.
|
||||
<p>OpenGL uses a vertex lighting model. This means that for every
|
||||
vertex in the scene, the influence of the light is calculated. The
|
||||
color for the polygon is then modified by the light value of all of the
|
||||
vertices. This generally produces a very smooth effect, but you will
|
||||
occasionally run into rendering artifacts, especially if you use local
|
||||
lights. For example, imagine you have a local light close a large
|
||||
square. The corners of the square are far away from the light, so
|
||||
none of them will be lit very brightly, even though the light itself is
|
||||
very close to the surface of the square.
|
||||
<p>It is important to realize that lighting is an expensive operation to
|
||||
use. The number of polygons that you will be able to render will
|
||||
be much lower if lighting is turned on. As usual, the complexity
|
||||
of the scene and the speed of your computer and graphics card will greatly
|
||||
affect your frame rate.
|
||||
<p>GEM has only a maximum of 8 lights at one time. If you try to
|
||||
create more lights than that, you will get an error message.
|
||||
<p><a href="#Activate">Activate lighting</a>
|
||||
<br><a href="#world_light">[world_light]</a> - A directional light
|
||||
<br><a href="#light">[light]</a> - A point light in the world
|
||||
<br><a href="#Moving">Moving lights</a>
|
||||
<p><img SRC="tribar.gif" height=13 width=561>
|
||||
<h3>
|
||||
<a NAME="Activate"></a>Activate lighting</h3>
|
||||
Lighting is activated by sending a message to <i>[gemwin]</i>. If you
|
||||
send "lighting 1", then lighting will be turned on. If you send "lighting
|
||||
0", then lighting will be turned off. The lighting state is kept
|
||||
even if you destroy the gemwin. This means that if you close a patch
|
||||
and open another one, the lighting will still be the same.
|
||||
<p>Individual lights can be turned on and off by sending a 1 or 0 to the
|
||||
left inlet of the light object itself.
|
||||
<p><img SRC="tribar.gif" height=13 width=561>
|
||||
<h3>
|
||||
<a NAME="world_light"></a>[world_light]</h3>
|
||||
A <i>[world_light]</i> is a light which exists infintely far away.
|
||||
This reduces the computation needed, so your patch can run faster, but
|
||||
it means that all of the light rays are parallel. The <i>[world_light]</i>
|
||||
is good for objects like the sun and other lighting affects. This
|
||||
means that translating a <i>[world_light]</i> has no effect, although rotation
|
||||
does.
|
||||
<p>The following patch is 03.lighting/01.world_light.pd.
|
||||
<center>
|
||||
<p><img SRC="world_light.jpg" BORDER=1 height=152 width=370></center>
|
||||
|
||||
<p>The <i>[world_light]</i> has one extra inlet. The right inlet accepts
|
||||
three floats to set the color of the light. A <i>[color]</i> object
|
||||
would do nothing. In this case, the light is being set to purple.
|
||||
The <i>[world_light]</i> also accepts a debug message. The debug message
|
||||
turns on and off a graphical representation of the light in the scene.
|
||||
The <i>[world_light]</i> looks like a cone. The cone shows the direction
|
||||
that the light is coming from. Remember that the actual position
|
||||
of the light does not matter, so geos behind the cone will still be lit.
|
||||
It is the direction of the light that matters. This is why you can
|
||||
rotate the light.
|
||||
<p><img SRC="tribar.gif" height=13 width=561>
|
||||
<h3>
|
||||
<a NAME="light"></a>[light]</h3>
|
||||
A <i>[light]</i> object generates a point light in the world. Because
|
||||
the light is local to the scene, there is more math to generate the effect
|
||||
of the light on the vertices. However, unlike a <i>[world_light]</i>,
|
||||
you can translate the <i>[light]</i> object.
|
||||
<p>Below is the patch 03.lighting/02.light.pd.
|
||||
<center>
|
||||
<p><img SRC="light.jpg" BORDER=1 height=215 width=212></center>
|
||||
|
||||
<p>The <i>[light]</i> object has a right inlet for the color, just light
|
||||
the <i>[world_light]</i> object. As this patch shows, the light can
|
||||
be moved around the scene with both <i>[rotate]</i> and <i>[translate]</i>
|
||||
objects. If you were to set the translate X value equal to 1.0, then
|
||||
the sphere would not be lit at all. This is because the light would
|
||||
be inside of the sphere. When you turn on the debug representation,
|
||||
it is a sphere with its origin where the light it. The <i>[light]</i>
|
||||
object does not have any size. It exists as a point source.
|
||||
<p><img SRC="tribar.gif" height=13 width=561>
|
||||
<h3>
|
||||
<a NAME="Moving"></a>Moving lights</h3>
|
||||
The patch 03.lighting/03.controlLights.pd allows you to move a <i>[light]</i>
|
||||
and <i>[world_light]</i> object in the same scene to see the difference between
|
||||
the two objects.
|
||||
<p>The patch 03.lighting/04.moveSpheres.pd is an example which moves
|
||||
two spheres around the world. Turn on and off the individual lights
|
||||
for a demonstration of a local versus infinite light.
|
||||
<p>The patch 03.lighting/05.materials.pd uses the material objects to
|
||||
selectively control the color of the object. Notice that the diffuse object
|
||||
sets the "overall" color, while the specular objects sets the bright reflective
|
||||
area where the light directly shines.
|
||||
<p><img SRC="tribar.gif" height=13 width=561>
|
||||
<p><a href="index.html">[return]</a>
|
||||
<br>
|
||||
</body>
|
||||
</html>
|
|
@ -1,231 +0,0 @@
|
|||
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="Author" content="Mark Danks">
|
||||
<meta name="GENERATOR" content="Mozilla/4.5 [en] (WinNT; I) [Netscape]">
|
||||
<title>List of GEM objects</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<center>
|
||||
<h2>
|
||||
<u>List of GEM objects</u></h2></center>
|
||||
<a href="#Controls">Controls</a>
|
||||
<br><a href="#Manips">Manipulators</a>
|
||||
<br><a href="#Geos">Geos</a>
|
||||
<br><a href="#Particles">Particles</a>
|
||||
<br><a href="#Nongeos">Nongeos</a>
|
||||
<br><a href="#Pixes">Pixes</a>
|
||||
<br><a href="#TV">TV</a>
|
||||
<br><a href="#MarkEx">MarkEx</a>
|
||||
<p>
|
||||
<hr WIDTH="100%"><a NAME="Controls"></a><i><u>Controls</u></i>
|
||||
<br>gemhead - the start of rendering chain
|
||||
<br>gemwin - the window manager
|
||||
<br>gemmouse - outputs the mouse position and buttons in the GEM window
|
||||
<br>gemkeyboard - outputs the keycode of a key pressed when you are in the GEM window (there might be different keycodes in Windows/Linux)
|
||||
<br>gemkeyname - outputs a symbolic description of a key pressed when you are in the GEM window (there might be different symbols in Windows/Linux)
|
||||
<br>gemorb - outputs the position, rotation, and buttons for a Space Orb
|
||||
<br>gemtablet - outputs the pen position, pressure, and buttons in the
|
||||
GEM window
|
||||
<p>
|
||||
<hr WIDTH="100%">
|
||||
<br><a NAME="Manips"></a><i><u>Manipulators</u></i>
|
||||
<br>accumrotate - accumulate a rotation
|
||||
<br>alpha - enable/disable alpha blending
|
||||
<br>ambient - set the ambient color with a vector
|
||||
<br>ambientRGB - set the ambient color with 3 discrete values
|
||||
<br>camera -
|
||||
<br>color - set the color with a vector
|
||||
<br>colorRGB - set the color with 3 discrete values
|
||||
<br>depth - enable/disable depth testing
|
||||
<br>diffuse - set the diffuse color with a vector
|
||||
<br>diffuseRGB - set the diffuse color with 3 discrete values
|
||||
<br>emission - set the emissive color with a vector
|
||||
<br>emissionRGB - set the emissive color with 3 discrete values
|
||||
<br>linear_path - generate a path from an array of points
|
||||
<br>ortho - change the view to orthogonal, with the viewport the size of
|
||||
the window
|
||||
<br>polygon_smooth - turn on anti-aliasing for the objects below
|
||||
<br>rotate - rotate with an angle and vector
|
||||
<br>rotateXYZ - rotate with 3 discrete values
|
||||
<br>scale - scale with a vector
|
||||
<br>scaleXYZ - scale with 3 discrete values
|
||||
<br>separator - push the OpenGL state for the rest of the chain and pop
|
||||
when done
|
||||
<br>shininess - set the shininess of an object
|
||||
<br>specular - set the specular color with a vector
|
||||
<br>specularRGB - set the specular color with 3 discrete values
|
||||
<br>spline_path - generate a spline from an array of knots
|
||||
<br>translate - translate with a vector
|
||||
<br>translateXYZ - translate with 3 discrete values
|
||||
|
||||
<p><a NAME="Geos"></a><i><u>Geos</u></i>
|
||||
<br>circle - render a circle
|
||||
<br>colorSquare - render a colored square (evtl. with color gradients)
|
||||
<br>cone - render a cone
|
||||
<br>cube - render a cube
|
||||
<br>cuboid - render a box
|
||||
<br>curve - render a Bezier curve
|
||||
<br>curve3d - render a surface
|
||||
<br>cylinder - render a cylinder
|
||||
<br>disk - render a disk
|
||||
<br>imageVert - make pixel colors to a height field map
|
||||
<br>model - render an Alias|Wavefront model
|
||||
<br>multimodel - render a series of Alias|Wavefront models, render by number
|
||||
<br>newWave - render a wave (that is evolving over time)
|
||||
<br>polygon - render a polygon
|
||||
<br>primTri - a triangle primitive
|
||||
<br>rectangle - render a rectangle
|
||||
<br>ripple - a rectangle with distorted (over time) texture-coordinates
|
||||
<br>rubber - a grid where you can move one of the grid-points
|
||||
<br>slideSquare - render a number of sliding squares
|
||||
<br>sphere - render a sphere
|
||||
<br>square - render a square
|
||||
<br>teapot - render a teapot
|
||||
<br>text2d - render 2-D text (a bitmap)
|
||||
<br>text3d - render 3-D text (polygonal)
|
||||
<br>textextruded - render an extruded 3D-text
|
||||
<br>textoutline - render outlined text (polygonal)
|
||||
<br>triangle - render a triangle
|
||||
<p><a NAME="Particles"></a><i><u>Particles</u></i>
|
||||
<br>part_head - The start of a particle group
|
||||
<br>part_color - Set the range of colors for the new particles
|
||||
<br>part_damp - set the damping for particles
|
||||
<br>part_draw - Apply the actions and render the particles. Accepts
|
||||
a message "draw line" or "draw point" to change the drawing style.
|
||||
<br>part_follow - Particles will follow each other like a snake
|
||||
<br>part_gravity - Have the particles accelerate in a direction
|
||||
<br>part_info - get the information (position, color, size,...) of each particle
|
||||
<br>part_killold - Remove particles past a certain age
|
||||
<br>part_killslow - Remove particles below a certain speed
|
||||
<br>part_orbitpoint - Orbit the particles around a specified point
|
||||
<br>part_render - render the remaining gem-tree as particles.
|
||||
<br>part_size - Set the size of new particles
|
||||
<br>part_source - Generate particles
|
||||
<br>part_targetcolor - Change color of the particles toward the specified
|
||||
color
|
||||
<br>part_targetsize - Change size of the particles toward the specified
|
||||
size
|
||||
<br>part_velocity - Set the velocity domain
|
||||
(distribution like CONE and the appropriate arguments)
|
||||
<br>part_vertex - emit a single particle
|
||||
|
||||
<p><a NAME="Nongeos"></a><i><u>Nongeos</u></i>
|
||||
<br>light - make a point light
|
||||
<br>world_light - make a light at infinity
|
||||
<p><a NAME="Pixes"></a><i><u>Pixes</u></i>
|
||||
<br>pix_2grey - convert rgb pixels to grey (still an RGBA image)
|
||||
<br>pix_a_2grey - convert rgb pixels to grey based on alpha channel
|
||||
<br>pix_add - add two pixes together
|
||||
<br>pix_aging - super8-like aging effect
|
||||
<br>pix_alpha - set the alpha value of a pix
|
||||
<br>pix_background - let through only pixels that differ from a static "background" image
|
||||
<br>pix_backlight - a backlight photo effect
|
||||
<br>pix_biquad - 2p2z-filter for subsequent images
|
||||
<br>pix_bitmask - apply a bitmask to a pix
|
||||
<br>pix_blob - get center of gravity
|
||||
<br>pix_buf - buffer a pix
|
||||
<br>pix_buffer - storage room for pixes (like [table] for floats)
|
||||
<br>pix_buffer_read/pix_buffer_write - put/get pixes into/from a pix_buffer
|
||||
<br>pix_chroma_key - color keying (like "blue-box")
|
||||
<br>pix_coloralpha - set the alpha-channel of a pix as a mean-value of the color-components
|
||||
<br>pix_colormatrix - recombine the RGBA-channels with matrix-operation
|
||||
<br>pix_color - set the color of a pix (leaving alpha alone)
|
||||
<br>pix_colorreduce - reduce the number of colors (statistically)
|
||||
<br>pix_composite - composite two pixes together
|
||||
<br>pix_convolve - convolve a pix with a kernal
|
||||
<br>pix_coordinate - set the texture coordinates
|
||||
<br>pix_crop - get a sub-image of a pix
|
||||
<br>pix_curve - apply color-curves onto a pix
|
||||
<br>pix_data - get pixel data information
|
||||
<br>pix_delay - frame-wise delay
|
||||
<br>pix_diff - get absolute difference of two pixes
|
||||
<br>pix_dot - rasterize a pix with big dots
|
||||
<br>pix_draw - draw a pix
|
||||
<br>pix_dump - dump the pixel-data as a long list of floats
|
||||
<br>pix_duotone - reduce the number of colors by thresholding
|
||||
<br>pix_film - use a movie file as a pix source for image-processing
|
||||
<br>pix_flip - flip the pixels of a pix
|
||||
<br>pix_gain - apply a gain to a pix
|
||||
<br>pix_grey - convert any pix into greyscale colorspace
|
||||
<br>pix_halftone - rasterize a pix like it was printed in a newspaper
|
||||
<br>pix_histo - get the histogram of a pix
|
||||
<br>pix_hsv2rgb - transform a pix from HSV-colorspace into RGB-colorspace
|
||||
<br>pix_image - load in an image file
|
||||
<br>pix_imageInPlace - load a series of image files directly into texture-buffer, display by number
|
||||
<br>pix_info - get information about the pix (like dimension, colorspace,...)
|
||||
<br>pix_invert - invert a pix
|
||||
<br>pix_kaleidoscope - as if you were looking at the pix through a kaleidoscope
|
||||
<br>pix_levels - level adjustment
|
||||
<br>pix_lumaoffset - y-offset pixels depending on their luminance
|
||||
<br>pix_mask - mask a pix based on another pix
|
||||
<br>pix_metaimage - recompose an image out of smaller versions of itself
|
||||
<br>pix_mix - mix to pixes together
|
||||
<br>pix_motionblur - motionblur an image
|
||||
<br>pix_movie - use a movie file as a pix source and load it immediately into the texture-buffer
|
||||
<br>pix_movement - set the alpha-channel with respect to the change between two frames
|
||||
<br>pix_multiply - multiply two pixes
|
||||
<br>pix_multiimage - load in a series of image files, display by number
|
||||
<br>pix_normalize - normalize a pix
|
||||
<br>pix_offset - add an offset to a pix (wrapping instead of clipping)
|
||||
<br>pix_pix2sig~ - interpret a pix as 4 (RGBA) audio-signals
|
||||
<br>pix_posterize - posterization photo effect
|
||||
<br>pix_puzzle - shuffle an image
|
||||
<br>pix_rds - generate a Random Dot Stereogram out of the image (aka: Magic Eye (tm))
|
||||
<br>pix_rectangle - generate a rectangle in a pix buffer
|
||||
<br>pix_refraction - break up an image into coloured "glass-bricks"
|
||||
<br>pix_resize - resize a pix to next power of 2
|
||||
<br>pix_rgb2hsv - transform a pix from RGB-colorspace into HSV-colorspace
|
||||
<br>pix_rgba - transform a pix of any format into RGBA
|
||||
<br>pix_roll - (sc)roll through an image (wrapping)
|
||||
<br>pix_rtx - swap time-axis and x-axis
|
||||
<br>pix_scanline - take every nth line of the original image
|
||||
<br>pix_set - set the pixel-data with a long list of floats
|
||||
<br>pix_sig2pix~ - interpret 4 audio-signals as (RGBA) image-data
|
||||
<br>pix_snap - capture the render window into a pix
|
||||
<br>pix_snap2tex - capture the render window directly as a texture
|
||||
<br>pix_subtract - subtract two pixes
|
||||
<br>pix_tIIR - time-base Infinite-Impulse-Response filter (for motion-bluring,...) with settable number of poles/zeros
|
||||
<br>pix_takealpha - take the alpha channel of one pix and put it into another pix
|
||||
<br>pix_texture - use a pix as a texture map
|
||||
<br>pix_threshold - apply a threshold to a pix
|
||||
<br>pix_video - use a video camera as a pix source
|
||||
<br>pix_write - capture the render window to disk
|
||||
<br>pix_zoom - zoom into a pix (using OpenGL)
|
||||
|
||||
<p><a NAME="openGL"></a><i><u>openGL</u></i>
|
||||
there are more than 250 objects that
|
||||
form a complete wrapper around the openGL set of functions
|
||||
(as defined in the openGL-1.2 standard).<br>
|
||||
each openGL-function is prefixed with "GEM", eg:
|
||||
<i>[GEMglVertex3f]</i> is wrapped around <i>glVertex3f</i>.
|
||||
|
||||
<p><a NAME="MarkEx"></a><i><u>MarkEx</u></i>
|
||||
<br>alternate - alternate between two outlets
|
||||
<br>average - average a sequence of numbers
|
||||
<br>change - only output on change
|
||||
<br>counter - count bangs
|
||||
<br>invert - non-zero numbers to zero, zero to 1
|
||||
<br>multiselect/multisel - a select object which accepts a list in the
|
||||
right inlet
|
||||
<br>oneshot - send a bang, then block until reset
|
||||
<br>randomF / randF - floating point random numbers
|
||||
<br>strcat - string concatentation
|
||||
<br>tripleLine - do a line with three numbers
|
||||
<br>tripleRand - random with three numbers
|
||||
<br>vector+ / v+ - add a scalar to a vector
|
||||
<br>vector- / v- - subtract a scalar from a vector
|
||||
<br>vector* / v* - multiply a vector by a scalar
|
||||
<br>vector/ / v/ - divide a vector by a scalar
|
||||
<br>vectorpack / vpack - attach a scalar to the end of a vector
|
||||
<br>rgb2hsv - convert a list of three floats from RGB to an HSV value
|
||||
<br>hsv2rgb - convert a list of three floats from HSV to an RGB value
|
||||
<br>abs~ - absolute value of a signal
|
||||
<br>reson~ - resonant filter
|
||||
<p><a href="index.html">[return]</a>
|
||||
<br>
|
||||
<br>
|
||||
</body>
|
||||
</html>
|
|
@ -1,19 +0,0 @@
|
|||
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="Author" content="Mark Danks">
|
||||
<meta name="GENERATOR" content="Mozilla/4.5 [en] (WinNT; I) [Netscape]">
|
||||
<title>Particles</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<center>
|
||||
<h2>
|
||||
<u>Particles</u></h2></center>
|
||||
|
||||
<p><br>Nothing here yet
|
||||
<p><a href="index.html">[return]</a>
|
||||
<br>
|
||||
</body>
|
||||
</html>
|
|
@ -1,105 +0,0 @@
|
|||
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="Author" content="Mark Danks">
|
||||
<meta name="Author" content="IOhannes m zmölnig">
|
||||
<title>Pixes (image processing)</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<center>
|
||||
<h2>
|
||||
<u>Image processing</u></h2></center>
|
||||
The pix objects are used to do image processing to pixel data. If
|
||||
you load in an image with <i>[pix_image]</i>, then you can change what the
|
||||
image looks like before rendering it out
|
||||
<p>In general, processing images is <i>extremely</i> expensive, so you
|
||||
probably cannot have that many active pix objects. GEM only reprocesses
|
||||
images when the source image changes or one of the parameters for a pix
|
||||
object changes. This means that GEM will only process an image when
|
||||
something is different, instead of every frame. If you want to do
|
||||
a lot of processing at start up, but then not change anything once the
|
||||
patch is running, GEM will only do the computation once.<br>
|
||||
Modern CPUs use SIMD (Single Instruction - Multiple Data) (like MMX, SSE2, altivec)
|
||||
to make pixel-processing more effective (by processing data parallely).
|
||||
Until now, only the macOS version of Gem has support for SIMD for some pix-objects.
|
||||
MMX/SSE2 boosts will hopefully come in future Gem-releases.
|
||||
|
||||
<p>The pix objects are divided into two general groups, those which take
|
||||
one input, and those which require two input images. For example,
|
||||
<i>[pix_invert]</i>
|
||||
will "invert" all of the pixels (if a pixel is white, it will change to
|
||||
black), while <i>[pix_add]</i> will add two images together.
|
||||
<p>Only some of the pix objects are described here. Look in the reference
|
||||
patches for explanations for the other pix objects.
|
||||
<p><a href="#invert">[pix_invert]</a> - invert the pixel data
|
||||
<br><a href="#add">[pix_add]</a> - add two pixes together
|
||||
<br><a href="#mask">[pix_mask]</a> - create an alpha mask
|
||||
<br><a href="#convolve">[pix_convolve]</a> - convolve a pix with a kernel
|
||||
<p><img SRC="tribar.gif" height=13 width=561>
|
||||
<h3>
|
||||
<a NAME="invert"></a>[pix_invert]</h3>
|
||||
<i>[pix_invert]</i> inverts the pixels in an image. To use <i>[pix_invert]</i>,
|
||||
simply make sure that you have already loaded an image into the chain.
|
||||
In the following patch, the fractal image will be inverted.
|
||||
<center>
|
||||
<p><img SRC="invert.jpg" BORDER=1 height=120 width=179></center>
|
||||
|
||||
<p>Here is the difference between the fractal image and the inverted version.
|
||||
<center>
|
||||
<p><img SRC="normalFrac.jpg" height=256 width=256><img SRC="invertFrac.jpg" height=256 width=256></center>
|
||||
|
||||
<p><img SRC="tribar.gif" height=13 width=561>
|
||||
<h3>
|
||||
<a NAME="add"></a>pix_add</h3>
|
||||
<i>[pix_add]</i> does what you would expect. It adds two images together.
|
||||
<center>
|
||||
<p><img SRC="add.jpg" BORDER=1 height=152 width=305></center>
|
||||
|
||||
<p>This patch adds the fractal image with a car image. The processed
|
||||
image will often contain a lot of white pixels, because the data is just
|
||||
added together. This occurs in the resulting image, shown below.
|
||||
<center>
|
||||
<p><img SRC="addResult.jpg" height=257 width=255></center>
|
||||
|
||||
<p><br>
|
||||
<p><img SRC="tribar.gif" height=13 width=561>
|
||||
<h3>
|
||||
<a NAME="mask"></a>pix_mask</h3>
|
||||
<i>[pix_mask]</i> is used to create an alpha mask from another image.
|
||||
In the following example (gem_pix/gemMaskDancer.pd), the fractal image's
|
||||
alpha channel is replaced by the dancer image. If the <i>[alpha]</i>
|
||||
object was removed, then you would just see the solid fractal image (because
|
||||
the alpha channel wouldn't be used).
|
||||
<p>In other words, images are composed of a red, a green, a blue, and an
|
||||
alpha channel. The alpha channel is the transparency of the pixel.
|
||||
|
||||
<i>[pix_mask]</i> only modifies the alpha channel and does not touch the
|
||||
red, green, or blue data.
|
||||
<center>
|
||||
<p><img SRC="mask.jpg" BORDER=1 height=262 width=191></center>
|
||||
|
||||
<p>The result is this image.
|
||||
<center>
|
||||
<p><img SRC="maskResult.jpg" height=218 width=187></center>
|
||||
|
||||
<p><img SRC="tribar.gif" height=13 width=561>
|
||||
<h3>
|
||||
<a NAME="convolve"></a>pix_convolve</h3>
|
||||
<i>[pix_convolve]</i> convolves pix data with a convolution kernel.
|
||||
Basically, you can get really nice effects if you choose the correct kernel...and
|
||||
garbage if you choose the wrong one.
|
||||
<p>Edge detection is done with a convolution kernel, as is smoothing.
|
||||
The biggest problem is that convolving an image is about the most expensive
|
||||
operation that you can do in GEM.
|
||||
<p>Look at gem_pix/gemPixConvolve.pd to get an idea of some of the kernels
|
||||
that you can send to <i>[pix_convolve]</i> and the effects that you can get.
|
||||
<p>If you want to learn the math behind convolution, then find any standard
|
||||
image processing (or audio processing book, this is just 2D convolution).
|
||||
<br>
|
||||
<p><img SRC="tribar.gif" height=13 width=561>
|
||||
<p><a href="index.html">[return]</a>
|
||||
<br>
|
||||
</body>
|
||||
</html>
|
|
@ -1,126 +0,0 @@
|
|||
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="Author" content="Mark Danks">
|
||||
<meta name="Author" content="IOhannes m zmölnig">
|
||||
<title>Texture mapping</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<center>
|
||||
<h2>
|
||||
<u>Texture Mapping</u></h2></center>
|
||||
<a href="Gloss.html#Texture">Texture mapping</a> is the act of applying
|
||||
pixel data to a geometric object. In GEM, this is achieved with the
|
||||
<i>[pix_texture]</i>
|
||||
object. It is important to understand that the
|
||||
<i>[pix_texture]</i>
|
||||
object merely sets the pix as the current texture. It does not do
|
||||
any rendering! You need to use a geo object which does texture mapping.
|
||||
All of the basic geo objects can texture map, such as <i>[square]</i> or
|
||||
<i>[sphere]</i>.
|
||||
<p><img SRC="tribar.gif" height=13 width=561>
|
||||
<p>A simple example of texture mapping is the following patch:
|
||||
<center>
|
||||
<p><img SRC="texture.jpg" BORDER=1 height=182 width=160></center>
|
||||
|
||||
<p>This patch can be found at 07.texture/01.texture.pd. Change
|
||||
the number box connected to the rotate object to see what a texture map
|
||||
on a cube looks like.
|
||||
<p>The <i>[pix_image]</i> object loads in the fractal image file. The
|
||||
<i>[pix_texture]</i>
|
||||
object says that the pix data should be used as a texture map. Notice
|
||||
that this is different than the previous manual section when we used the
|
||||
<i>[pix_draw]</i> object. The final object in the chain is the <i>[cube]</i>
|
||||
object. Because we have enabled texture mapping with the <i>[pix_texture]</i>
|
||||
object, the cube takes the pix data and applies it to the geometry.
|
||||
<p><img SRC="tribar.gif" height=13 width=561>
|
||||
<p>Texture mapping can be used with any GEM object. In the previous
|
||||
manual section, you saw how to load in pix data with a variety of objects,
|
||||
including <i>[pix_multiimage]</i> and <i>[pix_video]</i>. All of these
|
||||
objects can be used with the <i>[pix_texture]</i> object.
|
||||
<p>Because the pix data is applied to geometry, you can move, rotate, and
|
||||
scale the image. This is extremely useful on the <i>[square]</i> object.
|
||||
Instead of doing a one-to-one pixel mapping as occurs with the <i>[pix_draw]</i>
|
||||
object, you can resize and reshape the image.
|
||||
<p>OpenGL originally required that images must have dimensions that are power-of-2, such as 64, 128, or 256. This restriction has been released with recent gfx-cards
|
||||
(like some radeon/nvidia products).
|
||||
However, if the width or height of an image is not a power of two,
|
||||
then the <i>[pix_texture]</i> object will take care of this,
|
||||
and still render it (depending on you hardware with some tricks).
|
||||
You can thus texture images of any size, but since this is based on tricking
|
||||
the texture-coordinates, <i>[pix_coordinate]</i> might not give the wanted result any more.
|
||||
<p><img SRC="tribar.gif" height=13 width=561>
|
||||
<p>The example patch 07.texture/02.moveImages.pd is a much more complex
|
||||
patch which uses alpha blending to create a transparent object, in this
|
||||
case, the dancer. Make sure to turn on the rotation with the <i>[metro]</i>
|
||||
object.
|
||||
<p><img SRC="tribar.gif" height=13 width=561><a href="index.html"></a>
|
||||
<p>People have been asking how textures are handled in GEM. Here
|
||||
is a long explanation from an email which I wrote.
|
||||
<p><tt> Here is how textures are dealt with under OpenGL and hardware
|
||||
accelerators. This can obviously change in the future, but right
|
||||
now, I am fairly certain that the info is correct (I make games in my day
|
||||
job, so I have vested interest in this :-)</tt><tt></tt>
|
||||
<p><tt> The amount of memory (VRAM) on the card (12mb for Voodoo2,
|
||||
16mb for TNT, 64mb for GeForce2, etc) is used for both textures (TRAM)
|
||||
and frame buffer space. If you have a large rendering window, like
|
||||
1600x1200, it will take up 1600x1200x4x3 in 32-bit mode with double buffering
|
||||
and a Z buffer (or 23mb). Most people run at TV resolution, like
|
||||
NTSC, so it takes 640x480x4x3 = 3.7mb All of the space left
|
||||
is for textures onboard the card (FYI, if you have heard that people are
|
||||
having problems with the PlayStation2, notice that it only has 4mb of VRAM...not
|
||||
much onboard texture space, huh? :-) Thankfully it has an <i>extremely</i>
|
||||
fast DMA bus)</tt><tt></tt>
|
||||
<p><tt> Sooo, when GEM "creates" a texture, it immediately tries
|
||||
to send the texture to the card, which uses some of the left over space
|
||||
in the VRAM. If you had a 640x480 window on a Voodoo2, you have ~8mb
|
||||
of texture space left over. On a GeForce2, ~60mb. The problem
|
||||
is what happens if you want more textures than can fit into TRAM.
|
||||
OpenGL requires that the video drivers deal with the problem, so GEM doesn't
|
||||
care too much (more about this later).</tt><tt></tt>
|
||||
<p><tt> In most cases, the drivers cache the textures in main memory
|
||||
and if a texture is requested for rendering and it isn't resident on the
|
||||
card, it will download it. If you have AGP, then this is pretty quick,
|
||||
although none of 3dfx cards really take advantage of this (ie, those cards
|
||||
are about the same speed as the PCI bus). So depending on the number
|
||||
of textures, and how complex the scene is, you might be able to display
|
||||
more textures than you have TRAM.</tt><tt></tt>
|
||||
<p><tt> One slowdown that can happen with GEM is that it makes a
|
||||
copy of the image before sending it down the chain of objects. If
|
||||
you are constantly changing images with a pix_multiimage, this can be a
|
||||
performance hit, but you can modify the actual pixel data with the pix
|
||||
objects. The pixels aren't sent to the graphics card until the pix_texture
|
||||
object is reached.</tt><tt></tt>
|
||||
<p><tt> GEM tries to help with this with a few objects. pix_imageInPlace
|
||||
acts much the same as pix_multiimage, but it downloads _every_ image in
|
||||
the sequence to the card when a download message is recieved. It
|
||||
also immediately turns on texturing, instead of making a copy (ie, you
|
||||
don't need a pix_texture object). Much faster, but not as flexible.
|
||||
pix_movie does much the same thing. It sends the pixel data without
|
||||
copying it if there is a new frame to display.</tt><tt></tt>
|
||||
<p><tt> The entire pix system uses a caching system so that the copying
|
||||
and processing only occurs if something actually changes. For example,
|
||||
if you had a pix_threshold object, it would only process when rendering
|
||||
started...and every time that the values actually changed. You can
|
||||
use pix_buf to isolate parts which don't change from those that do, but
|
||||
it involves another copy.</tt><tt></tt>
|
||||
<p><tt> On the Voodoo2, the hardware itself limits textures to 256x256...this
|
||||
will never change. The newest Voodoo5 boards have a higher texture
|
||||
size.</tt><tt></tt>
|
||||
<p><tt> If you load the _exact_ same image (this means the exact
|
||||
same file/path name), then the pix_image has a cache system which means
|
||||
that it is only loaded into the</tt>
|
||||
<br><tt>computers memory once. However, each pix_image still sends
|
||||
its own copy down to the gfx card.</tt><tt></tt>
|
||||
<p><tt> You could use a single [pix_image]/[pix_texture] with [separator]
|
||||
to do this...I have done it a lot in the past.</tt><tt></tt>
|
||||
<p><tt> The reason that [pix_image] doesn't share the actual texture
|
||||
data is that you can modify the pixel data with other pix objects...[pix_image]
|
||||
doesn't actually send the texture data to the gfx card, [pix_texture] does.</tt>
|
||||
<p><img SRC="tribar.gif" height=13 width=561><a href="index.html"></a>
|
||||
<p><a href="index.html">[return]</a>
|
||||
<br>
|
||||
</body>
|
||||
</html>
|
|
@ -1,149 +0,0 @@
|
|||
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="Author" content="Mark Danks">
|
||||
<meta name="GENERATOR" content="Mozilla/4.5 [en] (WinNT; I) [Netscape]">
|
||||
<title>Utility objects</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<center>
|
||||
<h2>
|
||||
<u>Utility objects</u></h2></center>
|
||||
There are a number of objects which were written to make it easier to use
|
||||
both GEM and pd. For instance, you often pass around 3 floats at
|
||||
a time in GEM, either for position or colors. To help with this,
|
||||
there are a collection of vector objects. Use the list below to find
|
||||
out about the objects.
|
||||
<p>These objects used to be in a separate library called MarkEx, but they
|
||||
have now been folded into GEM.
|
||||
<p><a href="#counter">counter</a> - count the number of bangs
|
||||
<br><a href="#average">average</a> - average a series of numbers together
|
||||
<br><a href="#change">change</a> - only output when there is a change in
|
||||
the number
|
||||
<br><a href="#invert">invert</a> - invert a number
|
||||
<br><a href="#randF">randomF/randF</a> - floating point random number
|
||||
<br><a href="#tripleLine">tripleLine</a> - line object for 3 values
|
||||
<br><a href="#tripleRand">tripleRand</a> - three random numbers
|
||||
<br><a href="#vector">vector objects</a> - process a series of numbers
|
||||
<br><a href="#hsv2rgb">hsv2rgb and rgb2hsv</a> - convert between RGB and
|
||||
HSV color space
|
||||
<p><img SRC="tribar.gif" height=13 width=561>
|
||||
<h3>
|
||||
<a NAME="counter"></a>counter</h3>
|
||||
|
||||
<center><img SRC="counter.jpg" BORDER=1 height=85 width=87></center>
|
||||
|
||||
<p>The inlets are:
|
||||
<br>bang (increment or decrement the counter)
|
||||
<br>set direction (1 = count up, 2 = count down, 3 = count up and down)
|
||||
<br>set low value
|
||||
<br>set hight value
|
||||
<br>The outlet is the current count.
|
||||
<p>So in this case, the top <i>counter</i> will count up from 1 to 10.
|
||||
The bottom <i>counter</i> will count up from 2 to 5.
|
||||
<p>The <i>counter</i> also accepts the messages reset and clear.
|
||||
Reset immediately sets the counter to its low value and outputs the value.
|
||||
The clear message means that the next bang will set the <i>counter</i>
|
||||
to its low value.
|
||||
<p><img SRC="tribar.gif" height=13 width=561>
|
||||
<h3>
|
||||
<a NAME="average"></a>average</h3>
|
||||
The <i>average</i> object just averages a series of numbers as they come
|
||||
in. The left inlet accepts a single float. It then outputs
|
||||
the current average. The default number of floats to average together
|
||||
is 10, but that can be changed by sending a new value to the right inlet.
|
||||
<p>The <i>average</i> object also accepts the messages clear and reset.
|
||||
Clear will immediately set all of the values that the object has been storing
|
||||
for averaging to 0. With the reset message, you must pass in a number
|
||||
to set all of the values.
|
||||
<p><img SRC="tribar.gif" height=13 width=561>
|
||||
<h3>
|
||||
<a NAME="change"></a>change</h3>
|
||||
<i>Change</i> only accepts a number into its left inlet. If the number
|
||||
is the same as the last number sent to the <i>change</i> object, then it
|
||||
does nothing. If the number is different, then the <i>change</i>
|
||||
object will output the new number and store it for the next comparision.
|
||||
<p>This object is very useful for the == object and others like it, since
|
||||
they send a 0 or a 1 every time they do a comparision, and you usually
|
||||
only care when the state actually changes.
|
||||
<p><img SRC="tribar.gif" height=13 width=561>
|
||||
<h3>
|
||||
<a NAME="invert"></a>invert</h3>
|
||||
The <i>invert</i> object is very simple. If the number sent to its
|
||||
left inlet is equal to 0., then <i>invert</i> outputs a 1. If the
|
||||
number is not equal to 0., the <i>invert</i> outputs a 0.
|
||||
<p><img SRC="tribar.gif" height=13 width=561>
|
||||
<h3>
|
||||
<a NAME="randF"></a>randomF/randF</h3>
|
||||
One problem with the <i>random</i> object in pd is that it only sends out
|
||||
integers. This a real problem in GEM, where you often want a value
|
||||
between 0 and 1. <i>randomF</i> is exactly like the <i>random</i>
|
||||
object.
|
||||
<p>When the left inlet gets a bang, <i>randomF</i> outputs a random number
|
||||
between 0 and the given range. The range can be set with a number
|
||||
to the right inlet.
|
||||
<p><i>randF</i> is just an alternate name for <i>randomF</i>.
|
||||
<p><img SRC="tribar.gif" height=13 width=561>
|
||||
<h3>
|
||||
<a NAME="tripleLine"></a>tripleLine</h3>
|
||||
|
||||
<center><img SRC="tripleLine.jpg" BORDER=1 height=92 width=111></center>
|
||||
|
||||
<p>The <i>line</i> object is really great for dealing with a single number.
|
||||
To do a line with 3 values, like an RGB color value, means that you have
|
||||
to unpack, do a <i>line</i>, then repack the number. Not only is
|
||||
it a pain, but it expensive computationally.
|
||||
<p><i>tripleLine</i> behaves just like the <i>line</i> object, only it
|
||||
accepts three numbers to interpolate between. In the example, <i>tripleLine</i>
|
||||
will interpolate from the current values to 1., .2, .4 over 1000 milliseconds.
|
||||
The default output resolution is 50 milliseconds, which is the same default
|
||||
rendering time. Going faster with GEM objects will not produce any
|
||||
benefit, unless you increase the frames per second.
|
||||
<p><img SRC="tribar.gif" height=13 width=561>
|
||||
<h3>
|
||||
<a NAME="tripleRand"></a>tripleRand</h3>
|
||||
|
||||
<center><img SRC="tripleRand.jpg" BORDER=1 height=89 width=149></center>
|
||||
|
||||
<p>Just as using <i>tripleLine</i> makes it easier to interpolate between
|
||||
3 values at once, <i>tripleRand</i> makes it easy to generate three random
|
||||
values. In the above example, when the bang is sent, <i>tripleRand</i>
|
||||
will create three values and output them, with the first between 0 - 1,
|
||||
the second between 0 - .5, and the third from 0 - .8.
|
||||
<p><img SRC="tribar.gif" height=13 width=561>
|
||||
<h3>
|
||||
<a NAME="vector"></a>Vector objects</h3>
|
||||
The vector math objects are
|
||||
<br><i>vector+ </i>or<i> v+</i>
|
||||
<br><i>vector- </i>or<i> v-</i>
|
||||
<br><i>vector* </i>or<i> v*</i>
|
||||
<br><i>vector/ </i>or<i> v/</i>
|
||||
<br>All of the above objects perform math on a list of numbers. The
|
||||
left inlet accepts a list of numbers of any length. The right inlet
|
||||
accepts a single value, which is the operand for the computation.
|
||||
In other words, they work just like the normal *, +, -, and / objects,
|
||||
except they can handle more than one number in the left inlet.
|
||||
<p>There are two other objects which are also useful.
|
||||
<p>The first is <i>vectorabs </i>or<i> vabs</i>. It computes the absolute
|
||||
value on a list of numbers.
|
||||
<p>The second object is <i>vectorpack </i>or<i> vpack</i>. <i>vpack</i>
|
||||
accepts a list of numbers in the left inlet and a single number into the
|
||||
right inlet. The output is a single list of numbers that is the vector
|
||||
with the single number appended to the end. This is very useful when
|
||||
you want to change the time for a <i>tripleLine</i> without unpacking and
|
||||
repacking all of the data.<i></i>
|
||||
<p><img SRC="tribar.gif" height=13 width=561>
|
||||
<h3>
|
||||
<a NAME="hsv2rgb"></a>hsv2rgb and rgb2hsv</h3>
|
||||
These two objects convert three numbers between HSV and RGB color space.
|
||||
HSV stands for hue, saturation, and value. The simple way to think
|
||||
of HSV space is that hue is the "color", such as red, blue, etc, the saturation
|
||||
is how intense the color is, and the value is how bright the color is.
|
||||
<p>You can get some really nice effects by varying the hue of a color,
|
||||
because the brightness will not change while you do it.
|
||||
<p><img SRC="tribar.gif" height=13 width=561>
|
||||
<p><a href="index.html">[return]</a>
|
||||
</body>
|
||||
</html>
|
|
@ -1,41 +0,0 @@
|
|||
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="Author" content="Mark Danks">
|
||||
<meta name="Author" content="IOhannes m zmölnig">
|
||||
<title>Writing new objects</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<center>
|
||||
<h2>
|
||||
<u>Creating new GEM objects</u></h2></center>
|
||||
Look at the source code :-) GEM is written in C++, which means that
|
||||
you have to jump through some hopes to interact properly with Pd, which
|
||||
is written in C. If you look in Base/CPPExtern.h, you will see a
|
||||
collection of macros which you can use to help you create new objects.
|
||||
Use one of the GEM objects which is closest to what you want to do as a
|
||||
template.
|
||||
<p>One problem on SGI...you will need to
|
||||
<p>setenv LD_LIBRARY_PATH "/where/ever/pd/gem"
|
||||
<p>so that rld (the run-time linker) can find the GEM dso. Because
|
||||
you are linking with GEM, Pd isn't involved with the run time linking process;
|
||||
it is all done when Pd calls dlopen.
|
||||
<p>On NT, there is much the same problem...
|
||||
<p>set your PATH environment variable to \where\ever\pd\gem
|
||||
<p>or
|
||||
<p>make sure that your new .dll is located in the same directory where
|
||||
GEM is.
|
||||
<p>On NT, all of the classes and functions are exported through declexport/declimport.
|
||||
You shouldn't have to do anything to call the functions. I have not
|
||||
had any problems making other dll's which are loaded into Pd at runtime.
|
||||
You need to make certain that you are exporting the correct functions.
|
||||
If your dll cannot find the gem.dll, then it will silently fail.
|
||||
<p>And of course, e-mail IOhannes m zmölnig (<a href="mailto:zmoelnig@iem.at">zmoelnig@iem.at</a>) if you have any problems,
|
||||
questions, or solutions
|
||||
<p><img SRC="tribar.gif" height=13 width=561>
|
||||
<p><a href="index.html">[return]</a>
|
||||
<br>
|
||||
</body>
|
||||
</html>
|
Before Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 60 KiB |
Before Width: | Height: | Size: 8.3 KiB |
Before Width: | Height: | Size: 7.8 KiB |
Before Width: | Height: | Size: 8.8 KiB |
|
@ -1,67 +0,0 @@
|
|||
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="Author" content="Mark Danks; IOhannes m zmönig">
|
||||
<title>Gem Manual</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<center>
|
||||
<h2>
|
||||
<u>GEM Manual</u></h2></center>
|
||||
|
||||
<center><img SRC="redSquare.jpg" ALT="a simple patch" BORDER=2 height=138 width=91></center>
|
||||
|
||||
<p>This is the first attempt at a manual for GEM, so bear with me.
|
||||
Any comments are appreciated. Send them to <a href="mailto:mark@danks.org">Mark Danks</a>
|
||||
<hr>
|
||||
In fact, this ought to be the second attempt at such a manual. There will not be much now.
|
||||
But send any comments to <a href="mailto:zmoelnig@iem.kug.ac.at">IOhannes m zmölnig</a> instead.
|
||||
<p><img SRC="tribar.gif" height=13 width=561>
|
||||
<p><a href="Intro.html">Introduction</a>
|
||||
<br> An introduction to GEM and what you can do with
|
||||
it. The general system requirements are also described here.
|
||||
<p><a href="GemWPd.html">Using GEM with Pd</a>
|
||||
<br> How to use GEM with Pd. This includes how
|
||||
to start Pd so that the GEM library is loaded and working properly.
|
||||
<p><a href="BasicObj.html">Basic objects</a>
|
||||
<br> The basic objects that GEM has. This section
|
||||
shows you how to create a simple patch.
|
||||
<p><a href="Images.html">Images</a>
|
||||
<br> Using images is an important part of GEM. Here you
|
||||
will load in images and learn the basics of dealing with images.
|
||||
<p><a href="Texture.html">Texture mapping</a>
|
||||
<br> Loading in images is only one part. Applying
|
||||
those images to 3-D shapes is called texture mapping.
|
||||
<p><a href="Pixes.html">Pixes (image processing)</a>
|
||||
<br> Once you have texture mapped the images, you will
|
||||
probably want to process and change them in response to user interaction.
|
||||
The <i>pix</i> objects provide this functionality.
|
||||
<p><a href="Lighting.html">Lighting</a>
|
||||
<br> Shading and lighting are easy with the lighting
|
||||
objects.
|
||||
<p>Particles
|
||||
<br> Particle systems can create effects such as smoke,
|
||||
fire, and water.
|
||||
<p><a href="Utility.html">Utility objects</a>
|
||||
<br> To help you deal with the data which GEM uses, there
|
||||
are a number of utility objects.
|
||||
<p>Input devices
|
||||
<br> GEM provides interaction with the mouse and other
|
||||
input devices.
|
||||
<p>Advanced
|
||||
<br> Now that you know all about the other objects, here
|
||||
are a few of the more advanced ones.
|
||||
<p><a href="WriteCode.html">Writing new objects</a>
|
||||
<br> How to write new objects for GEM.
|
||||
<p><a href="GemFaq.html">FAQ</a>
|
||||
<br> Frequently asked questions about GEM.
|
||||
<p><a href="ListObjects.html">List of Objects</a>
|
||||
<br> All of the objects in GEM with a very brief description..
|
||||
<p><a href="Gloss.html">Glossary/Index</a>
|
||||
<br> A collection of definitions and links to explanations.
|
||||
<p><img SRC="tribar.gif" height=13 width=561>
|
||||
<br>
|
||||
</body>
|
||||
</html>
|
Before Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 68 KiB |
Before Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 67 KiB |
Before Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 4.2 KiB |
Before Width: | Height: | Size: 4.1 KiB |
Before Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 8.6 KiB |
Before Width: | Height: | Size: 882 B |
Before Width: | Height: | Size: 9.6 KiB |
Before Width: | Height: | Size: 8.2 KiB |
Before Width: | Height: | Size: 13 KiB |
|
@ -1,14 +0,0 @@
|
|||
#N canvas 144 70 497 292 10;
|
||||
#X text 21 22 GEMglBegin - delimit the vertices of a primitive or a
|
||||
group of like primitives;
|
||||
#X text 21 61 C Specification: void glBegin( GLenum mode );
|
||||
#X text 21 91 Parameters;
|
||||
#X text 42 115 mode;
|
||||
#X text 77 116 Specifies the primitive or primitives that will be created
|
||||
from vertices presented between glBegin and the subsequent glEnd. Ten
|
||||
symbolic constants are accepted: GL_POINTS \, GL_LINES \, GL_LINE_STRIP
|
||||
\, GL_LINE_LOOP \, GL_TRIANGLES \, GL_TRIANGLE_STRIP \, GL_TRIANGLE_FAN
|
||||
\, GL_QUADS \, GL_QUAD_STRIP \, and GL_POLYGON.;
|
||||
#X text 71 244 http://www.glprogramming.com/blue/ch05.html#id5450783
|
||||
;
|
||||
#X text 22 228 OpenGL Reference page:;
|
|
@ -1,65 +0,0 @@
|
|||
#N canvas 78 37 701 310 10;
|
||||
#X obj 519 47 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
|
||||
0;
|
||||
#X obj 584 234 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#N canvas 0 22 450 300 gemwin 0;
|
||||
#X obj 132 136 gemwin;
|
||||
#X obj 67 89 outlet;
|
||||
#X obj 67 10 inlet;
|
||||
#X obj 67 41 route create;
|
||||
#X msg 67 70 set destroy;
|
||||
#X msg 142 68 set create;
|
||||
#X msg 198 112 destroy;
|
||||
#X msg 132 112 create \, 1;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 3 0 7 0;
|
||||
#X connect 3 1 5 0;
|
||||
#X connect 3 1 6 0;
|
||||
#X connect 4 0 1 0;
|
||||
#X connect 5 0 1 0;
|
||||
#X connect 6 0 0 0;
|
||||
#X connect 7 0 0 0;
|
||||
#X restore 589 273 pd gemwin;
|
||||
#X msg 589 254 create;
|
||||
#X text 585 233 Create window:;
|
||||
#X text 525 29 Example:;
|
||||
#X obj 7 65 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X obj 8 216 cnv 15 450 80 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X text 11 217 Inlets:;
|
||||
#X obj 8 176 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#X text 452 8 GEM object;
|
||||
#X text 11 266 Outlets:;
|
||||
#X obj 522 71 cnv 15 150 140 empty empty empty 20 12 0 14 -24198 -66577
|
||||
0;
|
||||
#X obj 530 192 GEMglBegin;
|
||||
#X obj 534 77 loadbang;
|
||||
#X text 54 30 Class: GEMgl object;
|
||||
#X text 33 14 Synopsis: [GLdefine];
|
||||
#X text 15 88 Send an OpenGL configuration constant to a GEMglBegin
|
||||
to set up the OpenGL environment. These constants are defined in GL/gl.h
|
||||
in the OpenGL C++ code.;
|
||||
#X floatatom 584 167 5 0 0 0 - - -;
|
||||
#X text 29 229 Inlet 1: bang;
|
||||
#X text 23 279 Outlet 1: float;
|
||||
#X text 14 137 for more \, see: http://www.glprogramming.com/blue/ch04.html
|
||||
;
|
||||
#X text 7 69 Description: gets the value of a OpenGL constant;
|
||||
#X text 29 245 Inlet 1: message - the name of the constant;
|
||||
#X text 17 175 Arguments:;
|
||||
#X text 29 189 the name of a OpenGL constant (e.g. GL_LINES or GL_POLYGON)
|
||||
;
|
||||
#X msg 542 98 GL_LINES;
|
||||
#X obj 534 142 GLdefine GL_ADD;
|
||||
#X msg 553 119 symbol GL_ACCUM;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 3 0 2 0;
|
||||
#X connect 14 0 27 0;
|
||||
#X connect 26 0 27 0;
|
||||
#X connect 27 0 13 1;
|
||||
#X connect 27 0 18 0;
|
||||
#X connect 28 0 27 0;
|
|
@ -1,220 +0,0 @@
|
|||
AUTOMAKE_OPTIONS = foreign
|
||||
|
||||
SUFFIXES = .pd
|
||||
|
||||
gemhelpdir=$(pkglibdir)
|
||||
|
||||
dist_gemhelp_DATA = \
|
||||
accumrotate-help.pd \
|
||||
alpha-help.pd \
|
||||
ambient-help.pd \
|
||||
ambientRGB-help.pd \
|
||||
camera-help.pd \
|
||||
circle-help.pd \
|
||||
color-help.pd \
|
||||
colorRGB-help.pd \
|
||||
colorSquare-help.pd \
|
||||
cone-help.pd \
|
||||
cube-help.pd \
|
||||
cuboid-help.pd \
|
||||
curve3d-help.pd \
|
||||
curve-help.pd \
|
||||
cylinder-help.pd \
|
||||
depth-help.pd \
|
||||
diffuse-help.pd \
|
||||
diffuseRGB-help.pd \
|
||||
disk-help.pd \
|
||||
emission-help.pd \
|
||||
emissionRGB-help.pd \
|
||||
fragment_program-help.pd \
|
||||
gemframebuffer-help.pd \
|
||||
GEMglBegin-help.pd \
|
||||
gemhead-help.pd \
|
||||
gemkeyboard-help.pd \
|
||||
gemkeyname-help.pd \
|
||||
gemlist-help.pd \
|
||||
gemlist_info-help.pd \
|
||||
gemlist_matrix-help.pd \
|
||||
gemmouse-help.pd \
|
||||
gemorb-help.pd \
|
||||
gemreceive-help.pd \
|
||||
gemtablet-help.pd \
|
||||
gemvertexbuffer-help.pd \
|
||||
gemwin-help.pd \
|
||||
GLdefine-help.pd \
|
||||
glsl_fragment-help.pd \
|
||||
glsl_geometry-help.pd \
|
||||
glsl_program-help.pd \
|
||||
glsl_vertex-help.pd \
|
||||
imageVert-help.pd \
|
||||
light-help.pd \
|
||||
linear_path-help.pd \
|
||||
mesh_line-help.pd \
|
||||
mesh_square-help.pd \
|
||||
model-help.pd \
|
||||
multimodel-help.pd \
|
||||
newWave-help.pd \
|
||||
ortho-help.pd \
|
||||
part_color-help.pd \
|
||||
part_damp-help.pd \
|
||||
part_draw-help.pd \
|
||||
part_follow-help.pd \
|
||||
part_gravity-help.pd \
|
||||
part_head-help.pd \
|
||||
part_info-help.pd \
|
||||
part_killold-help.pd \
|
||||
part_killslow-help.pd \
|
||||
part_orbitpoint-help.pd \
|
||||
part_render-help.pd \
|
||||
part_sink-help.pd \
|
||||
part_size-help.pd \
|
||||
part_source-help.pd \
|
||||
part_targetcolor-help.pd \
|
||||
part_targetsize-help.pd \
|
||||
part_velcone-help.pd \
|
||||
part_velocity-help.pd \
|
||||
part_velsphere-help.pd \
|
||||
part_vertex-help.pd \
|
||||
pix_2grey-help.pd \
|
||||
pix_a_2grey-help.pd \
|
||||
pix_add-help.pd \
|
||||
pix_aging-help.pd \
|
||||
pix_alpha-help.pd \
|
||||
pix_background-help.pd \
|
||||
pix_backlight-help.pd \
|
||||
pix_biquad-help.pd \
|
||||
pix_bitmask-help.pd \
|
||||
pix_blob-help.pd \
|
||||
pix_blur-help.pd \
|
||||
pix_buffer-help.pd \
|
||||
pix_buffer_read-help.pd \
|
||||
pix_buffer_write-help.pd \
|
||||
pix_buf-help.pd \
|
||||
pix_chroma_key-help.pd \
|
||||
pix_clearblock-help.pd \
|
||||
pix_coloralpha-help.pd \
|
||||
pix_color-help.pd \
|
||||
pix_colorclassify-help.pd \
|
||||
pix_colormatrix-help.pd \
|
||||
pix_colorreduce-help.pd \
|
||||
pix_compare-help.pd \
|
||||
pix_composite-help.pd \
|
||||
pix_contrast-help.pd \
|
||||
pix_convert-help.pd \
|
||||
pix_convolve-help.pd \
|
||||
pix_coordinate-help.pd \
|
||||
pix_crop-help.pd \
|
||||
pix_curve-help.pd \
|
||||
pix_data-help.pd \
|
||||
pix_deinterlace-help.pd \
|
||||
pix_delay-help.pd \
|
||||
pix_diff-help.pd \
|
||||
pix_dot-help.pd \
|
||||
pix_draw-help.pd \
|
||||
pix_dump-help.pd \
|
||||
pix_duotone-help.pd \
|
||||
pix_film-help.pd \
|
||||
pix_flip-help.pd \
|
||||
pix_freeframe-help.pd \
|
||||
pix_frei0r-help.pd \
|
||||
pix_gain-help.pd \
|
||||
pix_grey-help.pd \
|
||||
pix_halftone-help.pd \
|
||||
pix_histo-help.pd \
|
||||
pix_hsv2rgb-help.pd \
|
||||
pix_image-help.pd \
|
||||
pix_imageInPlace-help.pd \
|
||||
pix_indycam-help.pd \
|
||||
pix_info-help.pd \
|
||||
pix_invert-help.pd \
|
||||
pix_kaleidoscope-help.pd \
|
||||
pix_levels-help.pd \
|
||||
pix_lumaoffset-help.pd \
|
||||
pix_mask-help.pd \
|
||||
pix_mean_color-help.pd \
|
||||
pix_metaimage-help.pd \
|
||||
pix_mix-help.pd \
|
||||
pix_motionblur-help.pd \
|
||||
pix_movement2-help.pd \
|
||||
pix_movement-help.pd \
|
||||
pix_movie-help.pd \
|
||||
pix_multiblob-help.pd \
|
||||
pix_multiimage-help.pd \
|
||||
pix_multitexture-help.pd \
|
||||
pix_multiply-help.pd \
|
||||
pix_noise-help.pd \
|
||||
pix_normalize-help.pd \
|
||||
pix_offset-help.pd \
|
||||
pix_pix2sig~-help.pd \
|
||||
pix_posterize-help.pd \
|
||||
pix_puzzle-help.pd \
|
||||
pix_rds-help.pd \
|
||||
pix_record-help.pd \
|
||||
pix_rectangle-help.pd \
|
||||
pix_refraction-help.pd \
|
||||
pix_resize-help.pd \
|
||||
pix_rgb2hsv-help.pd \
|
||||
pix_rgba-help.pd \
|
||||
pix_roi-help.pd \
|
||||
pix_roll-help.pd \
|
||||
pix_rtx-help.pd \
|
||||
pix_scanline-help.pd \
|
||||
pix_set-help.pd \
|
||||
pix_share_read-help.pd \
|
||||
pix_share_write-help.pd \
|
||||
pix_sig2pix~-help.pd \
|
||||
pix_snap2tex-help.pd \
|
||||
pix_snap-help.pd \
|
||||
pix_subtract-help.pd \
|
||||
pix_takealpha-help.pd \
|
||||
pix_texture-help.pd \
|
||||
pix_threshold_bernsen-help.pd \
|
||||
pix_threshold-help.pd \
|
||||
pix_tIIR-help.pd \
|
||||
pix_videoDS-help.pd \
|
||||
pix_video-help.pd \
|
||||
pix_write-help.pd \
|
||||
pix_yuv-help.pd \
|
||||
pix_zoom-help.pd \
|
||||
polygon-help.pd \
|
||||
polygon_smooth-help.pd \
|
||||
pqtorusknots-help.pd \
|
||||
primTri-help.pd \
|
||||
rectangle-help.pd \
|
||||
render_trigger-help.pd \
|
||||
ripple-help.pd \
|
||||
rotate-help.pd \
|
||||
rotateXYZ-help.pd \
|
||||
rubber-help.pd \
|
||||
scale-help.pd \
|
||||
scaleXYZ-help.pd \
|
||||
scopeXYZ~-help.pd \
|
||||
separator-help.pd \
|
||||
shearXY-help.pd \
|
||||
shearXZ-help.pd \
|
||||
shearYX-help.pd \
|
||||
shearYZ-help.pd \
|
||||
shearZX-help.pd \
|
||||
shearZY-help.pd \
|
||||
shininess-help.pd \
|
||||
slideSquares-help.pd \
|
||||
specular-help.pd \
|
||||
specularRGB-help.pd \
|
||||
sphere3d-help.pd \
|
||||
sphere-help.pd \
|
||||
spline_path-help.pd \
|
||||
spot_light-help.pd \
|
||||
square-help.pd \
|
||||
surface3d-help.pd \
|
||||
teapot-help.pd \
|
||||
text2d-help.pd \
|
||||
text3d-help.pd \
|
||||
textextruded-help.pd \
|
||||
textoutline-help.pd \
|
||||
torus-help.pd \
|
||||
translate-help.pd \
|
||||
translateXYZ-help.pd \
|
||||
triangle-help.pd \
|
||||
tube-help.pd \
|
||||
vertex_program-help.pd \
|
||||
world_light-help.pd
|
|
@ -1,75 +0,0 @@
|
|||
#N canvas 57 47 634 374 10;
|
||||
#X text 452 8 GEM object;
|
||||
#X text 50 12 Synopsis: [accumrotate];
|
||||
#X obj 8 197 cnv 15 430 130 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X text 63 225 Inlet 1: message: reset;
|
||||
#X text 64 254 Inlet 3: float: delta-rotation around Y-axis (in deg)
|
||||
;
|
||||
#X text 64 242 Inlet 2: float: delta-rotation around X-axis (in deg)
|
||||
;
|
||||
#X text 64 266 Inlet 4: float: delta-rotation around Z-axis (in deg)
|
||||
;
|
||||
#X text 39 198 Inlets:;
|
||||
#X text 63 211 Inlet 1: gemlist;
|
||||
#X text 39 282 Outlets:;
|
||||
#X text 57 295 Outlet 1: gemlist;
|
||||
#X obj 8 156 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#X text 17 155 Arguments:;
|
||||
#X text 63 166 initial rotations around X \, Y \, Z-axes;
|
||||
#X obj 8 76 cnv 15 430 70 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X text 42 95 [accumrotate] accepts a gemList and changes the current
|
||||
transformation matrix by the specified delta-rotation;
|
||||
#X text 41 130 the delta-values add to the current rotation-matrix.
|
||||
;
|
||||
#X text 29 77 Description: accumulated rotation;
|
||||
#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
|
||||
0;
|
||||
#X text 453 60 Example:;
|
||||
#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#N canvas 0 22 450 300 gemwin 0;
|
||||
#X obj 132 136 gemwin;
|
||||
#X obj 67 89 outlet;
|
||||
#X obj 67 10 inlet;
|
||||
#X obj 67 41 route create;
|
||||
#X msg 67 70 set destroy;
|
||||
#X msg 142 68 set create;
|
||||
#X msg 132 112 create \, 1;
|
||||
#X msg 198 112 destroy;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 3 0 6 0;
|
||||
#X connect 3 1 5 0;
|
||||
#X connect 3 1 7 0;
|
||||
#X connect 4 0 1 0;
|
||||
#X connect 5 0 1 0;
|
||||
#X connect 6 0 0 0;
|
||||
#X connect 7 0 0 0;
|
||||
#X restore 519 293 pd gemwin;
|
||||
#X msg 519 274 create;
|
||||
#X text 515 253 Create window:;
|
||||
#X text 71 31 Class: manipulation object;
|
||||
#X obj 450 158 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
|
||||
0;
|
||||
#X obj 451 84 gemhead;
|
||||
#X obj 451 233 square;
|
||||
#X msg 478 108 reset;
|
||||
#X msg 531 163 10;
|
||||
#X text 490 139 click repeatedly;
|
||||
#X obj 451 186 accumrotate 45 0 0;
|
||||
#X msg 491 163 5;
|
||||
#X msg 572 163 15;
|
||||
#X text 34 335 see also:;
|
||||
#X obj 143 337 rotateXYZ;
|
||||
#X obj 95 337 rotate;
|
||||
#X connect 21 0 22 0;
|
||||
#X connect 22 0 21 0;
|
||||
#X connect 26 0 31 0;
|
||||
#X connect 28 0 31 0;
|
||||
#X connect 29 0 31 2;
|
||||
#X connect 31 0 27 0;
|
||||
#X connect 32 0 31 1;
|
||||
#X connect 33 0 31 3;
|
|
@ -1,109 +0,0 @@
|
|||
#N canvas 50 237 711 539 10;
|
||||
#X text 452 8 GEM object;
|
||||
#X obj 8 196 cnv 15 430 330 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X text 37 195 Inlets:;
|
||||
#X text 453 355 Outlets:;
|
||||
#X text 461 366 Outlet 1: gemlist;
|
||||
#X obj 8 161 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#X text 17 160 Arguments:;
|
||||
#X obj 8 76 cnv 15 430 80 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X obj 449 77 cnv 15 250 250 empty empty empty 20 12 0 14 -228992 -66577
|
||||
0;
|
||||
#X text 453 60 Example:;
|
||||
#X obj 584 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#N canvas 0 50 450 300 gemwin 0;
|
||||
#X obj 132 136 gemwin;
|
||||
#X obj 67 89 outlet;
|
||||
#X obj 67 10 inlet;
|
||||
#X obj 67 41 route create;
|
||||
#X msg 67 70 set destroy;
|
||||
#X msg 142 68 set create;
|
||||
#X msg 132 112 create \, 1;
|
||||
#X msg 198 112 destroy;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 3 0 6 0;
|
||||
#X connect 3 1 5 0;
|
||||
#X connect 3 1 7 0;
|
||||
#X connect 4 0 1 0;
|
||||
#X connect 5 0 1 0;
|
||||
#X connect 6 0 0 0;
|
||||
#X connect 7 0 0 0;
|
||||
#X restore 589 293 pd gemwin;
|
||||
#X msg 589 274 create;
|
||||
#X text 585 253 Create window:;
|
||||
#X text 71 31 Class: manipulation object;
|
||||
#X obj 451 197 cnv 15 80 60 empty empty empty 20 12 0 14 -24198 -66577
|
||||
0;
|
||||
#X obj 579 186 color 1 0 0 0.5;
|
||||
#X text 60 219 Inlet 1: float: turn alpha blending on/off;
|
||||
#X text 50 12 Synopsis: [alpha];
|
||||
#X text 29 77 Description: enable alpha blending;
|
||||
#X obj 458 310 square;
|
||||
#X obj 458 233 alpha;
|
||||
#X obj 458 108 color 0 1 0 0.5;
|
||||
#X text 61 208 Inlet 1: gemlist;
|
||||
#X text 60 231 Inlet 1: message "auto 1" | "auto 0" turn on/off automatic
|
||||
depth detection;
|
||||
#X floatatom 583 139 5 0 0 0 - - -;
|
||||
#X obj 458 86 gemhead 51;
|
||||
#X obj 579 211 sphere;
|
||||
#X obj 458 137 rotate 114 0 1 0;
|
||||
#X obj 579 162 gemhead 50;
|
||||
#X msg 474 176 auto \$1;
|
||||
#X obj 474 158 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
|
||||
1;
|
||||
#X msg 583 108 0 1 0 \$1;
|
||||
#X floatatom 583 88 5 0 1 0 - - -;
|
||||
#X obj 628 88 hsl 64 15 0 1 0 0 empty empty empty -2 -8 0 10 -262144
|
||||
-1 -1 0 1;
|
||||
#X text 22 91 [alpha] turns on and off alpha blending. Be aware that
|
||||
the rendering order matters \, so you probably want to set the gemhead
|
||||
order number high so that the object is rendered after all of the non-alpha
|
||||
blended ones.;
|
||||
#X text 63 171 float : blending function (default: GL_ONE_MINUS_SRC_ALPHA)
|
||||
;
|
||||
#X text 60 260 Inlet 2: float: blending function;
|
||||
#X text 70 272 0=GL_ONE_MINUS_SOURCE_ALPHA;
|
||||
#X text 70 282 1=GL_ONE;
|
||||
#X text 70 294 2=GL_ZERO;
|
||||
#X text 70 306 3=GL_SRC_COLOR;
|
||||
#X text 70 318 4=GL_ONE_MINUS_SRC_COLOR;
|
||||
#X text 70 330 5=GL_DST_COLOR;
|
||||
#X text 70 342 6=GL_ONE_MINUS_DST_COLOR;
|
||||
#X text 70 354 7=GL_SRC_ALPHA;
|
||||
#X text 70 366 8=GL_ONE_MINUS_SRC_ALPHA;
|
||||
#X text 70 378 9=GL_DST_ALPHA;
|
||||
#X text 70 390 10=GL_ONE_MINUS_DST_ALPHA;
|
||||
#X text 70 402 11=GL_CONSTANT_COLOR;
|
||||
#X text 70 414 12=GL_ONE_MINUS_CONSTANT_COLOR;
|
||||
#X text 70 426 13=GL_CONSTANT_ALPHA;
|
||||
#X text 70 438 14=GL_ONE_MINUS_CONSTANT_ALPHA;
|
||||
#X text 70 450 15=GL_SRC_ALPHA_SATURATE;
|
||||
#X text 70 462 16=GL_SRC1_COLOR;
|
||||
#X text 70 474 17=GL_ONE_MINUS_SRC1_COLOR;
|
||||
#X text 70 486 18=GL_SRC1_ALPHA;
|
||||
#X text 70 498 19=GL_ONE_MINUS_SRC1_ALPHA;
|
||||
#X obj 477 210 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
|
||||
1;
|
||||
#X floatatom 501 210 2 0 19 0 - - -;
|
||||
#X connect 11 0 12 0;
|
||||
#X connect 12 0 11 0;
|
||||
#X connect 16 0 27 0;
|
||||
#X connect 21 0 20 0;
|
||||
#X connect 22 0 28 0;
|
||||
#X connect 25 0 28 1;
|
||||
#X connect 26 0 22 0;
|
||||
#X connect 28 0 21 0;
|
||||
#X connect 29 0 16 0;
|
||||
#X connect 30 0 21 0;
|
||||
#X connect 31 0 30 0;
|
||||
#X connect 32 0 22 1;
|
||||
#X connect 33 0 32 0;
|
||||
#X connect 34 0 33 0;
|
||||
#X connect 58 0 21 0;
|
||||
#X connect 59 0 21 1;
|
|
@ -1,68 +0,0 @@
|
|||
#N canvas 260 145 639 369 10;
|
||||
#X text 452 8 GEM object;
|
||||
#X obj 8 196 cnv 15 430 130 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X text 39 198 Inlets:;
|
||||
#X text 63 211 Inlet 1: gemlist;
|
||||
#X text 39 252 Outlets:;
|
||||
#X text 57 265 Outlet 1: gemlist;
|
||||
#X obj 8 146 cnv 15 430 40 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#X text 17 145 Arguments:;
|
||||
#X obj 8 76 cnv 15 430 60 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
|
||||
0;
|
||||
#X text 453 60 Example:;
|
||||
#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#N canvas 0 22 450 300 gemwin 0;
|
||||
#X obj 132 136 gemwin;
|
||||
#X obj 67 89 outlet;
|
||||
#X obj 67 10 inlet;
|
||||
#X obj 67 41 route create;
|
||||
#X msg 67 70 set destroy;
|
||||
#X msg 142 68 set create;
|
||||
#X msg 197 134 destroy;
|
||||
#X msg 132 112 reset \, lighting 1 \, create \, 1;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 3 0 7 0;
|
||||
#X connect 3 1 5 0;
|
||||
#X connect 3 1 6 0;
|
||||
#X connect 4 0 1 0;
|
||||
#X connect 5 0 1 0;
|
||||
#X connect 6 0 0 0;
|
||||
#X connect 7 0 0 0;
|
||||
#X restore 519 293 pd gemwin;
|
||||
#X msg 519 274 create;
|
||||
#X text 515 253 Create window:;
|
||||
#X text 71 31 Class: manipulation object;
|
||||
#X obj 450 118 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
|
||||
0;
|
||||
#X obj 451 84 gemhead;
|
||||
#X text 29 77 Description: ambient colouring;
|
||||
#X obj 451 193 cube;
|
||||
#X obj 500 192 gemhead;
|
||||
#X obj 500 230 world_light;
|
||||
#X obj 500 211 rotate 180 1 0 0;
|
||||
#X text 62 156 a list of 3 (RGB) or 4 (RGBA) float-values.;
|
||||
#X text 60 171 defaults: 0.2 0.2 0.2 1;
|
||||
#X text 22 91 [ambient] accepts a gemList and sets the ambient-color
|
||||
for all subsequent vertex-operations. You have to enable lighting to
|
||||
see any effects.;
|
||||
#X text 50 12 Synopsis: [ambient];
|
||||
#X obj 451 156 ambient 0 1 0;
|
||||
#X msg 478 130 0.4 0.8 1;
|
||||
#X text 63 229 Inlet 2: list: 3(RGB) or 4(RGBA) float values;
|
||||
#X floatatom 549 193 5 0 0 0 - - -;
|
||||
#X obj 84 332 ambientRGB;
|
||||
#X text 21 332 see also:;
|
||||
#X connect 12 0 13 0;
|
||||
#X connect 13 0 12 0;
|
||||
#X connect 17 0 27 0;
|
||||
#X connect 20 0 22 0;
|
||||
#X connect 22 0 21 0;
|
||||
#X connect 27 0 19 0;
|
||||
#X connect 28 0 27 1;
|
||||
#X connect 30 0 22 1;
|
|
@ -1,77 +0,0 @@
|
|||
#N canvas 4 49 641 366 10;
|
||||
#X text 452 8 GEM object;
|
||||
#X obj 8 196 cnv 15 430 130 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X text 39 198 Inlets:;
|
||||
#X text 63 211 Inlet 1: gemlist;
|
||||
#X text 39 292 Outlets:;
|
||||
#X text 57 305 Outlet 1: gemlist;
|
||||
#X obj 8 146 cnv 15 430 40 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#X text 17 145 Arguments:;
|
||||
#X obj 8 76 cnv 15 430 60 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
|
||||
0;
|
||||
#X text 453 60 Example:;
|
||||
#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#N canvas 0 22 450 300 gemwin 0;
|
||||
#X obj 132 136 gemwin;
|
||||
#X obj 67 89 outlet;
|
||||
#X obj 67 10 inlet;
|
||||
#X obj 67 41 route create;
|
||||
#X msg 67 70 set destroy;
|
||||
#X msg 142 68 set create;
|
||||
#X msg 197 134 destroy;
|
||||
#X msg 132 112 reset \, lighting 1 \, create \, 1;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 3 0 7 0;
|
||||
#X connect 3 1 5 0;
|
||||
#X connect 3 1 6 0;
|
||||
#X connect 4 0 1 0;
|
||||
#X connect 5 0 1 0;
|
||||
#X connect 6 0 0 0;
|
||||
#X connect 7 0 0 0;
|
||||
#X restore 519 293 pd gemwin;
|
||||
#X msg 519 274 create;
|
||||
#X text 515 253 Create window:;
|
||||
#X text 71 31 Class: manipulation object;
|
||||
#X obj 450 118 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
|
||||
0;
|
||||
#X obj 451 84 gemhead;
|
||||
#X text 29 77 Description: ambient colouring;
|
||||
#X obj 451 193 cube;
|
||||
#X obj 500 192 gemhead;
|
||||
#X obj 500 230 world_light;
|
||||
#X text 50 12 Synopsis: [ambientRGB];
|
||||
#X text 22 91 [ambientRGB] accepts a gemList and sets the ambient-color
|
||||
for all subsequent vertex-operations. You have to enable lighting to
|
||||
see any effects.;
|
||||
#X text 62 156 a list of 3 (RGB) or 4 (RGBA) float-values.;
|
||||
#X text 60 171 defaults: 0.2 0.2 0.2 1;
|
||||
#X text 63 229 Inlet 2: float: red value;
|
||||
#X text 63 244 Inlet 3: float: green value;
|
||||
#X text 63 259 Inlet 4: float: blue value;
|
||||
#X text 63 274 Inlet 5: float: alpha value;
|
||||
#X obj 451 156 ambientRGB 0 1 0;
|
||||
#X floatatom 477 122 3 0 1 0 - - -;
|
||||
#X floatatom 504 122 3 0 1 0 - - -;
|
||||
#X floatatom 531 122 3 0 1 0 - - -;
|
||||
#X floatatom 558 122 3 0 1 0 - - -;
|
||||
#X floatatom 548 192 5 0 0 0 - - -;
|
||||
#X obj 500 211 rotate 70 1 0 0;
|
||||
#X text 20 333 see also:;
|
||||
#X obj 93 332 ambient;
|
||||
#X connect 12 0 13 0;
|
||||
#X connect 13 0 12 0;
|
||||
#X connect 17 0 30 0;
|
||||
#X connect 20 0 36 0;
|
||||
#X connect 30 0 19 0;
|
||||
#X connect 31 0 30 1;
|
||||
#X connect 32 0 30 2;
|
||||
#X connect 33 0 30 3;
|
||||
#X connect 34 0 30 4;
|
||||
#X connect 35 0 36 1;
|
||||
#X connect 36 0 21 0;
|
|
@ -1,81 +0,0 @@
|
|||
#N canvas 0 22 630 494 10;
|
||||
#X obj 179 157 camera;
|
||||
#X obj 179 45 gemhead;
|
||||
#X obj 162 82 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
|
||||
;
|
||||
#X obj 185 63 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
|
||||
;
|
||||
#X obj 234 108 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
|
||||
1;
|
||||
#X obj 260 86 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
|
||||
;
|
||||
#X msg 234 124 left \$1;
|
||||
#X msg 260 102 right \$1;
|
||||
#X obj 75 120 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
|
||||
;
|
||||
#X obj 101 98 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
|
||||
;
|
||||
#X msg 101 114 up \$1;
|
||||
#X msg 75 136 down \$1;
|
||||
#X msg 267 58 reset;
|
||||
#X msg 185 80 forward \$1;
|
||||
#X msg 162 98 reverse \$1;
|
||||
#X msg 66 252 speed \$1;
|
||||
#X floatatom 66 234 5 0 0 0 - - -;
|
||||
#X floatatom 67 195 5 0 0 0 - - -;
|
||||
#X msg 379 150 lookX \$1;
|
||||
#X msg 379 187 lookY \$1;
|
||||
#X msg 379 223 lookZ \$1;
|
||||
#X floatatom 379 134 5 0 0 0 - - -;
|
||||
#X floatatom 379 207 5 0 0 0 - - -;
|
||||
#X floatatom 379 170 5 0 0 0 - - -;
|
||||
#X msg 67 213 distance \$1;
|
||||
#X obj 170 305 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#N canvas 0 22 450 300 gemwin 0;
|
||||
#X obj 132 136 gemwin;
|
||||
#X obj 67 89 outlet;
|
||||
#X obj 67 10 inlet;
|
||||
#X obj 67 41 route create;
|
||||
#X msg 67 70 set destroy;
|
||||
#X msg 142 68 set create;
|
||||
#X msg 198 112 destroy;
|
||||
#X msg 132 112 create \, 1;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 3 0 7 0;
|
||||
#X connect 3 1 5 0;
|
||||
#X connect 3 1 6 0;
|
||||
#X connect 4 0 1 0;
|
||||
#X connect 5 0 1 0;
|
||||
#X connect 6 0 0 0;
|
||||
#X connect 7 0 0 0;
|
||||
#X restore 175 344 pd gemwin;
|
||||
#X msg 175 325 create;
|
||||
#X text 171 304 Create window:;
|
||||
#X connect 1 0 0 0;
|
||||
#X connect 2 0 14 0;
|
||||
#X connect 3 0 13 0;
|
||||
#X connect 4 0 6 0;
|
||||
#X connect 5 0 7 0;
|
||||
#X connect 6 0 0 0;
|
||||
#X connect 7 0 0 0;
|
||||
#X connect 8 0 11 0;
|
||||
#X connect 9 0 10 0;
|
||||
#X connect 10 0 0 0;
|
||||
#X connect 11 0 0 0;
|
||||
#X connect 12 0 0 0;
|
||||
#X connect 13 0 0 0;
|
||||
#X connect 14 0 0 0;
|
||||
#X connect 15 0 0 0;
|
||||
#X connect 16 0 15 0;
|
||||
#X connect 17 0 24 0;
|
||||
#X connect 18 0 0 0;
|
||||
#X connect 19 0 0 0;
|
||||
#X connect 20 0 0 0;
|
||||
#X connect 21 0 18 0;
|
||||
#X connect 22 0 20 0;
|
||||
#X connect 23 0 19 0;
|
||||
#X connect 24 0 0 0;
|
||||
#X connect 26 0 27 0;
|
||||
#X connect 27 0 26 0;
|
|
@ -1,65 +0,0 @@
|
|||
#N canvas 291 154 710 345 10;
|
||||
#X text 33 14 Synopsis: [circle];
|
||||
#X text 54 30 Class: geometric object;
|
||||
#X text 525 29 Example:;
|
||||
#X obj 7 65 cnv 15 450 90 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X text 7 69 Description: Renders a circle.;
|
||||
#X text 16 86 The circle object renders a circle flat disc at the current
|
||||
position with current color. The look of the circle can be changed
|
||||
with the draw message \, its size can be changed via the second inlet.
|
||||
;
|
||||
#X obj 8 216 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X text 9 221 Inlets:;
|
||||
#X obj 8 166 cnv 15 450 40 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#X text 17 165 Arguments:;
|
||||
#X text 27 261 Inlet 2: float: size;
|
||||
#X text 452 8 GEM object;
|
||||
#X text 27 233 Inlet 1: gemlist;
|
||||
#X text 9 280 Outlets:;
|
||||
#X text 21 293 Outlet 1: gemlist;
|
||||
#X text 63 177 size of the circle;
|
||||
#X obj 519 47 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
|
||||
0;
|
||||
#X obj 584 224 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#N canvas 0 0 450 300 gemwin 0;
|
||||
#X obj 132 136 gemwin;
|
||||
#X obj 67 89 outlet;
|
||||
#X obj 67 10 inlet;
|
||||
#X obj 67 41 route create;
|
||||
#X msg 67 70 set destroy;
|
||||
#X msg 142 68 set create;
|
||||
#X msg 198 112 destroy;
|
||||
#X msg 132 112 create \, 1;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 3 0 7 0;
|
||||
#X connect 3 1 5 0;
|
||||
#X connect 3 1 6 0;
|
||||
#X connect 4 0 1 0;
|
||||
#X connect 5 0 1 0;
|
||||
#X connect 6 0 0 0;
|
||||
#X connect 7 0 0 0;
|
||||
#X restore 589 263 pd gemwin;
|
||||
#X msg 589 244 create;
|
||||
#X text 585 223 Create window:;
|
||||
#X obj 525 80 cnv 15 150 100 empty empty empty 20 12 0 14 -24198 -66577
|
||||
0;
|
||||
#X obj 593 159 circle;
|
||||
#X msg 535 95 draw line;
|
||||
#X msg 535 116 draw fill;
|
||||
#X msg 535 138 draw point;
|
||||
#X obj 593 54 gemhead;
|
||||
#X floatatom 626 130 5 0 0 2 size - -;
|
||||
#X text 64 191 default: 1;
|
||||
#X text 27 247 Inlet 1: message: draw [line|fill|point|default];
|
||||
#X connect 18 0 19 0;
|
||||
#X connect 19 0 18 0;
|
||||
#X connect 23 0 22 0;
|
||||
#X connect 24 0 22 0;
|
||||
#X connect 25 0 22 0;
|
||||
#X connect 26 0 22 0;
|
||||
#X connect 27 0 22 1;
|
|
@ -1,62 +0,0 @@
|
|||
#N canvas 48 102 639 342 10;
|
||||
#X text 452 8 GEM object;
|
||||
#X obj 8 196 cnv 15 430 130 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X text 39 198 Inlets:;
|
||||
#X text 63 211 Inlet 1: gemlist;
|
||||
#X text 39 292 Outlets:;
|
||||
#X text 57 305 Outlet 1: gemlist;
|
||||
#X obj 8 146 cnv 15 430 40 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#X text 17 145 Arguments:;
|
||||
#X obj 8 66 cnv 15 430 70 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X obj 449 66 cnv 15 170 200 empty empty empty 20 12 0 14 -228992 -66577
|
||||
0;
|
||||
#X text 453 49 Example:;
|
||||
#X obj 510 183 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#N canvas 0 22 450 300 gemwin 0;
|
||||
#X obj 132 136 gemwin;
|
||||
#X obj 67 89 outlet;
|
||||
#X obj 67 10 inlet;
|
||||
#X obj 67 41 route create;
|
||||
#X msg 67 70 set destroy;
|
||||
#X msg 142 68 set create;
|
||||
#X msg 197 134 destroy;
|
||||
#X msg 132 112 reset \, create \, 1;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 3 0 7 0;
|
||||
#X connect 3 1 5 0;
|
||||
#X connect 3 1 6 0;
|
||||
#X connect 4 0 1 0;
|
||||
#X connect 5 0 1 0;
|
||||
#X connect 6 0 0 0;
|
||||
#X connect 7 0 0 0;
|
||||
#X restore 515 222 pd gemwin;
|
||||
#X msg 515 203 create;
|
||||
#X text 511 182 Create window:;
|
||||
#X text 71 31 Class: manipulation object;
|
||||
#X obj 450 107 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
|
||||
0;
|
||||
#X obj 451 73 gemhead;
|
||||
#X obj 451 182 cube;
|
||||
#X text 62 156 a list of 3 (RGB) or 4 (RGBA) float-values.;
|
||||
#X text 60 171 defaults: 0 0 0 1;
|
||||
#X obj 451 145 color 0 1 0;
|
||||
#X msg 487 116 0 0 1;
|
||||
#X text 63 229 Inlet 2: list: 3(RGB) or 4(RGBA) float values;
|
||||
#X text 22 81 [color] sets the colour of all subsequent shape and vertex
|
||||
operations until reset by another [color]/[colorRGB] object. If you
|
||||
set the alpha-value \, you will need an [alpha] object to enable alpha-blending
|
||||
;
|
||||
#X text 50 12 Synopsis: [color];
|
||||
#X text 29 67 Description: colouring;
|
||||
#X text 449 272 see also:;
|
||||
#X obj 452 301 colorRGB;
|
||||
#X connect 12 0 13 0;
|
||||
#X connect 13 0 12 0;
|
||||
#X connect 17 0 21 0;
|
||||
#X connect 21 0 18 0;
|
||||
#X connect 22 0 21 1;
|
|
@ -1,71 +0,0 @@
|
|||
#N canvas 42 24 639 342 10;
|
||||
#X text 452 8 GEM object;
|
||||
#X obj 8 196 cnv 15 430 130 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X text 39 198 Inlets:;
|
||||
#X text 63 211 Inlet 1: gemlist;
|
||||
#X text 39 292 Outlets:;
|
||||
#X text 57 305 Outlet 1: gemlist;
|
||||
#X obj 8 146 cnv 15 430 40 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#X text 17 145 Arguments:;
|
||||
#X obj 8 66 cnv 15 430 70 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X obj 449 66 cnv 15 170 200 empty empty empty 20 12 0 14 -228992 -66577
|
||||
0;
|
||||
#X text 453 49 Example:;
|
||||
#X obj 514 190 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#N canvas 0 22 450 300 gemwin 0;
|
||||
#X obj 132 136 gemwin;
|
||||
#X obj 67 89 outlet;
|
||||
#X obj 67 10 inlet;
|
||||
#X obj 67 41 route create;
|
||||
#X msg 67 70 set destroy;
|
||||
#X msg 142 68 set create;
|
||||
#X msg 197 134 destroy;
|
||||
#X msg 132 112 reset \, create \, 1;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 3 0 7 0;
|
||||
#X connect 3 1 5 0;
|
||||
#X connect 3 1 6 0;
|
||||
#X connect 4 0 1 0;
|
||||
#X connect 5 0 1 0;
|
||||
#X connect 6 0 0 0;
|
||||
#X connect 7 0 0 0;
|
||||
#X restore 519 229 pd gemwin;
|
||||
#X msg 519 210 create;
|
||||
#X text 515 189 Create window:;
|
||||
#X text 71 31 Class: manipulation object;
|
||||
#X obj 450 107 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
|
||||
0;
|
||||
#X obj 451 73 gemhead;
|
||||
#X obj 451 182 cube;
|
||||
#X text 62 156 a list of 3 (RGB) or 4 (RGBA) float-values.;
|
||||
#X text 63 229 Inlet 2: float: red value;
|
||||
#X text 63 244 Inlet 3: float: green value;
|
||||
#X text 63 259 Inlet 4: float: blue value;
|
||||
#X text 63 274 Inlet 5: float: alpha value;
|
||||
#X floatatom 479 111 3 0 1 0 - - -;
|
||||
#X floatatom 508 111 3 0 1 0 - - -;
|
||||
#X floatatom 536 111 3 0 1 0 - - -;
|
||||
#X floatatom 565 111 3 0 1 0 - - -;
|
||||
#X text 60 171 defaults: 0 0 0 1;
|
||||
#X text 50 12 Synopsis: [colorRGB];
|
||||
#X obj 451 145 colorRGB 0 1 0;
|
||||
#X text 29 67 Description: colouring;
|
||||
#X text 22 81 [colorRGB] sets the colour of all subsequent shape and
|
||||
vertex operations until reset by another [color]/[colorRGB] object.
|
||||
If you set the alpha-value \, you will need an [alpha] object to enable
|
||||
alpha-blending;
|
||||
#X text 447 272 see also:;
|
||||
#X obj 449 297 color;
|
||||
#X connect 12 0 13 0;
|
||||
#X connect 13 0 12 0;
|
||||
#X connect 17 0 30 0;
|
||||
#X connect 24 0 30 1;
|
||||
#X connect 25 0 30 2;
|
||||
#X connect 26 0 30 3;
|
||||
#X connect 27 0 30 4;
|
||||
#X connect 30 0 18 0;
|
|
@ -1,82 +0,0 @@
|
|||
#N canvas 130 41 696 468 10;
|
||||
#X text 54 30 Class: geometric object;
|
||||
#X obj 479 107 cnv 15 200 250 empty empty empty 20 12 0 14 -228992
|
||||
-66577 0;
|
||||
#X obj 494 284 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#N canvas 0 0 450 300 gemwin 0;
|
||||
#X obj 132 136 gemwin;
|
||||
#X obj 67 89 outlet;
|
||||
#X obj 67 10 inlet;
|
||||
#X obj 67 41 route create;
|
||||
#X msg 67 70 set destroy;
|
||||
#X msg 142 68 set create;
|
||||
#X msg 198 112 destroy;
|
||||
#X msg 132 112 create \, 1;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 3 0 7 0;
|
||||
#X connect 3 1 5 0;
|
||||
#X connect 3 1 6 0;
|
||||
#X connect 4 0 1 0;
|
||||
#X connect 5 0 1 0;
|
||||
#X connect 6 0 0 0;
|
||||
#X connect 7 0 0 0;
|
||||
#X restore 499 323 pd gemwin;
|
||||
#X msg 499 304 create;
|
||||
#X text 495 283 Create window:;
|
||||
#X obj 7 65 cnv 15 450 80 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X obj 8 196 cnv 15 450 200 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X text 9 201 Inlets:;
|
||||
#X obj 8 156 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#X text 17 155 Arguments:;
|
||||
#X text 27 227 Inlet 1: message: draw [line|fill|point];
|
||||
#X text 27 241 Inlet 2: float: size;
|
||||
#X text 452 8 GEM object;
|
||||
#X text 27 213 Inlet 1: gemlist;
|
||||
#X text 9 350 Outlets:;
|
||||
#X text 21 363 Outlet 1: gemlist;
|
||||
#X text 485 89 Example:;
|
||||
#X obj 482 137 cnv 15 190 110 empty empty empty 20 12 0 14 -81876 -66577
|
||||
0;
|
||||
#X text 33 14 Synopsis: [colorSquare];
|
||||
#X obj 534 252 cnv 15 100 30 empty empty empty 20 12 0 14 -24198 -66577
|
||||
0;
|
||||
#X msg 485 145 draw line;
|
||||
#X msg 485 166 draw fill;
|
||||
#X msg 485 188 draw point;
|
||||
#X obj 543 114 gemhead;
|
||||
#X floatatom 557 143 5 0 0 1 size - -;
|
||||
#X text 7 69 Description: Renders a square with several colors.;
|
||||
#X text 63 166 size of the square;
|
||||
#X obj 543 259 colorSquare;
|
||||
#X msg 615 222 1 1 0;
|
||||
#X msg 600 203 0 0 1;
|
||||
#X msg 586 184 0 1 0;
|
||||
#X msg 571 165 1 0 0;
|
||||
#X text 27 268 Inlet 3: list: 3(RGB) float values for the lowerleft
|
||||
corner;
|
||||
#X text 27 285 Inlet 4: list: 3(RGB) float values for the lowerright
|
||||
corner;
|
||||
#X text 27 305 Inlet 5: list: 3(RGB) float values for the upperright
|
||||
corner;
|
||||
#X text 27 322 Inlet 6: list: 3(RGB) float values for the upperleft
|
||||
corner;
|
||||
#X text 16 86 The colorSquare object renders a square at the current
|
||||
position. The size of the square can be changed via the second inlet.
|
||||
The colors of the 4 corners can be specified separately and are drawn
|
||||
as gradients.;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 4 0 3 0;
|
||||
#X connect 21 0 28 0;
|
||||
#X connect 22 0 28 0;
|
||||
#X connect 23 0 28 0;
|
||||
#X connect 24 0 28 0;
|
||||
#X connect 25 0 28 1;
|
||||
#X connect 29 0 28 5;
|
||||
#X connect 30 0 28 4;
|
||||
#X connect 31 0 28 3;
|
||||
#X connect 32 0 28 2;
|
|
@ -1,69 +0,0 @@
|
|||
#N canvas 290 157 710 345 10;
|
||||
#X text 54 30 Class: geometric object;
|
||||
#X obj 479 47 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
|
||||
0;
|
||||
#X obj 544 224 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#N canvas 0 0 450 300 gemwin 0;
|
||||
#X obj 132 136 gemwin;
|
||||
#X obj 67 89 outlet;
|
||||
#X obj 67 10 inlet;
|
||||
#X obj 67 41 route create;
|
||||
#X msg 67 70 set destroy;
|
||||
#X msg 142 68 set create;
|
||||
#X msg 198 112 destroy;
|
||||
#X msg 132 112 create \, 1;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 3 0 7 0;
|
||||
#X connect 3 1 5 0;
|
||||
#X connect 3 1 6 0;
|
||||
#X connect 4 0 1 0;
|
||||
#X connect 5 0 1 0;
|
||||
#X connect 6 0 0 0;
|
||||
#X connect 7 0 0 0;
|
||||
#X restore 549 263 pd gemwin;
|
||||
#X msg 549 244 create;
|
||||
#X text 545 223 Create window:;
|
||||
#X text 485 29 Example:;
|
||||
#X obj 7 65 cnv 15 450 80 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X obj 8 216 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X text 9 221 Inlets:;
|
||||
#X obj 8 146 cnv 15 450 50 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#X text 17 145 Arguments:;
|
||||
#X text 27 261 Inlet 2: float: size;
|
||||
#X text 452 8 GEM object;
|
||||
#X text 27 233 Inlet 1: gemlist;
|
||||
#X text 9 287 Outlets:;
|
||||
#X text 21 300 Outlet 1: gemlist;
|
||||
#X text 33 14 Synopsis: [cone];
|
||||
#X text 7 69 Description: Renders a cone.;
|
||||
#X text 14 86 The cone object renders a cone at the current position
|
||||
with current color. The look of the cone can be changed with the draw
|
||||
message \, its size can be changed via the second inlet.;
|
||||
#X obj 542 130 cnv 15 100 80 empty empty empty 20 12 0 14 -24198 -66577
|
||||
0;
|
||||
#X msg 485 65 draw line;
|
||||
#X msg 485 86 draw fill;
|
||||
#X msg 485 108 draw point;
|
||||
#X obj 553 54 gemhead;
|
||||
#X floatatom 569 144 5 0 0 2 size - -;
|
||||
#X obj 553 79 rotateXYZ 90 0 0;
|
||||
#X floatatom 586 171 5 0 0 2 segments - -;
|
||||
#X text 27 272 Inlet 3: int: number of segments;
|
||||
#X obj 553 189 cone 1;
|
||||
#X text 64 180 defaults: 1 10;
|
||||
#X text 63 162 size of the cone \, number of segments;
|
||||
#X text 27 247 Inlet 1: message: draw [line|fill|point|default];
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 4 0 3 0;
|
||||
#X connect 21 0 29 0;
|
||||
#X connect 22 0 29 0;
|
||||
#X connect 23 0 29 0;
|
||||
#X connect 24 0 26 0;
|
||||
#X connect 25 0 29 1;
|
||||
#X connect 26 0 29 0;
|
||||
#X connect 27 0 29 2;
|
|
@ -1,64 +0,0 @@
|
|||
#N canvas 289 160 710 345 10;
|
||||
#X text 54 30 Class: geometric object;
|
||||
#X obj 519 47 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
|
||||
0;
|
||||
#X obj 584 224 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#N canvas 0 0 450 300 gemwin 0;
|
||||
#X obj 132 136 gemwin;
|
||||
#X obj 67 89 outlet;
|
||||
#X obj 67 10 inlet;
|
||||
#X obj 67 41 route create;
|
||||
#X msg 67 70 set destroy;
|
||||
#X msg 142 68 set create;
|
||||
#X msg 198 112 destroy;
|
||||
#X msg 132 112 create \, 1;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 3 0 7 0;
|
||||
#X connect 3 1 5 0;
|
||||
#X connect 3 1 6 0;
|
||||
#X connect 4 0 1 0;
|
||||
#X connect 5 0 1 0;
|
||||
#X connect 6 0 0 0;
|
||||
#X connect 7 0 0 0;
|
||||
#X restore 589 263 pd gemwin;
|
||||
#X msg 589 244 create;
|
||||
#X text 585 223 Create window:;
|
||||
#X obj 7 65 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X obj 8 216 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X text 9 221 Inlets:;
|
||||
#X obj 8 176 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#X text 17 175 Arguments:;
|
||||
#X text 27 247 Inlet 1: message: draw [line|fill|point];
|
||||
#X text 27 261 Inlet 2: float: size;
|
||||
#X text 452 8 GEM object;
|
||||
#X text 27 233 Inlet 1: gemlist;
|
||||
#X text 9 280 Outlets:;
|
||||
#X text 21 293 Outlet 1: gemlist;
|
||||
#X text 33 14 Synopsis: [cube];
|
||||
#X text 7 69 Description: Renders a cube.;
|
||||
#X text 63 186 size of the cube;
|
||||
#X text 16 86 The cube object renders a cube at the current position
|
||||
with current color. The size of the cube can be changed via the second
|
||||
inlet.;
|
||||
#X text 525 29 Example:;
|
||||
#X obj 522 78 cnv 15 150 100 empty empty empty 20 12 0 14 -24198 -66577
|
||||
0;
|
||||
#X msg 525 128 draw point;
|
||||
#X obj 593 54 gemhead;
|
||||
#X floatatom 624 114 5 0 0 0 - - -;
|
||||
#X text 624 98 size;
|
||||
#X obj 593 159 cube;
|
||||
#X msg 525 106 draw line;
|
||||
#X msg 525 85 draw default;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 4 0 3 0;
|
||||
#X connect 23 0 27 0;
|
||||
#X connect 24 0 27 0;
|
||||
#X connect 25 0 27 1;
|
||||
#X connect 28 0 27 0;
|
||||
#X connect 29 0 27 0;
|
|
@ -1,73 +0,0 @@
|
|||
#N canvas 289 160 710 363 10;
|
||||
#X text 54 30 Class: geometric object;
|
||||
#X obj 519 47 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
|
||||
0;
|
||||
#X obj 584 224 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#N canvas 0 0 450 300 gemwin 0;
|
||||
#X obj 132 136 gemwin;
|
||||
#X obj 67 89 outlet;
|
||||
#X obj 67 10 inlet;
|
||||
#X obj 67 41 route create;
|
||||
#X msg 67 70 set destroy;
|
||||
#X msg 142 68 set create;
|
||||
#X msg 198 112 destroy;
|
||||
#X msg 132 112 create \, 1;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 3 0 7 0;
|
||||
#X connect 3 1 5 0;
|
||||
#X connect 3 1 6 0;
|
||||
#X connect 4 0 1 0;
|
||||
#X connect 5 0 1 0;
|
||||
#X connect 6 0 0 0;
|
||||
#X connect 7 0 0 0;
|
||||
#X restore 589 263 pd gemwin;
|
||||
#X msg 589 244 create;
|
||||
#X text 585 223 Create window:;
|
||||
#X text 525 29 Example:;
|
||||
#X obj 7 65 cnv 15 450 80 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X obj 8 216 cnv 15 450 130 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X text 9 221 Inlets:;
|
||||
#X obj 8 156 cnv 15 450 50 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#X text 17 155 Arguments:;
|
||||
#X text 27 247 Inlet 1: message: draw [line|fill|point];
|
||||
#X text 452 8 GEM object;
|
||||
#X text 27 233 Inlet 1: gemlist;
|
||||
#X text 9 310 Outlets:;
|
||||
#X text 21 323 Outlet 1: gemlist;
|
||||
#X obj 522 82 cnv 15 160 120 empty empty empty 20 12 0 14 -24198 -66577
|
||||
0;
|
||||
#X msg 525 95 draw line;
|
||||
#X msg 525 116 draw fill;
|
||||
#X msg 525 138 draw point;
|
||||
#X obj 593 54 gemhead;
|
||||
#X floatatom 605 104 5 0 0 0 - - -;
|
||||
#X obj 593 179 cuboid;
|
||||
#X floatatom 617 134 5 0 0 0 - - -;
|
||||
#X floatatom 630 162 5 0 0 0 - - -;
|
||||
#X text 605 88 length;
|
||||
#X text 617 118 height;
|
||||
#X text 630 146 depth;
|
||||
#X text 63 167 dimensions of the cuboid (length width height);
|
||||
#X text 7 69 Description: Renders a cuboid box.;
|
||||
#X text 16 86 The cuboid object renders a cuboid (box) at the current
|
||||
position with current color. The dimensions of the cuboid can be changed
|
||||
via the last three inlets.;
|
||||
#X text 33 14 Synopsis: [cuboid];
|
||||
#X text 27 260 Inlet 2: float: length (dimX);
|
||||
#X text 27 275 Inlet 3: float: height (dimY);
|
||||
#X text 27 289 Inlet 4: float: depth (dimZ);
|
||||
#X text 65 181 default: 1 1 0;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 4 0 3 0;
|
||||
#X connect 18 0 23 0;
|
||||
#X connect 19 0 23 0;
|
||||
#X connect 20 0 23 0;
|
||||
#X connect 21 0 23 0;
|
||||
#X connect 22 0 23 1;
|
||||
#X connect 24 0 23 2;
|
||||
#X connect 25 0 23 3;
|
|
@ -1,112 +0,0 @@
|
|||
#N canvas 65 18 762 461 10;
|
||||
#X text 54 30 Class: geometric object;
|
||||
#X text 475 39 Example:;
|
||||
#X obj 7 65 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X obj 8 216 cnv 15 450 180 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X text 9 221 Inlets:;
|
||||
#X obj 8 176 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#X text 17 175 Arguments:;
|
||||
#X text 452 8 GEM object;
|
||||
#X text 27 233 Inlet 1: gemlist;
|
||||
#X text 9 358 Outlets:;
|
||||
#X text 21 371 Outlet 1: gemlist;
|
||||
#X obj 469 58 cnv 15 200 295 empty empty empty 20 12 0 14 -228992 -66577
|
||||
0;
|
||||
#X obj 568 359 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#N canvas 0 0 450 300 gemwin 0;
|
||||
#X obj 132 136 gemwin;
|
||||
#X obj 67 89 outlet;
|
||||
#X obj 67 10 inlet;
|
||||
#X obj 67 41 route create;
|
||||
#X msg 67 70 set destroy;
|
||||
#X msg 142 68 set create;
|
||||
#X msg 132 112 create \, 1;
|
||||
#X msg 198 112 destroy \, reset;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 3 0 6 0;
|
||||
#X connect 3 1 5 0;
|
||||
#X connect 3 1 7 0;
|
||||
#X connect 4 0 1 0;
|
||||
#X connect 5 0 1 0;
|
||||
#X connect 6 0 0 0;
|
||||
#X connect 7 0 0 0;
|
||||
#X restore 573 398 pd gemwin;
|
||||
#X msg 573 379 create;
|
||||
#X text 569 358 Create window:;
|
||||
#X obj 474 112 cnv 15 190 200 empty empty empty 20 12 0 14 -85973 -66577
|
||||
0;
|
||||
#X obj 521 319 cnv 15 100 30 empty empty empty 20 12 0 14 -24198 -66577
|
||||
0;
|
||||
#X text 21 138 Each (additional) inlet will accept an X Y Z point which
|
||||
is where the control point will be.;
|
||||
#X text 28 323 Inlet 2: list: 3(XYZ) float values;
|
||||
#X text 28 344 Inlet N: list: 3(XYZ) float values;
|
||||
#X text 52 330 ...;
|
||||
#X text 33 14 Synopsis: [curve];
|
||||
#X text 7 69 Description: Renders a bezier-curve;
|
||||
#X text 63 187 number of control-points of the curve (mandatory);
|
||||
#X text 27 247 Inlet 1: message: draw [line|linestrip|fill|point|tri|tristrip|trifan|quad|quadstrip]
|
||||
;
|
||||
#X text 22 88 [curve] creates a bezier curve. The initial argument
|
||||
is the number of control-points of the curve. There is no maximum number
|
||||
of control-points.;
|
||||
#X text 27 306 Inlet 1: message: res <int> : interpolation-resolution(30)
|
||||
;
|
||||
#X text 27 293 Inlet 1: message: width <int> : line-width(1);
|
||||
#X obj 596 233 cnv 15 65 75 empty empty empty 20 12 0 14 -24198 -66577
|
||||
0;
|
||||
#X msg 479 163 draw line;
|
||||
#X msg 479 118 draw fill;
|
||||
#X msg 479 140 draw point;
|
||||
#X obj 537 64 gemhead;
|
||||
#X msg 585 115 1 1 0;
|
||||
#X msg 593 135 1 -1 0;
|
||||
#X floatatom 605 196 5 0 0 0 - - -;
|
||||
#X msg 603 175 -2 1 0;
|
||||
#X msg 599 155 -1 -1 -3;
|
||||
#X msg 479 183 draw linestrip;
|
||||
#X msg 479 203 draw tri;
|
||||
#X msg 479 225 draw tristrip;
|
||||
#X msg 478 248 draw trifan;
|
||||
#X msg 478 269 draw quad;
|
||||
#X msg 478 291 draw quadstrip;
|
||||
#X obj 537 88 rotateXYZ;
|
||||
#X floatatom 595 65 5 0 0 0 - - -;
|
||||
#X obj 537 326 curve 5;
|
||||
#X obj 608 89 loadbang;
|
||||
#X floatatom 599 237 5 0 10 0 - - -;
|
||||
#X msg 599 253 width \$1;
|
||||
#X floatatom 600 274 5 0 100 0 - - -;
|
||||
#X msg 600 291 res \$1;
|
||||
#X msg 605 213 \$1 \$1 \$1;
|
||||
#X connect 13 0 14 0;
|
||||
#X connect 14 0 13 0;
|
||||
#X connect 30 0 47 0;
|
||||
#X connect 31 0 47 0;
|
||||
#X connect 32 0 47 0;
|
||||
#X connect 33 0 45 0;
|
||||
#X connect 34 0 47 1;
|
||||
#X connect 35 0 47 2;
|
||||
#X connect 36 0 53 0;
|
||||
#X connect 37 0 47 4;
|
||||
#X connect 38 0 47 3;
|
||||
#X connect 39 0 47 0;
|
||||
#X connect 40 0 47 0;
|
||||
#X connect 41 0 47 0;
|
||||
#X connect 42 0 47 0;
|
||||
#X connect 43 0 47 0;
|
||||
#X connect 44 0 47 0;
|
||||
#X connect 45 0 47 0;
|
||||
#X connect 46 0 45 1;
|
||||
#X connect 46 0 45 3;
|
||||
#X connect 48 0 34 0;
|
||||
#X connect 49 0 50 0;
|
||||
#X connect 50 0 47 0;
|
||||
#X connect 51 0 52 0;
|
||||
#X connect 52 0 47 0;
|
||||
#X connect 53 0 47 5;
|
|
@ -1,70 +0,0 @@
|
|||
#N canvas 291 154 710 345 10;
|
||||
#X text 54 30 Class: geometric object;
|
||||
#X obj 479 47 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
|
||||
0;
|
||||
#X obj 544 224 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#N canvas 0 0 450 300 gemwin 0;
|
||||
#X obj 132 136 gemwin;
|
||||
#X obj 67 89 outlet;
|
||||
#X obj 67 10 inlet;
|
||||
#X obj 67 41 route create;
|
||||
#X msg 67 70 set destroy;
|
||||
#X msg 142 68 set create;
|
||||
#X msg 198 112 destroy;
|
||||
#X msg 132 112 create \, 1;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 3 0 7 0;
|
||||
#X connect 3 1 5 0;
|
||||
#X connect 3 1 6 0;
|
||||
#X connect 4 0 1 0;
|
||||
#X connect 5 0 1 0;
|
||||
#X connect 6 0 0 0;
|
||||
#X connect 7 0 0 0;
|
||||
#X restore 549 263 pd gemwin;
|
||||
#X msg 549 244 create;
|
||||
#X text 545 223 Create window:;
|
||||
#X text 485 29 Example:;
|
||||
#X obj 7 65 cnv 15 450 80 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X obj 8 216 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X text 9 221 Inlets:;
|
||||
#X obj 8 156 cnv 15 450 50 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#X text 17 155 Arguments:;
|
||||
#X text 27 261 Inlet 2: float: size;
|
||||
#X text 452 8 GEM object;
|
||||
#X text 27 233 Inlet 1: gemlist;
|
||||
#X text 9 287 Outlets:;
|
||||
#X text 21 300 Outlet 1: gemlist;
|
||||
#X obj 546 130 cnv 15 100 80 empty empty empty 20 12 0 14 -24198 -66577
|
||||
0;
|
||||
#X msg 485 65 draw line;
|
||||
#X msg 485 86 draw fill;
|
||||
#X msg 485 108 draw point;
|
||||
#X obj 553 54 gemhead;
|
||||
#X floatatom 575 144 5 0 0 2 size - -;
|
||||
#X obj 553 79 rotateXYZ 90 0 0;
|
||||
#X floatatom 598 172 3 0 0 2 segments - -;
|
||||
#X text 27 272 Inlet 3: int: number of segments;
|
||||
#X text 33 14 Synopsis: [cylinder];
|
||||
#X obj 553 189 cylinder;
|
||||
#X text 7 69 Description: Renders a cylinder.;
|
||||
#X text 14 86 The cylinder object renders a cylinder at the current
|
||||
position with current color. The look of the cylinder can be changed
|
||||
with the draw message \, its size can be changed via the second inlet.
|
||||
;
|
||||
#X text 63 167 size of the cylinder \, segments;
|
||||
#X text 63 182 defaults: 1 \, 10;
|
||||
#X text 27 247 Inlet 1: message: draw [line|fill|point|default];
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 4 0 3 0;
|
||||
#X connect 18 0 27 0;
|
||||
#X connect 19 0 27 0;
|
||||
#X connect 20 0 27 0;
|
||||
#X connect 21 0 23 0;
|
||||
#X connect 22 0 27 1;
|
||||
#X connect 23 0 27 0;
|
||||
#X connect 24 0 27 2;
|
|
@ -1,85 +0,0 @@
|
|||
#N canvas 15 24 724 431 10;
|
||||
#X obj 17 299 cnv 15 430 90 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X text 28 302 Inlets:;
|
||||
#X text 28 339 Outlets:;
|
||||
#X obj 17 264 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#X text 26 263 Arguments:;
|
||||
#X obj 17 69 cnv 15 430 190 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X text 46 352 Outlet 1: gemlist;
|
||||
#X text 52 316 Inlet 1: gemlist;
|
||||
#X text 466 15 GEM object;
|
||||
#X obj 459 77 cnv 15 250 300 empty empty empty 20 12 0 14 -228992 -66577
|
||||
0;
|
||||
#X text 463 60 Example:;
|
||||
#X obj 604 313 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#N canvas 16 419 450 300 gemwin 0;
|
||||
#X obj 132 136 gemwin;
|
||||
#X obj 67 89 outlet;
|
||||
#X obj 67 10 inlet;
|
||||
#X obj 67 41 route create;
|
||||
#X msg 67 70 set destroy;
|
||||
#X msg 142 68 set create;
|
||||
#X msg 268 112 destroy;
|
||||
#X msg 132 112 create \, 1;
|
||||
#X obj 264 174 gemhead;
|
||||
#X obj 264 200 world_light;
|
||||
#X obj 238 68 r \$0-gemwin;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 3 0 7 0;
|
||||
#X connect 3 1 5 0;
|
||||
#X connect 3 1 6 0;
|
||||
#X connect 4 0 1 0;
|
||||
#X connect 5 0 1 0;
|
||||
#X connect 6 0 0 0;
|
||||
#X connect 7 0 0 0;
|
||||
#X connect 8 0 9 0;
|
||||
#X connect 10 0 0 0;
|
||||
#X restore 609 352 pd gemwin;
|
||||
#X msg 609 333 create;
|
||||
#X text 605 312 Create window:;
|
||||
#X obj 460 106 cnv 15 240 90 empty empty empty 20 12 0 14 -24198 -66577
|
||||
0;
|
||||
#X obj 461 84 gemhead 51;
|
||||
#X obj 461 172 depth;
|
||||
#X text 60 22 Synopsis: [depth];
|
||||
#X text 81 41 Class: manips object;
|
||||
#X text 27 72 Description: Activate / Deactivate depth test;
|
||||
#X text 26 93 [depth] turns on and off depth test (also known as Z-buffering).
|
||||
This is very useful if you are in single-buffer mode \, because then
|
||||
a painting effect can be achieved. In double-buffered mode \, you probably
|
||||
do not want to turn off the depth test \, unless you have taken control
|
||||
of the rendering order by setting the priority of each gemhead (see
|
||||
the gemhead example for explanation).;
|
||||
#X obj 496 114 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
|
||||
1;
|
||||
#X text 26 189 By default \, this object will turn OFF depth buffering
|
||||
for the objects "below".;
|
||||
#X text 72 274 float (0/1) : depth test on/off;
|
||||
#X text 52 329 Inlet 1: float (0/1) : depth test on/off;
|
||||
#X obj 461 293 cube;
|
||||
#X obj 461 260 rotateXYZ 0 30 30;
|
||||
#X floatatom 560 239 5 0 0 0 - - -;
|
||||
#X floatatom 494 202 5 0 0 0 - - -;
|
||||
#X floatatom 527 218 5 0 0 0 - - -;
|
||||
#X obj 607 210 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
|
||||
1;
|
||||
#X msg 607 229 lighting \$1;
|
||||
#X obj 607 252 s \$0-gemwin;
|
||||
#X text 630 210 lighting;
|
||||
#X text 516 113 turn depth test on/off;
|
||||
#X connect 12 0 13 0;
|
||||
#X connect 13 0 12 0;
|
||||
#X connect 16 0 17 0;
|
||||
#X connect 17 0 27 0;
|
||||
#X connect 22 0 17 0;
|
||||
#X connect 27 0 26 0;
|
||||
#X connect 28 0 27 3;
|
||||
#X connect 29 0 27 1;
|
||||
#X connect 30 0 27 2;
|
||||
#X connect 31 0 32 0;
|
||||
#X connect 32 0 33 0;
|
|
@ -1,68 +0,0 @@
|
|||
#N canvas 61 22 630 385 10;
|
||||
#X text 452 8 GEM object;
|
||||
#X obj 8 196 cnv 15 430 180 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X text 34 198 Inlets:;
|
||||
#X text 58 211 Inlet 1: gemlist;
|
||||
#X text 34 252 Outlets:;
|
||||
#X text 52 265 Outlet 1: gemlist;
|
||||
#X obj 8 146 cnv 15 430 40 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#X text 17 145 Arguments:;
|
||||
#X obj 8 76 cnv 15 430 60 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
|
||||
0;
|
||||
#X text 453 60 Example:;
|
||||
#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#N canvas 0 22 450 300 gemwin 0;
|
||||
#X obj 132 136 gemwin;
|
||||
#X obj 67 89 outlet;
|
||||
#X obj 67 10 inlet;
|
||||
#X obj 67 41 route create;
|
||||
#X msg 67 70 set destroy;
|
||||
#X msg 142 68 set create;
|
||||
#X msg 197 134 destroy;
|
||||
#X msg 132 112 reset \, lighting 1 \, create \, 1;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 3 0 7 0;
|
||||
#X connect 3 1 5 0;
|
||||
#X connect 3 1 6 0;
|
||||
#X connect 4 0 1 0;
|
||||
#X connect 5 0 1 0;
|
||||
#X connect 6 0 0 0;
|
||||
#X connect 7 0 0 0;
|
||||
#X restore 519 293 pd gemwin;
|
||||
#X msg 519 274 create;
|
||||
#X text 515 253 Create window:;
|
||||
#X text 71 31 Class: manipulation object;
|
||||
#X obj 450 118 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
|
||||
0;
|
||||
#X obj 451 84 gemhead;
|
||||
#X obj 451 193 cube;
|
||||
#X obj 500 192 gemhead;
|
||||
#X obj 500 230 world_light;
|
||||
#X text 62 156 a list of 3 (RGB) or 4 (RGBA) float-values.;
|
||||
#X msg 478 130 0.4 0.8 1;
|
||||
#X text 58 229 Inlet 2: list: 3(RGB) or 4(RGBA) float values;
|
||||
#X text 50 12 Synopsis: [diffuse];
|
||||
#X text 29 77 Description: diffuse colouring;
|
||||
#X text 61 170 defaults: 0.8 0.8 0.8 1;
|
||||
#X text 22 91 [diffuse] accepts a gemList and sets the diffuse-color
|
||||
for all subsequent vertex-operations. You have to enable lighting to
|
||||
see any effects.;
|
||||
#X floatatom 561 190 5 0 0 0 - - -;
|
||||
#X obj 500 211 rotate 66 1 0 0;
|
||||
#X obj 451 156 diffuse 0 1 0;
|
||||
#X obj 451 355 diffuseRGB;
|
||||
#X text 448 332 see also:;
|
||||
#X connect 12 0 13 0;
|
||||
#X connect 13 0 12 0;
|
||||
#X connect 17 0 30 0;
|
||||
#X connect 19 0 29 0;
|
||||
#X connect 22 0 30 1;
|
||||
#X connect 28 0 29 1;
|
||||
#X connect 29 0 20 0;
|
||||
#X connect 30 0 18 0;
|
|
@ -1,75 +0,0 @@
|
|||
#N canvas 61 22 632 388 10;
|
||||
#X text 452 8 GEM object;
|
||||
#X obj 8 196 cnv 15 430 180 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X text 39 198 Inlets:;
|
||||
#X text 63 211 Inlet 1: gemlist;
|
||||
#X text 39 292 Outlets:;
|
||||
#X text 57 305 Outlet 1: gemlist;
|
||||
#X obj 8 146 cnv 15 430 40 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#X text 17 145 Arguments:;
|
||||
#X obj 8 76 cnv 15 430 60 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
|
||||
0;
|
||||
#X text 453 60 Example:;
|
||||
#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#N canvas 0 22 450 300 gemwin 0;
|
||||
#X obj 132 136 gemwin;
|
||||
#X obj 67 89 outlet;
|
||||
#X obj 67 10 inlet;
|
||||
#X obj 67 41 route create;
|
||||
#X msg 67 70 set destroy;
|
||||
#X msg 142 68 set create;
|
||||
#X msg 197 134 destroy;
|
||||
#X msg 132 112 reset \, lighting 1 \, create \, 1;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 3 0 7 0;
|
||||
#X connect 3 1 5 0;
|
||||
#X connect 3 1 6 0;
|
||||
#X connect 4 0 1 0;
|
||||
#X connect 5 0 1 0;
|
||||
#X connect 6 0 0 0;
|
||||
#X connect 7 0 0 0;
|
||||
#X restore 519 293 pd gemwin;
|
||||
#X msg 519 274 create;
|
||||
#X text 515 253 Create window:;
|
||||
#X text 71 31 Class: manipulation object;
|
||||
#X obj 450 118 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
|
||||
0;
|
||||
#X obj 451 84 gemhead;
|
||||
#X obj 451 193 cube;
|
||||
#X obj 500 192 gemhead;
|
||||
#X obj 500 230 world_light;
|
||||
#X text 62 156 a list of 3 (RGB) or 4 (RGBA) float-values.;
|
||||
#X text 63 229 Inlet 2: float: red value;
|
||||
#X text 63 244 Inlet 3: float: green value;
|
||||
#X text 63 259 Inlet 4: float: blue value;
|
||||
#X text 63 274 Inlet 5: float: alpha value;
|
||||
#X floatatom 477 122 3 0 1 0 - - -;
|
||||
#X floatatom 504 122 3 0 1 0 - - -;
|
||||
#X floatatom 531 122 3 0 1 0 - - -;
|
||||
#X floatatom 558 122 3 0 1 0 - - -;
|
||||
#X text 50 12 Synopsis: [diffuseRGB];
|
||||
#X text 29 77 Description: diffuse colouring;
|
||||
#X text 22 91 [diffuseRGB] accepts a gemList and sets the diffuse-color
|
||||
for all subsequent vertex-operations. You have to enable lighting to
|
||||
see any effects.;
|
||||
#X obj 451 156 diffuseRGB 0 1 0;
|
||||
#X text 60 171 defaults: 0.8 0.8 0.8 1;
|
||||
#X obj 500 211 rotate 63 1 0 0;
|
||||
#X text 447 331 see also:;
|
||||
#X obj 449 353 diffuse;
|
||||
#X connect 12 0 13 0;
|
||||
#X connect 13 0 12 0;
|
||||
#X connect 17 0 33 0;
|
||||
#X connect 19 0 35 0;
|
||||
#X connect 26 0 33 1;
|
||||
#X connect 27 0 33 2;
|
||||
#X connect 28 0 33 3;
|
||||
#X connect 29 0 33 4;
|
||||
#X connect 33 0 18 0;
|
||||
#X connect 35 0 20 0;
|
|
@ -1,72 +0,0 @@
|
|||
#N canvas 291 154 710 345 10;
|
||||
#X text 54 30 Class: geometric object;
|
||||
#X obj 479 47 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
|
||||
0;
|
||||
#X obj 544 224 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#N canvas 0 0 450 300 gemwin 0;
|
||||
#X obj 132 136 gemwin;
|
||||
#X obj 67 89 outlet;
|
||||
#X obj 67 10 inlet;
|
||||
#X obj 67 41 route create;
|
||||
#X msg 67 70 set destroy;
|
||||
#X msg 142 68 set create;
|
||||
#X msg 198 112 destroy;
|
||||
#X msg 132 112 create \, 1;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 3 0 7 0;
|
||||
#X connect 3 1 5 0;
|
||||
#X connect 3 1 6 0;
|
||||
#X connect 4 0 1 0;
|
||||
#X connect 5 0 1 0;
|
||||
#X connect 6 0 0 0;
|
||||
#X connect 7 0 0 0;
|
||||
#X restore 549 263 pd gemwin;
|
||||
#X msg 549 244 create;
|
||||
#X text 545 223 Create window:;
|
||||
#X text 485 29 Example:;
|
||||
#X obj 7 65 cnv 15 450 90 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X obj 8 216 cnv 15 450 120 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X text 9 221 Inlets:;
|
||||
#X obj 8 166 cnv 15 450 40 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#X text 17 165 Arguments:;
|
||||
#X text 452 8 GEM object;
|
||||
#X text 27 233 Inlet 1: gemlist;
|
||||
#X text 9 307 Outlets:;
|
||||
#X text 21 320 Outlet 1: gemlist;
|
||||
#X obj 481 81 cnv 15 160 140 empty empty empty 20 12 0 14 -24198 -66577
|
||||
0;
|
||||
#X msg 485 95 draw line;
|
||||
#X msg 485 116 draw fill;
|
||||
#X msg 485 138 draw point;
|
||||
#X obj 553 54 gemhead;
|
||||
#X floatatom 564 102 5 0 0 1 R - -;
|
||||
#X floatatom 576 122 3 0 0 1 segments - -;
|
||||
#X floatatom 589 147 5 0 0 1 r - -;
|
||||
#X text 27 261 Inlet 2: float: size (= outer radius);
|
||||
#X text 33 14 Synopsis: [disk];
|
||||
#X text 7 69 Description: Renders a disk.;
|
||||
#X text 14 86 The disk object renders a flat disk with a hole in the
|
||||
middle at the current position with current color. The look of the
|
||||
disk can be changed with the draw message \, its size can be changed
|
||||
via the second inlet \, the size of the hole via the third inlet.;
|
||||
#X text 26 286 Inlet 4: float: inner radius (default: 0);
|
||||
#X obj 553 199 disk 1;
|
||||
#X text 27 273 Inlet 3: int: number of segments (default: 10);
|
||||
#X text 28 177 disk size(=outer radius) \, segments \, hole size(=inner
|
||||
radius);
|
||||
#X text 29 191 defaults: 1 \, 10 \, 0;
|
||||
#X text 27 247 Inlet 1: message: draw [line|fill|point|default];
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 4 0 3 0;
|
||||
#X connect 17 0 29 0;
|
||||
#X connect 18 0 29 0;
|
||||
#X connect 19 0 29 0;
|
||||
#X connect 20 0 29 0;
|
||||
#X connect 21 0 29 1;
|
||||
#X connect 22 0 29 2;
|
||||
#X connect 23 0 29 3;
|
|
@ -1,66 +0,0 @@
|
|||
#N canvas 61 22 639 342 10;
|
||||
#X text 452 8 GEM object;
|
||||
#X obj 8 196 cnv 15 430 130 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X text 39 198 Inlets:;
|
||||
#X text 63 211 Inlet 1: gemlist;
|
||||
#X text 39 252 Outlets:;
|
||||
#X text 57 265 Outlet 1: gemlist;
|
||||
#X obj 8 146 cnv 15 430 40 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#X text 17 145 Arguments:;
|
||||
#X obj 8 76 cnv 15 430 60 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X obj 449 77 cnv 15 170 200 empty empty empty 20 12 0 14 -228992 -66577
|
||||
0;
|
||||
#X text 453 60 Example:;
|
||||
#X obj 510 209 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#N canvas 0 22 450 300 gemwin 0;
|
||||
#X obj 132 136 gemwin;
|
||||
#X obj 67 89 outlet;
|
||||
#X obj 67 10 inlet;
|
||||
#X obj 67 41 route create;
|
||||
#X msg 67 70 set destroy;
|
||||
#X msg 142 68 set create;
|
||||
#X msg 197 134 destroy;
|
||||
#X msg 132 112 reset \, lighting 1 \, create \, 1;
|
||||
#X msg 277 206 lighting \$1;
|
||||
#X obj 313 182 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
|
||||
1;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 3 0 7 0;
|
||||
#X connect 3 1 5 0;
|
||||
#X connect 3 1 6 0;
|
||||
#X connect 4 0 1 0;
|
||||
#X connect 5 0 1 0;
|
||||
#X connect 6 0 0 0;
|
||||
#X connect 7 0 0 0;
|
||||
#X connect 8 0 0 0;
|
||||
#X connect 9 0 8 0;
|
||||
#X restore 515 248 pd gemwin;
|
||||
#X msg 515 229 create;
|
||||
#X text 511 208 Create window:;
|
||||
#X text 71 31 Class: manipulation object;
|
||||
#X obj 450 118 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
|
||||
0;
|
||||
#X obj 451 84 gemhead;
|
||||
#X obj 451 193 cube;
|
||||
#X text 62 156 a list of 3 (RGB) or 4 (RGBA) float-values.;
|
||||
#X msg 478 130 0.4 0.8 1;
|
||||
#X text 63 229 Inlet 2: list: 3(RGB) or 4(RGBA) float values;
|
||||
#X text 60 171 defaults: 0 0 0 1;
|
||||
#X text 50 12 Synopsis: [emission];
|
||||
#X obj 451 156 emission 0 1 0;
|
||||
#X text 29 77 Description: emission colouring;
|
||||
#X text 21 91 [emission] accepts a gemList and sets the emission-color
|
||||
for all subsequent vertex-operations. You have to enable lighting to
|
||||
see any effects.;
|
||||
#X text 448 285 see also:;
|
||||
#X obj 450 308 emissionRGB;
|
||||
#X connect 12 0 13 0;
|
||||
#X connect 13 0 12 0;
|
||||
#X connect 17 0 24 0;
|
||||
#X connect 20 0 24 1;
|
||||
#X connect 24 0 18 0;
|
|
@ -1,70 +0,0 @@
|
|||
#N canvas 61 22 639 342 10;
|
||||
#X text 452 8 GEM object;
|
||||
#X obj 8 196 cnv 15 430 130 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X text 39 198 Inlets:;
|
||||
#X text 63 211 Inlet 1: gemlist;
|
||||
#X text 39 292 Outlets:;
|
||||
#X text 57 305 Outlet 1: gemlist;
|
||||
#X obj 8 146 cnv 15 430 40 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#X text 17 145 Arguments:;
|
||||
#X obj 8 76 cnv 15 430 60 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X obj 449 77 cnv 15 170 200 empty empty empty 20 12 0 14 -228992 -66577
|
||||
0;
|
||||
#X text 453 60 Example:;
|
||||
#X obj 509 208 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#N canvas 0 22 450 300 gemwin 0;
|
||||
#X obj 132 136 gemwin;
|
||||
#X obj 67 89 outlet;
|
||||
#X obj 67 10 inlet;
|
||||
#X obj 67 41 route create;
|
||||
#X msg 67 70 set destroy;
|
||||
#X msg 142 68 set create;
|
||||
#X msg 197 134 destroy;
|
||||
#X msg 132 112 reset \, lighting 1 \, create \, 1;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 3 0 7 0;
|
||||
#X connect 3 1 5 0;
|
||||
#X connect 3 1 6 0;
|
||||
#X connect 4 0 1 0;
|
||||
#X connect 5 0 1 0;
|
||||
#X connect 6 0 0 0;
|
||||
#X connect 7 0 0 0;
|
||||
#X restore 514 247 pd gemwin;
|
||||
#X msg 514 228 create;
|
||||
#X text 510 207 Create window:;
|
||||
#X text 71 31 Class: manipulation object;
|
||||
#X obj 450 118 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
|
||||
0;
|
||||
#X obj 451 84 gemhead;
|
||||
#X obj 451 193 cube;
|
||||
#X text 62 156 a list of 3 (RGB) or 4 (RGBA) float-values.;
|
||||
#X text 63 229 Inlet 2: float: red value;
|
||||
#X text 63 244 Inlet 3: float: green value;
|
||||
#X text 63 259 Inlet 4: float: blue value;
|
||||
#X text 63 274 Inlet 5: float: alpha value;
|
||||
#X floatatom 479 122 3 0 1 0 - - -;
|
||||
#X floatatom 508 122 3 0 1 0 - - -;
|
||||
#X floatatom 536 122 3 0 1 0 - - -;
|
||||
#X floatatom 565 122 3 0 1 0 - - -;
|
||||
#X obj 451 156 emissionRGB 0 1 0;
|
||||
#X text 60 171 defaults: 0 0 0 1;
|
||||
#X text 29 77 Description: emission colouring;
|
||||
#X text 50 12 Synopsis: [emissionRGB];
|
||||
#X text 22 91 [emissionRGB] accepts a gemList and sets the emission-color
|
||||
for all subsequent vertex-operations. You have to enable lighting to
|
||||
see any effects.;
|
||||
#X text 449 284 see also:;
|
||||
#X obj 451 307 emission;
|
||||
#X connect 12 0 13 0;
|
||||
#X connect 13 0 12 0;
|
||||
#X connect 17 0 28 0;
|
||||
#X connect 24 0 28 1;
|
||||
#X connect 25 0 28 2;
|
||||
#X connect 26 0 28 3;
|
||||
#X connect 27 0 28 4;
|
||||
#X connect 28 0 18 0;
|
|
@ -1,86 +0,0 @@
|
|||
#N canvas 35 199 694 458 10;
|
||||
#X text 452 8 GEM object;
|
||||
#X obj 8 335 cnv 15 430 80 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X text 11 334 Inlets:;
|
||||
#X text 10 386 Outlets:;
|
||||
#X obj 8 296 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#X text 17 295 Arguments:;
|
||||
#X obj 7 76 cnv 15 430 210 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X obj 444 77 cnv 15 200 230 empty empty empty 20 12 0 14 -228992 -66577
|
||||
0;
|
||||
#X text 453 60 Example:;
|
||||
#X obj 474 334 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#N canvas 0 0 450 300 gemwin 0;
|
||||
#X obj 132 136 gemwin;
|
||||
#X obj 67 89 outlet;
|
||||
#X obj 67 10 inlet;
|
||||
#X obj 67 41 route create;
|
||||
#X msg 67 70 set destroy;
|
||||
#X msg 142 68 set create;
|
||||
#X msg 132 112 create \, 1;
|
||||
#X msg 198 112 destroy;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 3 0 6 0;
|
||||
#X connect 3 1 5 0;
|
||||
#X connect 3 1 7 0;
|
||||
#X connect 4 0 1 0;
|
||||
#X connect 5 0 1 0;
|
||||
#X connect 6 0 0 0;
|
||||
#X connect 7 0 0 0;
|
||||
#X restore 479 373 pd gemwin;
|
||||
#X msg 479 354 create;
|
||||
#X text 475 333 Create window:;
|
||||
#X obj 450 178 cnv 15 190 70 empty empty empty 20 12 0 14 -24198 -66577
|
||||
0;
|
||||
#X obj 451 84 gemhead;
|
||||
#X text 63 306 <none>;
|
||||
#X text 28 399 Outlet 1: gemlist;
|
||||
#X text 35 346 Inlet 1: gemlist;
|
||||
#X obj 10 211 cnv 15 420 70 empty empty empty 20 12 0 14 -225280 -66577
|
||||
0;
|
||||
#X text 71 31 Class: shader object;
|
||||
#X obj 516 184 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1;
|
||||
#N canvas 0 0 450 300 open 0;
|
||||
#X obj 75 103 openpanel;
|
||||
#X obj 75 173 outlet;
|
||||
#X obj 75 127 t b s;
|
||||
#X msg 105 152 set open \$1;
|
||||
#X obj 75 80 inlet;
|
||||
#X connect 0 0 2 0;
|
||||
#X connect 2 0 1 0;
|
||||
#X connect 2 1 3 0;
|
||||
#X connect 3 0 1 0;
|
||||
#X connect 4 0 0 0;
|
||||
#X restore 459 183 pd open;
|
||||
#X text 14 219 IMPORTANT NOTE: your openGL-implementation (gfx-card
|
||||
driver \, ...) has to support either (or both) the ARB shader extensions
|
||||
or the NV shader extensions in order to make use of this object.;
|
||||
#X text 10 176 Of course \, you also have to supply anything else needed
|
||||
for the shader to work (like textures \, ...);
|
||||
#X obj 451 266 teapot;
|
||||
#X msg 459 203 open examples/data/random.fp;
|
||||
#X text 50 12 Synopsis: [fragment_program];
|
||||
#X text 12 76 Description: load and apply an ARB fragment shader;
|
||||
#X text 24 95 [fragment_program] loads and applies an ARB (or NV) fragment
|
||||
shader.;
|
||||
#X text 11 123 If you want to modify the parameters of the shader-program
|
||||
\, you have to set the modification up yourself \, via [GEMglProgramEnvParameter*]
|
||||
working on GL_FRAGMENT_PROGRAM_ARB.;
|
||||
#X text 35 358 Inlet 1: messsage: open <filename> : fragment shader
|
||||
program to load;
|
||||
#X text 443 406 see also;
|
||||
#X obj 508 406 vertex_program;
|
||||
#X obj 451 226 fragment_program random.fp;
|
||||
#X connect 10 0 11 0;
|
||||
#X connect 11 0 10 0;
|
||||
#X connect 14 0 33 0;
|
||||
#X connect 20 0 21 0;
|
||||
#X connect 21 0 25 0;
|
||||
#X connect 25 0 33 0;
|
||||
#X connect 33 0 24 0;
|
|
@ -1,236 +0,0 @@
|
|||
#N canvas 131 3 893 604 10;
|
||||
#X obj 465 9 cnv 15 420 570 empty empty empty 20 12 0 14 -228992 -66577
|
||||
0;
|
||||
#X obj 472 293 cnv 15 300 60 empty empty empty 20 12 0 14 -191407 -66577
|
||||
0;
|
||||
#X obj 474 18 cnv 15 400 250 empty empty empty 20 12 0 14 -24198 -66577
|
||||
0;
|
||||
#X obj 477 41 gemhead 20;
|
||||
#X obj 664 306 gemhead;
|
||||
#X msg 615 106 dimen 320 240;
|
||||
#X obj 477 468 rotateXYZ;
|
||||
#X floatatom 794 427 5 0 0 0 - - -;
|
||||
#X msg 762 114 color 0 0 1 0;
|
||||
#X msg 602 87 dimen 1024 1024;
|
||||
#X msg 751 74 color 0 0 0 0;
|
||||
#X obj 477 422 t a b;
|
||||
#X floatatom 717 469 5 0 0 0 - - -;
|
||||
#X msg 549 232 rectangle \$1;
|
||||
#X obj 549 214 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
|
||||
1;
|
||||
#X msg 509 101 type FLOAT;
|
||||
#X obj 664 274 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
|
||||
1;
|
||||
#X obj 477 382 translateXYZ 0 0 -4;
|
||||
#X obj 477 298 gemframebuffer;
|
||||
#X obj 664 331 pix_texture;
|
||||
#X obj 664 358 t a b;
|
||||
#X msg 531 187 texunit \$1;
|
||||
#X msg 495 62 type BYTE;
|
||||
#X msg 503 82 type INT;
|
||||
#X msg 658 179 format YUV;
|
||||
#X msg 649 158 format RGB;
|
||||
#X msg 668 200 format RGBA;
|
||||
#X msg 680 220 format RGB32;
|
||||
#X obj 664 487 square 2;
|
||||
#X obj 664 449 rotateXYZ -40 0 200;
|
||||
#X floatatom 707 429 5 0 0 0 - - -;
|
||||
#X obj 477 487 pqtorusknots;
|
||||
#N canvas 0 22 450 300 rotation 0;
|
||||
#X obj 33 19 inlet;
|
||||
#X obj 33 110 % 360;
|
||||
#X obj 33 62 i;
|
||||
#X obj 33 88 + 5;
|
||||
#X obj 33 136 outlet;
|
||||
#X obj 84 111 % 360;
|
||||
#X obj 84 63 i;
|
||||
#X obj 84 137 outlet;
|
||||
#X obj 134 112 % 360;
|
||||
#X obj 134 64 i;
|
||||
#X obj 134 138 outlet;
|
||||
#X obj 84 89 + 3;
|
||||
#X obj 134 90 + 7;
|
||||
#X connect 0 0 2 0;
|
||||
#X connect 0 0 6 0;
|
||||
#X connect 0 0 9 0;
|
||||
#X connect 1 0 2 1;
|
||||
#X connect 1 0 4 0;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 3 0 1 0;
|
||||
#X connect 5 0 6 1;
|
||||
#X connect 5 0 7 0;
|
||||
#X connect 6 0 11 0;
|
||||
#X connect 8 0 9 1;
|
||||
#X connect 8 0 10 0;
|
||||
#X connect 9 0 12 0;
|
||||
#X connect 11 0 5 0;
|
||||
#X connect 12 0 8 0;
|
||||
#X restore 509 443 pd rotation;
|
||||
#X floatatom 531 167 5 0 0 0 - - -;
|
||||
#N canvas 125 20 450 300 rotation 0;
|
||||
#X obj 112 29 inlet;
|
||||
#X obj 112 105 % 360;
|
||||
#X obj 112 57 i;
|
||||
#X obj 112 131 outlet;
|
||||
#X obj 112 83 + 1;
|
||||
#X connect 0 0 2 0;
|
||||
#X connect 1 0 2 1;
|
||||
#X connect 1 0 3 0;
|
||||
#X connect 2 0 4 0;
|
||||
#X connect 4 0 1 0;
|
||||
#X restore 794 402 pd rotation;
|
||||
#X obj 762 93 loadbang;
|
||||
#X obj 477 402 color 1 0 0;
|
||||
#X obj 649 245 t a;
|
||||
#X obj 585 124 t a;
|
||||
#X obj 751 135 t a;
|
||||
#X obj 495 130 t a;
|
||||
#X floatatom 563 361 5 0 0 0 - - -;
|
||||
#X floatatom 607 362 5 0 0 0 - - -;
|
||||
#X floatatom 520 361 5 0 0 0 - - -;
|
||||
#X obj 495 154 t a;
|
||||
#X obj 470 514 cnv 15 410 60 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#X msg 757 544 color 0 0 0 0;
|
||||
#X msg 746 522 color 0 1 1 0;
|
||||
#X msg 637 525 lighting \$1;
|
||||
#X obj 615 526 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
|
||||
1;
|
||||
#N canvas 0 22 450 300 gemwin 0;
|
||||
#X obj 132 136 gemwin;
|
||||
#X obj 67 89 outlet;
|
||||
#X obj 67 10 inlet;
|
||||
#X msg 67 70 set destroy;
|
||||
#X msg 142 68 set create;
|
||||
#X msg 198 112 destroy;
|
||||
#X msg 132 112 create \, 1;
|
||||
#X obj 67 40 route create destroy;
|
||||
#X obj 20 217 gemhead 1;
|
||||
#X obj 20 237 world_light;
|
||||
#X connect 2 0 7 0;
|
||||
#X connect 3 0 1 0;
|
||||
#X connect 4 0 1 0;
|
||||
#X connect 5 0 0 0;
|
||||
#X connect 6 0 0 0;
|
||||
#X connect 7 0 3 0;
|
||||
#X connect 7 0 6 0;
|
||||
#X connect 7 1 4 0;
|
||||
#X connect 7 1 5 0;
|
||||
#X connect 7 2 0 0;
|
||||
#X connect 8 0 9 0;
|
||||
#X restore 473 554 pd gemwin;
|
||||
#X msg 473 529 destroy;
|
||||
#X text 471 513 Create window:;
|
||||
#X obj 637 552 t a;
|
||||
#X text 476 22 Example:;
|
||||
#X text 379 -10 GEM object;
|
||||
#X obj 7 41 cnv 15 450 130 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X obj 7 208 cnv 15 450 370 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X text 10 214 Inlets:;
|
||||
#X obj 7 175 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#X text 14 174 Arguments:;
|
||||
#X text 28 233 Inlet 1: gemlist;
|
||||
#X text 15 523 Outlets:;
|
||||
#X text 31 539 Outlet 1: gemlist;
|
||||
#X text 60 187 <none>;
|
||||
#X text 102 -1 Synopsis: [gemframebuffer];
|
||||
#X text 122 15 Class: framebuffer object;
|
||||
#X text 12 50 Description: Renders a scenne in a texture \, for later
|
||||
use.;
|
||||
#X text 12 68 this example renders a scene (pqtorusknots) into a framebuffer
|
||||
\, which is then used as a texture onto a square.;
|
||||
#X text 13 98 you need framebuffer support (and its driver) on your
|
||||
gfx-card;
|
||||
#X text 28 247 Inlet 1: message: type [BYTE | INT | FLOAT];
|
||||
#X text 27 315 Inlet 1: message: dimen <x> <y>;
|
||||
#X text 27 349 Inlet 1: message: color <r> <g> <b> <a>;
|
||||
#X text 26 430 Inlet 1: message: texunit <f>;
|
||||
#X text 27 280 Inlet 1: message: format [RGB|RGBA|RGB32|YUV];
|
||||
#X text 26 385 Inlet 1: message: rectangle [0|1];
|
||||
#X text 103 262 (type of the framebuffer data);
|
||||
#X text 102 330 (dimension of the framebuffer texture);
|
||||
#X text 106 465 (usefull only with shader);
|
||||
#X text 106 448 (change texunit of the texture);
|
||||
#X text 31 557 Outlet 2: texture Id;
|
||||
#X text 104 402 (texturing mode \; rectangle (1) or normalized (0))
|
||||
;
|
||||
#X text 100 296 (color format of the framebuffer);
|
||||
#X text 102 365 (background color of the framebuffer);
|
||||
#X obj 556 41 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
|
||||
1;
|
||||
#X floatatom 493 323 5 0 0 0 - - -;
|
||||
#X obj 477 342 scaleXYZ;
|
||||
#X floatatom 563 326 5 0 0 0 - - -;
|
||||
#X floatatom 528 325 5 0 0 0 - - -;
|
||||
#X msg 585 30 perspec -1 1 -1 1 1 20;
|
||||
#X msg 593 56 perspec -1 1 -1 1 3 75;
|
||||
#X text 98 497 (frustum of the framebuffer);
|
||||
#X text 752 29 default;
|
||||
#X text 11 130 NOTE: the default view-point of [gemframebuffer] is
|
||||
at the origin 0/0/0 \, unlike [gemwin] where it is at 0/0/4. You might
|
||||
want to manually insert a [translateXYZ 0 0 -4].;
|
||||
#X text 23 482 Inlet 1: message: perspec <left><right><bottom><top><near>
|
||||
;
|
||||
#X text 428 482 <far>;
|
||||
#X connect 3 0 18 0;
|
||||
#X connect 4 0 19 0;
|
||||
#X connect 5 0 38 0;
|
||||
#X connect 6 0 31 0;
|
||||
#X connect 7 0 29 3;
|
||||
#X connect 8 0 39 0;
|
||||
#X connect 9 0 38 0;
|
||||
#X connect 10 0 39 0;
|
||||
#X connect 11 0 6 0;
|
||||
#X connect 11 1 32 0;
|
||||
#X connect 12 0 28 1;
|
||||
#X connect 13 0 18 0;
|
||||
#X connect 14 0 13 0;
|
||||
#X connect 15 0 40 0;
|
||||
#X connect 16 0 4 0;
|
||||
#X connect 17 0 36 0;
|
||||
#X connect 18 0 86 0;
|
||||
#X connect 18 1 19 1;
|
||||
#X connect 19 0 20 0;
|
||||
#X connect 20 0 29 0;
|
||||
#X connect 20 1 34 0;
|
||||
#X connect 21 0 18 0;
|
||||
#X connect 22 0 40 0;
|
||||
#X connect 23 0 40 0;
|
||||
#X connect 24 0 37 0;
|
||||
#X connect 25 0 37 0;
|
||||
#X connect 26 0 37 0;
|
||||
#X connect 27 0 37 0;
|
||||
#X connect 29 0 28 0;
|
||||
#X connect 30 0 29 1;
|
||||
#X connect 32 0 6 1;
|
||||
#X connect 32 1 6 2;
|
||||
#X connect 32 2 6 3;
|
||||
#X connect 33 0 21 0;
|
||||
#X connect 34 0 7 0;
|
||||
#X connect 35 0 8 0;
|
||||
#X connect 36 0 11 0;
|
||||
#X connect 37 0 18 0;
|
||||
#X connect 38 0 44 0;
|
||||
#X connect 39 0 44 0;
|
||||
#X connect 40 0 44 0;
|
||||
#X connect 41 0 17 2;
|
||||
#X connect 42 0 17 3;
|
||||
#X connect 43 0 17 1;
|
||||
#X connect 44 0 18 0;
|
||||
#X connect 46 0 53 0;
|
||||
#X connect 47 0 53 0;
|
||||
#X connect 48 0 53 0;
|
||||
#X connect 49 0 48 0;
|
||||
#X connect 50 0 51 0;
|
||||
#X connect 51 0 50 0;
|
||||
#X connect 53 0 50 0;
|
||||
#X connect 84 0 3 0;
|
||||
#X connect 85 0 86 1;
|
||||
#X connect 86 0 17 0;
|
||||
#X connect 87 0 86 3;
|
||||
#X connect 88 0 86 2;
|
||||
#X connect 89 0 38 0;
|
||||
#X connect 90 0 38 0;
|
|
@ -1,116 +0,0 @@
|
|||
#N canvas 32 22 937 572 10;
|
||||
#X text 452 8 GEM object;
|
||||
#X obj 8 438 cnv 15 430 130 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X text 18 440 Inlets:;
|
||||
#X text 18 518 Outlets:;
|
||||
#X text 36 531 Outlet 1: gemlist;
|
||||
#X obj 8 393 cnv 15 430 40 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#X text 17 398 Arguments:;
|
||||
#X obj 8 76 cnv 15 430 310 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X text 50 12 Synopsis: [gemhead];
|
||||
#X text 71 31 Class: control object;
|
||||
#X text 29 77 Description: start a rendering chain;
|
||||
#X obj 607 371 cnv 15 140 65 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#X msg 622 391 create;
|
||||
#X text 618 370 Create window:;
|
||||
#N canvas 0 22 450 300 gemwin 0;
|
||||
#X obj 132 136 gemwin;
|
||||
#X obj 67 89 outlet;
|
||||
#X obj 67 10 inlet;
|
||||
#X obj 67 41 route create;
|
||||
#X msg 67 70 set destroy;
|
||||
#X msg 142 68 set create;
|
||||
#X msg 132 93 create \, 1 \, frame 2;
|
||||
#X msg 198 112 destroy \, reset;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 3 0 6 0;
|
||||
#X connect 3 1 5 0;
|
||||
#X connect 3 1 7 0;
|
||||
#X connect 4 0 1 0;
|
||||
#X connect 5 0 1 0;
|
||||
#X connect 6 0 0 0;
|
||||
#X connect 7 0 0 0;
|
||||
#X restore 622 411 pd gemwin (2fps);
|
||||
#X text 21 91 [gemhead] connects the gem objects to the window manager.
|
||||
The start of any gemList begins with the gemhead. Without the gemhead
|
||||
\, gem objects will not receive the render command.;
|
||||
#X text 20 366 example: "1" before "50" before "-10" before "-23";
|
||||
#X text 22 149 Any gem object connected after the gemhead will receive
|
||||
one render command per frame.;
|
||||
#X text 20 294 The rendering-order value can also be negative. Negative
|
||||
numbered [gemhead]s will be rendered AFTER all positive [gemhead]s.
|
||||
Note \, that Higher values (-3) will be rendered BEFORE lower values
|
||||
(-10). [gemhead]s with negative numbers will NOT be affected by view-point
|
||||
changes !!!;
|
||||
#X text 62 409 float : priority (default : 50);
|
||||
#X text 42 471 Inlet 1: bang : force rendering now.;
|
||||
#X text 42 453 Inlet 1: float (1/0): turn rendering on/off (default
|
||||
1);
|
||||
#X text 42 490 Inlet 1: set <priority> : change priority value of this
|
||||
chain.;
|
||||
#X obj 442 74 cnv 15 160 240 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X text 451 79 enable/disable rendering;
|
||||
#X obj 451 123 cnv 15 100 40 empty empty empty 20 12 0 14 -24198 -66577
|
||||
0;
|
||||
#X msg 470 240 gemList;
|
||||
#X obj 470 134 gemhead;
|
||||
#X msg 470 101 1;
|
||||
#X msg 506 101 0;
|
||||
#X obj 470 281 print ENABLE;
|
||||
#X obj 470 199 square 0.5;
|
||||
#X obj 606 74 cnv 15 160 240 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X obj 770 74 cnv 15 160 240 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X text 617 81 force rendering;
|
||||
#X text 789 79 set rendering order;
|
||||
#X obj 621 128 cnv 15 100 40 empty empty empty 20 12 0 14 -24198 -66577
|
||||
0;
|
||||
#X obj 781 135 cnv 15 100 40 empty empty empty 20 12 0 14 -24198 -66577
|
||||
0;
|
||||
#X msg 630 101 bang;
|
||||
#X msg 791 101 set 45;
|
||||
#X obj 791 286 print SETTABLE;
|
||||
#X obj 630 284 print FORCEABLE;
|
||||
#X msg 630 243 gemList;
|
||||
#X msg 791 245 gemList;
|
||||
#X obj 630 202 circle 0.5;
|
||||
#X obj 791 204 triangle 0.5;
|
||||
#X obj 791 144 gemhead 105;
|
||||
#X text 21 188 All chain will be rendered one after the other. You
|
||||
can control precisely the rendering order by giving [gemhead] a priority
|
||||
value (argument or message). The default value is 50 The lower the
|
||||
value is \, the sooner the gemhead will receive the rendering command
|
||||
(a value of 1 is the lowest possible value). This value is important
|
||||
when you are doing alpha blending and for certain objects (such as
|
||||
light).;
|
||||
#X obj 470 178 translateXYZ -2 0 0;
|
||||
#X msg 854 101 set 105;
|
||||
#X obj 630 181 translateXYZ 0 2 0;
|
||||
#X obj 630 138 gemhead 50;
|
||||
#X obj 791 183 translateXYZ 2 0 0;
|
||||
#X connect 12 0 14 0;
|
||||
#X connect 14 0 12 0;
|
||||
#X connect 26 0 30 0;
|
||||
#X connect 27 0 48 0;
|
||||
#X connect 28 0 27 0;
|
||||
#X connect 29 0 27 0;
|
||||
#X connect 31 0 26 0;
|
||||
#X connect 38 0 51 0;
|
||||
#X connect 39 0 46 0;
|
||||
#X connect 42 0 41 0;
|
||||
#X connect 43 0 40 0;
|
||||
#X connect 44 0 42 0;
|
||||
#X connect 45 0 43 0;
|
||||
#X connect 46 0 52 0;
|
||||
#X connect 48 0 31 0;
|
||||
#X connect 49 0 46 0;
|
||||
#X connect 50 0 44 0;
|
||||
#X connect 51 0 50 0;
|
||||
#X connect 52 0 45 0;
|
|
@ -1,62 +0,0 @@
|
|||
#N canvas 64 27 679 445 10;
|
||||
#X obj 27 85 cnv 15 450 170 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X obj 28 303 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X text 29 308 Inlets:;
|
||||
#X obj 28 265 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#X text 37 264 Arguments:;
|
||||
#X text 472 28 GEM object;
|
||||
#X text 29 337 Outlets:;
|
||||
#X text 495 49 Example:;
|
||||
#X text 74 50 Class: control object;
|
||||
#X obj 486 84 cnv 15 170 180 empty empty empty 20 12 0 14 -228992 -66577
|
||||
0;
|
||||
#X obj 495 101 cnv 15 150 80 empty empty empty 20 12 0 14 -24198 -66577
|
||||
0;
|
||||
#X obj 546 194 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#N canvas 0 22 450 300 gemwin 0;
|
||||
#X obj 132 136 gemwin;
|
||||
#X obj 67 89 outlet;
|
||||
#X obj 67 10 inlet;
|
||||
#X obj 67 41 route create;
|
||||
#X msg 67 70 set destroy;
|
||||
#X msg 142 68 set create;
|
||||
#X msg 198 112 destroy;
|
||||
#X msg 132 112 create \, 1;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 3 0 7 0;
|
||||
#X connect 3 1 5 0;
|
||||
#X connect 3 1 6 0;
|
||||
#X connect 4 0 1 0;
|
||||
#X connect 5 0 1 0;
|
||||
#X connect 6 0 0 0;
|
||||
#X connect 7 0 0 0;
|
||||
#X restore 551 233 pd gemwin;
|
||||
#X msg 551 214 create;
|
||||
#X text 547 193 Create window:;
|
||||
#X text 53 34 Synopsis: [gemkeyboard];
|
||||
#X text 27 89 Description: output keyboard events in the GEM window
|
||||
;
|
||||
#X text 36 106 [gemkeyboard] sends out keyboard events which occur
|
||||
in the GEM window. Such event will appear on KEY_DOWN and will give
|
||||
the KeyCode of the button.;
|
||||
#X text 34 181 Furthermore \, i would like to make this object really
|
||||
cross-platform one day. Thus the KeyCode might change on one system
|
||||
or another in future times.;
|
||||
#X text 34 228 USE AT YOUR OWN RISK !!!;
|
||||
#X text 35 148 It is not guaranteed \, that Windows / Linux / OSX versions
|
||||
will give the same KeyCode for the same key pressed !!!;
|
||||
#X text 83 275 none;
|
||||
#X text 47 320 Inlet 1: non - used;
|
||||
#X text 41 350 Outlet 1: keyCode;
|
||||
#X obj 508 115 gemkeyboard;
|
||||
#X floatatom 508 153 5 0 0 1 keyCode - -;
|
||||
#X text 488 274 see also:;
|
||||
#X obj 489 299 gemkeyname;
|
||||
#X connect 12 0 13 0;
|
||||
#X connect 13 0 12 0;
|
||||
#X connect 24 0 25 0;
|
|
@ -1,68 +0,0 @@
|
|||
#N canvas 64 27 679 445 10;
|
||||
#X obj 27 85 cnv 15 450 200 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X obj 27 325 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X text 35 332 Inlets:;
|
||||
#X obj 27 290 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#X text 36 291 Arguments:;
|
||||
#X text 472 28 GEM object;
|
||||
#X text 35 361 Outlets:;
|
||||
#X text 495 49 Example:;
|
||||
#X text 74 50 Class: control object;
|
||||
#X obj 486 84 cnv 15 170 180 empty empty empty 20 12 0 14 -228992 -66577
|
||||
0;
|
||||
#X obj 495 101 cnv 15 150 80 empty empty empty 20 12 0 14 -24198 -66577
|
||||
0;
|
||||
#X obj 546 194 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#N canvas 0 22 450 300 gemwin 0;
|
||||
#X obj 132 136 gemwin;
|
||||
#X obj 67 89 outlet;
|
||||
#X obj 67 10 inlet;
|
||||
#X obj 67 41 route create;
|
||||
#X msg 67 70 set destroy;
|
||||
#X msg 142 68 set create;
|
||||
#X msg 198 112 destroy;
|
||||
#X msg 132 112 create \, 1;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 3 0 7 0;
|
||||
#X connect 3 1 5 0;
|
||||
#X connect 3 1 6 0;
|
||||
#X connect 4 0 1 0;
|
||||
#X connect 5 0 1 0;
|
||||
#X connect 6 0 0 0;
|
||||
#X connect 7 0 0 0;
|
||||
#X restore 551 233 pd gemwin;
|
||||
#X msg 551 214 create;
|
||||
#X text 547 193 Create window:;
|
||||
#X text 38 89 Description: output keyboard events in the GEM window
|
||||
;
|
||||
#X text 37 265 USE AT YOUR OWN RISK !!!;
|
||||
#X text 82 302 none;
|
||||
#X text 53 344 Inlet 1: non - used;
|
||||
#X text 488 274 see also:;
|
||||
#X text 53 34 Synopsis: [gemkeyname];
|
||||
#X text 36 108 [gemkeyname] sends out keyboard events which occur in
|
||||
the GEM window. Such event will give a symbolic description of the
|
||||
button. The "state"-outlet will be 1 for KEY_DOWN and 0 for KEY_UP.
|
||||
;
|
||||
#X text 37 219 Furthermore \, i would like to make this object really
|
||||
cross-platform one day. Thus the KeyName might change on one system
|
||||
or another in future times.;
|
||||
#X text 37 161 It is not guaranteed \, that Windows / Linux / OSX versions
|
||||
will give the same description for the same key pressed !!! Also \,
|
||||
there is no guarantee \, that the pd-object [keyname] will return the
|
||||
same symbols as [gemkeyname];
|
||||
#X text 53 376 Outlet 1: state;
|
||||
#X text 53 390 Outlet 2: keyName;
|
||||
#X obj 489 299 gemkeyboard;
|
||||
#X floatatom 508 160 2 0 0 1 state - -;
|
||||
#X symbolatom 565 134 10 0 0 0 keyName - -;
|
||||
#X obj 508 115 gemkeyname;
|
||||
#X connect 12 0 13 0;
|
||||
#X connect 13 0 12 0;
|
||||
#X connect 29 0 27 0;
|
||||
#X connect 29 1 28 0;
|
|
@ -1,73 +0,0 @@
|
|||
#N canvas 443 181 661 405 10;
|
||||
#X obj 7 65 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X obj 8 216 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X text 9 221 Inlets:;
|
||||
#X obj 8 176 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#X text 17 175 Arguments:;
|
||||
#X text 452 8 GEM object;
|
||||
#X text 27 233 Inlet 1: gemlist;
|
||||
#X text 9 280 Outlets:;
|
||||
#X text 21 293 Outlet 1: gemlist;
|
||||
#X text 63 186 none;
|
||||
#X text 475 29 Example:;
|
||||
#X text 33 14 Synopsis: [gemlist];
|
||||
#X text 54 30 Class: control object;
|
||||
#X text 27 247 Inlet 1: bang;
|
||||
#X text 27 261 Inlet 2: gemlist;
|
||||
#X text 7 69 Description: Store a gemlist;
|
||||
#X text 16 86 The gemlist object stores a gemlist \, which may de output
|
||||
by sending it a "bang" message.;
|
||||
#X obj 467 47 cnv 15 170 340 empty empty empty 20 12 0 14 -228992 -66577
|
||||
0;
|
||||
#X obj 475 81 cnv 15 150 130 empty empty empty 20 12 0 14 -24198 -66577
|
||||
0;
|
||||
#X obj 528 320 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#N canvas 0 0 450 300 gemwin 0;
|
||||
#X obj 132 136 gemwin;
|
||||
#X obj 67 89 outlet;
|
||||
#X obj 67 10 inlet;
|
||||
#X obj 67 41 route create;
|
||||
#X msg 67 70 set destroy;
|
||||
#X msg 142 68 set create;
|
||||
#X msg 198 112 destroy;
|
||||
#X msg 132 112 create \, 1;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 3 0 7 0;
|
||||
#X connect 3 1 5 0;
|
||||
#X connect 3 1 6 0;
|
||||
#X connect 4 0 1 0;
|
||||
#X connect 5 0 1 0;
|
||||
#X connect 6 0 0 0;
|
||||
#X connect 7 0 0 0;
|
||||
#X restore 533 359 pd gemwin;
|
||||
#X msg 533 340 create;
|
||||
#X text 529 319 Create window:;
|
||||
#X obj 498 59 gemhead;
|
||||
#X obj 484 190 gemlist;
|
||||
#X obj 484 169 until;
|
||||
#X obj 484 288 scaleXYZ 0.9 0.9 0.9;
|
||||
#X obj 484 243 translateXYZ 0.5 0 0;
|
||||
#X msg 484 149 30;
|
||||
#X obj 484 265 rotateXYZ 0 0 30;
|
||||
#X obj 484 221 circle 0.3 33;
|
||||
#X obj 498 107 route gem_state;
|
||||
#X obj 498 127 route float;
|
||||
#X obj 498 86 t a a;
|
||||
#X connect 20 0 21 0;
|
||||
#X connect 21 0 20 0;
|
||||
#X connect 23 0 33 0;
|
||||
#X connect 24 0 30 0;
|
||||
#X connect 25 0 24 0;
|
||||
#X connect 27 0 29 0;
|
||||
#X connect 28 0 25 0;
|
||||
#X connect 29 0 26 0;
|
||||
#X connect 30 0 27 0;
|
||||
#X connect 31 0 32 0;
|
||||
#X connect 32 1 28 0;
|
||||
#X connect 33 0 31 0;
|
||||
#X connect 33 1 24 1;
|
|
@ -1,297 +0,0 @@
|
|||
#N canvas 594 117 688 676 10;
|
||||
#X text 452 8 GEM object;
|
||||
#X obj 8 206 cnv 15 430 120 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X text 39 218 Inlets:;
|
||||
#X text 63 231 Inlet 1: gemlist;
|
||||
#X text 38 240 Outlets:;
|
||||
#X text 62 253 Outlet 1: gemlist;
|
||||
#X obj 8 156 cnv 15 430 40 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#X text 17 155 Arguments:;
|
||||
#X obj 8 76 cnv 15 430 70 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X text 453 60 Example:;
|
||||
#X obj 9 415 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#N canvas 0 0 454 304 gemwin 0;
|
||||
#X obj 132 160 gemwin;
|
||||
#X obj 67 89 outlet;
|
||||
#X obj 67 10 inlet;
|
||||
#X obj 67 41 route create;
|
||||
#X msg 67 70 set destroy;
|
||||
#X msg 142 68 set create;
|
||||
#X msg 198 133 destroy;
|
||||
#X obj 288 57 world_light;
|
||||
#X obj 288 28 gemhead;
|
||||
#X msg 132 112 create \, 1 \, lighting 1;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 3 0 9 0;
|
||||
#X connect 3 1 5 0;
|
||||
#X connect 3 1 6 0;
|
||||
#X connect 4 0 1 0;
|
||||
#X connect 5 0 1 0;
|
||||
#X connect 6 0 0 0;
|
||||
#X connect 8 0 7 0;
|
||||
#X connect 9 0 0 0;
|
||||
#X restore 14 454 pd gemwin;
|
||||
#X msg 14 435 create;
|
||||
#X text 10 414 Create window:;
|
||||
#X text 50 12 Synopsis: [gemlist_info];
|
||||
#X text 71 31 Class: information object;
|
||||
#X text 29 77 Description: get curent transformation of a gemlist;
|
||||
#X text 42 94 [gemlist_info] accepts a gemList decompost the transformation
|
||||
matrix in basic transformation (translation \, scale \, shear \, rotation)
|
||||
;
|
||||
#X text 60 174 no argument;
|
||||
#X text 62 299 Outlet 5: 3 float list : translationX \, Y and Z;
|
||||
#X text 62 265 Outlet 2: 3 float list : RotationX \, Y and Z;
|
||||
#X text 62 277 Outlet 3: 3 float list : shear YX \, YZ and ZX;
|
||||
#X text 62 288 Outlet 4: 3 float list : scale X \, Y and Z;
|
||||
#X obj 9 336 cnv 15 430 60 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#N canvas 0 0 452 890 more 0;
|
||||
#X obj 30 122 gemhead;
|
||||
#X floatatom 44 144 5 0 0 0 - - -;
|
||||
#X floatatom 78 144 5 0 0 0 - - -;
|
||||
#X floatatom 112 144 5 0 0 0 - - -;
|
||||
#X floatatom 46 184 5 0 0 0 - - -;
|
||||
#X floatatom 80 184 5 0 0 0 - - -;
|
||||
#X floatatom 114 184 5 0 0 0 - - -;
|
||||
#X floatatom 52 227 5 0 0 0 - - -;
|
||||
#X floatatom 86 227 5 0 0 0 - - -;
|
||||
#X floatatom 120 227 5 0 0 0 - - -;
|
||||
#X obj 30 433 gemlist_info;
|
||||
#X obj 192 568 unpack f f f;
|
||||
#X obj 178 396 gemhead;
|
||||
#X obj 178 536 translateXYZ;
|
||||
#X floatatom 192 591 5 0 0 0 - - -;
|
||||
#X floatatom 225 591 5 0 0 0 - - -;
|
||||
#X floatatom 259 591 5 0 0 0 - - -;
|
||||
#X floatatom 193 761 5 0 0 0 - - -;
|
||||
#X floatatom 226 761 5 0 0 0 - - -;
|
||||
#X floatatom 260 761 5 0 0 0 - - -;
|
||||
#X floatatom 200 516 5 0 0 0 - - -;
|
||||
#X floatatom 233 516 5 0 0 0 - - -;
|
||||
#X floatatom 267 516 5 0 0 0 - - -;
|
||||
#X obj 193 734 unpack f f f;
|
||||
#X obj 200 490 unpack f f f;
|
||||
#X obj 178 421 GEMglLoadIdentity;
|
||||
#X obj 178 450 color 1 0 0;
|
||||
#X floatatom 46 336 5 0 0 0 - - -;
|
||||
#X floatatom 80 336 5 0 0 0 - - -;
|
||||
#X floatatom 114 336 5 0 0 0 - - -;
|
||||
#X floatatom 52 379 5 0 0 0 - - -;
|
||||
#X floatatom 86 379 5 0 0 0 - - -;
|
||||
#X floatatom 120 379 5 0 0 0 - - -;
|
||||
#X obj 30 163 scaleXYZ 1 1 1;
|
||||
#X obj 30 205 rotateXYZ 0 0 0;
|
||||
#X obj 30 247 translateXYZ 0 0 0;
|
||||
#X obj 30 357 rotateXYZ 0 0 0;
|
||||
#X obj 30 399 translateXYZ 0 0 0;
|
||||
#X floatatom 44 283 5 0 0 0 - - -;
|
||||
#X floatatom 78 283 5 0 0 0 - - -;
|
||||
#X floatatom 112 283 5 0 0 0 - - -;
|
||||
#X obj 30 302 scaleXYZ 1 1 1;
|
||||
#X obj 30 512 cube;
|
||||
#X obj 30 484 scaleXYZ 1 1 0.2;
|
||||
#X floatatom 192 665 8 0 0 0 - - -;
|
||||
#X floatatom 225 681 8 0 0 0 - - -;
|
||||
#X floatatom 259 697 8 0 0 0 - - -;
|
||||
#X obj 192 643 unpack f f f;
|
||||
#N canvas 296 410 419 328 shear 0;
|
||||
#X obj 28 17 inlet;
|
||||
#X obj 28 270 outlet;
|
||||
#X obj 108 21 inlet;
|
||||
#X obj 205 20 inlet;
|
||||
#X obj 297 18 inlet;
|
||||
#X text 117 38 ShearXY;
|
||||
#X text 217 37 ShearXZ;
|
||||
#X text 306 36 ShearYZ;
|
||||
#X obj 28 104 shearYX;
|
||||
#X obj 28 153 shearZX;
|
||||
#X obj 28 212 shearZY;
|
||||
#X connect 0 0 8 0;
|
||||
#X connect 2 0 8 1;
|
||||
#X connect 3 0 9 1;
|
||||
#X connect 4 0 10 1;
|
||||
#X connect 8 0 9 0;
|
||||
#X connect 9 0 10 0;
|
||||
#X connect 10 0 1 0;
|
||||
#X restore 178 711 pd shear;
|
||||
#X obj 178 811 cube 0.5;
|
||||
#X obj 178 80 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
|
||||
;
|
||||
#X obj 178 785 rotateXYZ;
|
||||
#X obj 178 610 scaleXYZ;
|
||||
#X obj 178 30 loadbang;
|
||||
#X msg 178 55 0;
|
||||
#X text 50 844 this show the transformation neaded to create a specific
|
||||
transformation matrix decomposed with gemlist_info;
|
||||
#X connect 0 0 33 0;
|
||||
#X connect 1 0 33 1;
|
||||
#X connect 2 0 33 2;
|
||||
#X connect 3 0 33 3;
|
||||
#X connect 4 0 34 1;
|
||||
#X connect 5 0 34 2;
|
||||
#X connect 6 0 34 3;
|
||||
#X connect 7 0 35 1;
|
||||
#X connect 8 0 35 2;
|
||||
#X connect 9 0 35 3;
|
||||
#X connect 10 0 43 0;
|
||||
#X connect 10 1 23 0;
|
||||
#X connect 10 2 47 0;
|
||||
#X connect 10 3 11 0;
|
||||
#X connect 10 4 24 0;
|
||||
#X connect 11 0 14 0;
|
||||
#X connect 11 1 15 0;
|
||||
#X connect 11 2 16 0;
|
||||
#X connect 12 0 25 0;
|
||||
#X connect 13 0 52 0;
|
||||
#X connect 14 0 52 1;
|
||||
#X connect 15 0 52 2;
|
||||
#X connect 16 0 52 3;
|
||||
#X connect 17 0 51 1;
|
||||
#X connect 18 0 51 2;
|
||||
#X connect 19 0 51 3;
|
||||
#X connect 20 0 13 1;
|
||||
#X connect 21 0 13 2;
|
||||
#X connect 22 0 13 3;
|
||||
#X connect 23 0 17 0;
|
||||
#X connect 23 1 18 0;
|
||||
#X connect 23 2 19 0;
|
||||
#X connect 24 0 20 0;
|
||||
#X connect 24 1 21 0;
|
||||
#X connect 24 2 22 0;
|
||||
#X connect 25 0 26 0;
|
||||
#X connect 26 0 13 0;
|
||||
#X connect 27 0 36 1;
|
||||
#X connect 28 0 36 2;
|
||||
#X connect 29 0 36 3;
|
||||
#X connect 30 0 37 1;
|
||||
#X connect 31 0 37 2;
|
||||
#X connect 32 0 37 3;
|
||||
#X connect 33 0 34 0;
|
||||
#X connect 34 0 35 0;
|
||||
#X connect 35 0 41 0;
|
||||
#X connect 36 0 37 0;
|
||||
#X connect 37 0 10 0;
|
||||
#X connect 38 0 41 1;
|
||||
#X connect 39 0 41 2;
|
||||
#X connect 40 0 41 3;
|
||||
#X connect 41 0 36 0;
|
||||
#X connect 43 0 42 0;
|
||||
#X connect 44 0 48 1;
|
||||
#X connect 45 0 48 2;
|
||||
#X connect 46 0 48 3;
|
||||
#X connect 47 0 44 0;
|
||||
#X connect 47 1 45 0;
|
||||
#X connect 47 2 46 0;
|
||||
#X connect 48 0 51 0;
|
||||
#X connect 50 0 0 0;
|
||||
#X connect 50 0 12 0;
|
||||
#X connect 51 0 49 0;
|
||||
#X connect 52 0 48 0;
|
||||
#X connect 53 0 54 0;
|
||||
#X connect 54 0 50 0;
|
||||
#X restore 15 349 pd more;
|
||||
#X obj 449 77 cnv 15 200 570 empty empty empty 20 12 0 14 -228992 -66577
|
||||
0;
|
||||
#X obj 459 310 cnv 15 180 40 empty empty empty 20 12 0 14 -24198 -66577
|
||||
0;
|
||||
#X obj 472 89 gemhead;
|
||||
#X floatatom 494 121 5 0 0 0 - - -;
|
||||
#X floatatom 528 121 5 0 0 0 - - -;
|
||||
#X floatatom 562 121 5 0 0 0 - - -;
|
||||
#X floatatom 488 264 5 0 0 0 - - -;
|
||||
#X floatatom 522 264 5 0 0 0 - - -;
|
||||
#X floatatom 556 264 5 0 0 0 - - -;
|
||||
#X floatatom 486 170 5 0 0 0 - - -;
|
||||
#X floatatom 520 170 5 0 0 0 - - -;
|
||||
#X floatatom 554 170 5 0 0 0 - - -;
|
||||
#X obj 472 320 gemlist_info;
|
||||
#X obj 488 596 unpack f f f;
|
||||
#X floatatom 488 619 5 0 0 0 - - -;
|
||||
#X floatatom 521 619 5 0 0 0 - - -;
|
||||
#X floatatom 555 619 5 0 0 0 - - -;
|
||||
#X floatatom 522 470 5 0 0 0 - - -;
|
||||
#X floatatom 555 470 5 0 0 0 - - -;
|
||||
#X floatatom 589 470 5 0 0 0 - - -;
|
||||
#X floatatom 539 394 5 0 0 0 - - -;
|
||||
#X floatatom 572 394 5 0 0 0 - - -;
|
||||
#X floatatom 606 394 5 0 0 0 - - -;
|
||||
#X obj 522 444 unpack f f f;
|
||||
#X obj 539 371 unpack f f f;
|
||||
#X text 547 356 position;
|
||||
#X text 533 428 size;
|
||||
#X obj 505 520 unpack f f f;
|
||||
#N canvas 437 191 389 322 shear 0;
|
||||
#X obj 37 27 inlet;
|
||||
#X obj 37 280 outlet;
|
||||
#X obj 118 31 inlet;
|
||||
#X obj 215 30 inlet;
|
||||
#X obj 307 28 inlet;
|
||||
#X text 127 48 ShearXY;
|
||||
#X text 227 47 ShearXZ;
|
||||
#X text 316 46 ShearYZ;
|
||||
#X obj 37 114 shearXY;
|
||||
#X obj 37 163 shearXZ;
|
||||
#X obj 37 222 shearYZ;
|
||||
#X connect 0 0 8 0;
|
||||
#X connect 2 0 8 1;
|
||||
#X connect 3 0 9 1;
|
||||
#X connect 4 0 10 1;
|
||||
#X connect 8 0 9 0;
|
||||
#X connect 9 0 10 0;
|
||||
#X connect 10 0 1 0;
|
||||
#X restore 472 237 pd shear;
|
||||
#X obj 472 285 rotateXYZ;
|
||||
#X obj 472 189 scaleXYZ;
|
||||
#X obj 472 144 translateXYZ;
|
||||
#X floatatom 486 216 5 0 0 0 - - -;
|
||||
#X floatatom 520 216 5 0 0 0 - - -;
|
||||
#X floatatom 554 216 5 0 0 0 - - -;
|
||||
#X floatatom 505 545 5 0 0 0 - - -;
|
||||
#X floatatom 538 545 5 0 0 0 - - -;
|
||||
#X floatatom 572 545 5 0 0 0 - - -;
|
||||
#X text 498 580 orientation;
|
||||
#X text 514 504 shear (YX \, ZX \, ZY);
|
||||
#X text 76 349 <- more about gemlist_info;
|
||||
#X text 18 375 see also :;
|
||||
#X obj 100 375 gemlist_matrix;
|
||||
#X connect 11 0 12 0;
|
||||
#X connect 12 0 11 0;
|
||||
#X connect 27 0 56 0;
|
||||
#X connect 28 0 56 1;
|
||||
#X connect 29 0 56 2;
|
||||
#X connect 30 0 56 3;
|
||||
#X connect 31 0 54 1;
|
||||
#X connect 32 0 54 2;
|
||||
#X connect 33 0 54 3;
|
||||
#X connect 34 0 55 1;
|
||||
#X connect 35 0 55 2;
|
||||
#X connect 36 0 55 3;
|
||||
#X connect 37 1 38 0;
|
||||
#X connect 37 2 52 0;
|
||||
#X connect 37 3 48 0;
|
||||
#X connect 37 4 49 0;
|
||||
#X connect 38 0 39 0;
|
||||
#X connect 38 1 40 0;
|
||||
#X connect 38 2 41 0;
|
||||
#X connect 48 0 42 0;
|
||||
#X connect 48 1 43 0;
|
||||
#X connect 48 2 44 0;
|
||||
#X connect 49 0 45 0;
|
||||
#X connect 49 1 46 0;
|
||||
#X connect 49 2 47 0;
|
||||
#X connect 52 0 60 0;
|
||||
#X connect 52 1 61 0;
|
||||
#X connect 52 2 62 0;
|
||||
#X connect 53 0 54 0;
|
||||
#X connect 54 0 37 0;
|
||||
#X connect 55 0 53 0;
|
||||
#X connect 56 0 55 0;
|
||||
#X connect 57 0 53 1;
|
||||
#X connect 58 0 53 2;
|
||||
#X connect 59 0 53 3;
|
|
@ -1,120 +0,0 @@
|
|||
#N canvas 594 117 675 520 10;
|
||||
#X text 452 8 GEM object;
|
||||
#X obj 8 206 cnv 15 430 120 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X text 39 218 Inlets:;
|
||||
#X text 63 231 Inlet 1: gemlist;
|
||||
#X text 38 240 Outlets:;
|
||||
#X text 62 253 Outlet 1: gemlist;
|
||||
#X obj 8 156 cnv 15 430 40 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#X text 17 155 Arguments:;
|
||||
#X obj 8 76 cnv 15 430 70 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X text 453 60 Example:;
|
||||
#X obj 9 385 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#N canvas 0 0 454 304 gemwin 0;
|
||||
#X obj 132 160 gemwin;
|
||||
#X obj 67 89 outlet;
|
||||
#X obj 67 10 inlet;
|
||||
#X obj 67 41 route create;
|
||||
#X msg 67 70 set destroy;
|
||||
#X msg 142 68 set create;
|
||||
#X msg 198 133 destroy;
|
||||
#X obj 288 57 world_light;
|
||||
#X obj 288 28 gemhead;
|
||||
#X msg 132 112 create \, 1 \, lighting 1;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 3 0 9 0;
|
||||
#X connect 3 1 5 0;
|
||||
#X connect 3 1 6 0;
|
||||
#X connect 4 0 1 0;
|
||||
#X connect 5 0 1 0;
|
||||
#X connect 6 0 0 0;
|
||||
#X connect 8 0 7 0;
|
||||
#X connect 9 0 0 0;
|
||||
#X restore 14 424 pd gemwin;
|
||||
#X msg 14 405 create;
|
||||
#X text 10 384 Create window:;
|
||||
#X text 71 31 Class: information object;
|
||||
#X text 60 174 no argument;
|
||||
#X obj 9 336 cnv 15 430 40 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#X obj 449 77 cnv 15 200 400 empty empty empty 20 12 0 14 -228992 -66577
|
||||
0;
|
||||
#X obj 459 310 cnv 15 180 40 empty empty empty 20 12 0 14 -24198 -66577
|
||||
0;
|
||||
#X obj 472 89 gemhead;
|
||||
#X floatatom 494 121 5 0 0 0 - - -;
|
||||
#X floatatom 528 121 5 0 0 0 - - -;
|
||||
#X floatatom 562 121 5 0 0 0 - - -;
|
||||
#X floatatom 488 264 5 0 0 0 - - -;
|
||||
#X floatatom 522 264 5 0 0 0 - - -;
|
||||
#X floatatom 556 264 5 0 0 0 - - -;
|
||||
#X floatatom 486 170 5 0 0 0 - - -;
|
||||
#X floatatom 520 170 5 0 0 0 - - -;
|
||||
#X floatatom 554 170 5 0 0 0 - - -;
|
||||
#N canvas 437 191 753 491 shear 0;
|
||||
#X obj 25 17 inlet;
|
||||
#X obj 28 270 outlet;
|
||||
#X obj 108 21 inlet;
|
||||
#X obj 205 20 inlet;
|
||||
#X obj 297 18 inlet;
|
||||
#X text 117 38 ShearXY;
|
||||
#X text 217 37 ShearXZ;
|
||||
#X text 306 36 ShearYZ;
|
||||
#X obj 27 104 shearXY;
|
||||
#X obj 26 153 shearXZ;
|
||||
#X obj 26 212 shearYZ;
|
||||
#X connect 0 0 8 0;
|
||||
#X connect 2 0 8 1;
|
||||
#X connect 3 0 9 1;
|
||||
#X connect 4 0 10 1;
|
||||
#X connect 8 0 9 0;
|
||||
#X connect 9 0 10 0;
|
||||
#X connect 10 0 1 0;
|
||||
#X restore 472 237 pd shear;
|
||||
#X obj 472 285 rotateXYZ;
|
||||
#X obj 472 189 scaleXYZ;
|
||||
#X obj 472 144 translateXYZ;
|
||||
#X floatatom 486 216 5 0 0 0 - - -;
|
||||
#X floatatom 520 216 5 0 0 0 - - -;
|
||||
#X floatatom 554 216 5 0 0 0 - - -;
|
||||
#X obj 101 348 gemlist_info;
|
||||
#X obj 472 320 gemlist_matrix;
|
||||
#X text 14 351 see also :;
|
||||
#X text 29 77 Description: get curent transformation matrix of a gemlist
|
||||
;
|
||||
#X msg 496 378 \$1 \$2 \$3;
|
||||
#X msg 503 398 \$5 \$6 \$7;
|
||||
#X msg 510 419 \$9 \$10 \$11;
|
||||
#X msg 517 440 \$13 \$14 \$15;
|
||||
#X text 50 12 Synopsis: [gemlist_matrix];
|
||||
#X text 42 94 [gemlist_matrix] accepts a gemList and output the transformation
|
||||
matrix.;
|
||||
#X text 62 265 Outlet 2: transformation matrix (16 floats);
|
||||
#X connect 11 0 12 0;
|
||||
#X connect 12 0 11 0;
|
||||
#X connect 19 0 32 0;
|
||||
#X connect 20 0 32 1;
|
||||
#X connect 21 0 32 2;
|
||||
#X connect 22 0 32 3;
|
||||
#X connect 23 0 30 1;
|
||||
#X connect 24 0 30 2;
|
||||
#X connect 25 0 30 3;
|
||||
#X connect 26 0 31 1;
|
||||
#X connect 27 0 31 2;
|
||||
#X connect 28 0 31 3;
|
||||
#X connect 29 0 30 0;
|
||||
#X connect 30 0 37 0;
|
||||
#X connect 31 0 29 0;
|
||||
#X connect 32 0 31 0;
|
||||
#X connect 33 0 29 1;
|
||||
#X connect 34 0 29 2;
|
||||
#X connect 35 0 29 3;
|
||||
#X connect 37 1 40 0;
|
||||
#X connect 37 1 41 0;
|
||||
#X connect 37 1 42 0;
|
||||
#X connect 37 1 43 0;
|
|
@ -1,115 +0,0 @@
|
|||
#N canvas 179 30 929 414 10;
|
||||
#X obj 7 65 cnv 15 450 170 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X obj 8 283 cnv 15 450 120 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X text 9 288 Inlets:;
|
||||
#X obj 8 245 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#X text 17 244 Arguments:;
|
||||
#X text 452 8 GEM object;
|
||||
#X text 9 317 Outlets:;
|
||||
#X text 475 29 Example:;
|
||||
#X text 54 30 Class: control object;
|
||||
#X obj 466 64 cnv 15 170 180 empty empty empty 20 12 0 14 -228992 -66577
|
||||
0;
|
||||
#X obj 466 284 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#N canvas 0 22 450 300 gemwin 0;
|
||||
#X obj 132 136 gemwin;
|
||||
#X obj 67 89 outlet;
|
||||
#X obj 67 10 inlet;
|
||||
#X obj 67 41 route create;
|
||||
#X msg 67 70 set destroy;
|
||||
#X msg 142 68 set create;
|
||||
#X msg 198 112 destroy;
|
||||
#X msg 132 112 create \, 1;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 3 0 7 0;
|
||||
#X connect 3 1 5 0;
|
||||
#X connect 3 1 6 0;
|
||||
#X connect 4 0 1 0;
|
||||
#X connect 5 0 1 0;
|
||||
#X connect 6 0 0 0;
|
||||
#X connect 7 0 0 0;
|
||||
#X restore 471 323 pd gemwin;
|
||||
#X msg 471 304 create;
|
||||
#X text 467 283 Create window:;
|
||||
#X text 27 300 Inlet 1: non - used;
|
||||
#X text 468 364 see also:;
|
||||
#X text 33 14 Synopsis: [gemmouse];
|
||||
#X text 7 69 Description: mouse events in the GEM window;
|
||||
#X text 16 86 [gemmouse] sends out mouse events which occur in the
|
||||
GEM window. The X and Y Position go from 0 to the size of the window
|
||||
in pixels. The point (0 \, 0) is in the top left of the window.;
|
||||
#X text 15 141 You can also set some normalization of the output coordinates
|
||||
with arguments.;
|
||||
#X text 15 170 The button outlets send a 1 when the specified button
|
||||
is pressed and a 0 when it is released.;
|
||||
#X text 63 255 [list : x-normalization y-normalization];
|
||||
#X text 21 330 Outlet 1: x position;
|
||||
#X text 21 343 Outlet 2: y position;
|
||||
#X text 21 355 Outlet 3: left button state;
|
||||
#X text 21 368 Outlet 4: middle button state;
|
||||
#X text 21 381 Outlet 5: right button state;
|
||||
#X obj 466 385 gemkeyboard;
|
||||
#X obj 478 82 cnv 15 100 40 empty empty empty 20 12 0 14 -24198 -66577
|
||||
0;
|
||||
#X obj 491 93 gemmouse;
|
||||
#X floatatom 491 218 9 0 0 1 X-position - -;
|
||||
#X floatatom 502 196 8 0 0 1 Y-position - -;
|
||||
#X floatatom 513 174 2 0 0 1 left-Button - -;
|
||||
#X floatatom 524 153 2 0 0 1 middle-Button - -;
|
||||
#X floatatom 536 129 2 0 0 1 right-Button - -;
|
||||
#X obj 642 64 cnv 15 280 180 empty empty empty 20 12 0 14 -228992 -66577
|
||||
0;
|
||||
#X obj 654 82 cnv 15 100 40 empty empty empty 20 12 0 14 -24198 -66577
|
||||
0;
|
||||
#X floatatom 657 135 9 0 0 1 X-position - -;
|
||||
#X floatatom 674 113 8 0 0 1 Y-position - -;
|
||||
#X text 792 134 (normalized to 0..1);
|
||||
#X obj 657 89 gemmouse 1 1;
|
||||
#X text 791 111 (normalized to 0..1);
|
||||
#X obj 656 186 tgl 15 1 empty empty empty 17 7 0 10 -262144 -1 -1 1
|
||||
1;
|
||||
#N canvas 589 352 498 353 follow_mouse 0;
|
||||
#X obj 112 29 inlet;
|
||||
#X obj 168 74 * 8;
|
||||
#X obj 168 97 - 4;
|
||||
#X obj 168 31 inlet;
|
||||
#X obj 112 129 gemhead;
|
||||
#X obj 112 189 translateXYZ;
|
||||
#X obj 112 217 colorRGB 1 0 0;
|
||||
#X obj 112 242 square 0.25;
|
||||
#X obj 214 139 - 4;
|
||||
#X obj 214 33 inlet;
|
||||
#X text 253 76 invert y;
|
||||
#X obj 214 116 * 8;
|
||||
#X msg 214 57 1 \$1;
|
||||
#X obj 214 81 -;
|
||||
#X connect 0 0 4 0;
|
||||
#X connect 1 0 2 0;
|
||||
#X connect 2 0 5 1;
|
||||
#X connect 3 0 1 0;
|
||||
#X connect 4 0 5 0;
|
||||
#X connect 5 0 6 0;
|
||||
#X connect 6 0 7 0;
|
||||
#X connect 8 0 5 2;
|
||||
#X connect 9 0 12 0;
|
||||
#X connect 11 0 8 0;
|
||||
#X connect 12 0 13 0;
|
||||
#X connect 13 0 11 0;
|
||||
#X restore 656 209 pd follow_mouse;
|
||||
#X connect 11 0 12 0;
|
||||
#X connect 12 0 11 0;
|
||||
#X connect 29 0 30 0;
|
||||
#X connect 29 1 31 0;
|
||||
#X connect 29 2 32 0;
|
||||
#X connect 29 3 33 0;
|
||||
#X connect 29 4 34 0;
|
||||
#X connect 37 0 43 1;
|
||||
#X connect 38 0 43 2;
|
||||
#X connect 40 0 37 0;
|
||||
#X connect 40 1 38 0;
|
||||
#X connect 42 0 43 0;
|
|
@ -1,32 +0,0 @@
|
|||
#N canvas 293 148 600 556 10;
|
||||
#X text 135 37 part of GEM;
|
||||
#X obj 157 187 gemorb 1;
|
||||
#X text 69 93 respond to events of a SpaceOrb on a specified commport.
|
||||
;
|
||||
#X msg 157 290 (X Y Z) Position;
|
||||
#X msg 182 255 (X Y Z) Rotation;
|
||||
#X msg 208 219 (a b c d e f g) Button;
|
||||
#X text 152 70 [gemorb];
|
||||
#X text 67 326 [gemorb] connects to a SpaceOrb onthe commport specified
|
||||
as the creation-argument.;
|
||||
#X text 70 358 You have to have a SpaceOrb to make serious use of [gemorb]
|
||||
;
|
||||
#X text 66 389 Position and Rotation give you float-triplets specifying
|
||||
the position/rotation at/for the 3 axis;
|
||||
#X text 66 426 Button gives a 9tupel with the state \, each button
|
||||
is in;
|
||||
#X msg 180 118 reset;
|
||||
#X msg 180 140 timer <time>;
|
||||
#X msg 180 162 nullregion <region>;
|
||||
#X text 65 450 You can reset the SpaceOrb either with the Reset-Button
|
||||
on the device or with the "reset"-message.;
|
||||
#X text 67 483 You can define the nullregion with the "nullregion"-message.
|
||||
;
|
||||
#X text 67 503 You can set the pause between the polls of the SpaceOrb
|
||||
with the "timer" message.;
|
||||
#X connect 1 0 3 0;
|
||||
#X connect 1 1 4 0;
|
||||
#X connect 1 2 5 0;
|
||||
#X connect 11 0 1 0;
|
||||
#X connect 12 0 1 0;
|
||||
#X connect 13 0 1 0;
|
|
@ -1,62 +0,0 @@
|
|||
#N canvas 4 52 570 713 10;
|
||||
#X obj 96 51 gemreceive;
|
||||
#X text 169 51 ordered receive;
|
||||
#X obj 72 227 gemreceive foo -1;
|
||||
#X obj 72 249 print first;
|
||||
#X obj 412 227 gemreceive foo 12;
|
||||
#X obj 412 249 print third;
|
||||
#X obj 282 227 gemreceive foo 1996;
|
||||
#X obj 282 249 print fourth;
|
||||
#X obj 182 249 print second;
|
||||
#X obj 72 196 s foo;
|
||||
#X text 58 91 [gemreceive] takes an additional argument (compared to
|
||||
Pd's [receive]) that specifies the priority.;
|
||||
#X text 61 136 The higher the number \, the later the object will receive!
|
||||
;
|
||||
#X obj 182 227 gemreceive foo;
|
||||
#X text 223 169 the default priority is "0";
|
||||
#X text 76 298 1st inlet allows you to change the receiver name;
|
||||
#X obj 107 371 gemreceive bar;
|
||||
#X obj 107 393 print foobar;
|
||||
#X msg 235 337 FOO;
|
||||
#X msg 273 337 BAR;
|
||||
#X obj 273 359 s bar;
|
||||
#X msg 123 351 symbol bar;
|
||||
#X text 80 443 2nd inlet let's you change the priority on the fly;
|
||||
#X obj 116 610 gemreceive foobar 10;
|
||||
#X obj 252 610 gemreceive foobar 20;
|
||||
#X obj 116 632 print left;
|
||||
#X obj 252 632 print right;
|
||||
#X msg 116 464 left2right;
|
||||
#X obj 116 518 t a a;
|
||||
#X obj 233 520 route left2right right2left;
|
||||
#X msg 202 464 right2left;
|
||||
#X msg 233 542 10 20;
|
||||
#X msg 312 543 20 10;
|
||||
#X obj 233 564 unpack;
|
||||
#X obj 116 540 s foobar;
|
||||
#X msg 72 173 bang;
|
||||
#X obj 235 359 s fou;
|
||||
#X msg 107 331 symbol fou;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 4 0 5 0;
|
||||
#X connect 6 0 7 0;
|
||||
#X connect 12 0 8 0;
|
||||
#X connect 15 0 16 0;
|
||||
#X connect 17 0 35 0;
|
||||
#X connect 18 0 19 0;
|
||||
#X connect 20 0 15 0;
|
||||
#X connect 22 0 24 0;
|
||||
#X connect 23 0 25 0;
|
||||
#X connect 26 0 27 0;
|
||||
#X connect 27 0 33 0;
|
||||
#X connect 27 1 28 0;
|
||||
#X connect 28 0 30 0;
|
||||
#X connect 28 1 31 0;
|
||||
#X connect 29 0 27 0;
|
||||
#X connect 30 0 32 0;
|
||||
#X connect 31 0 32 0;
|
||||
#X connect 32 0 22 1;
|
||||
#X connect 32 1 23 1;
|
||||
#X connect 34 0 9 0;
|
||||
#X connect 36 0 15 0;
|
|
@ -1,25 +0,0 @@
|
|||
#N canvas 293 148 600 385 10;
|
||||
#X text 135 37 part of GEM;
|
||||
#X text 152 70 [gemtablet];
|
||||
#X text 69 93 respond to events of a graph-tablet;
|
||||
#X obj 110 118 gemtablet ........;
|
||||
#X text 67 326 [gemtablet] connects to a graph-tablet. You have to
|
||||
have a graph-tablet to make any use of [gemtablet];
|
||||
#X floatatom 110 304 5 0 0 1 X-pos - -;
|
||||
#X floatatom 125 287 5 0 0 1 Y-pos - -;
|
||||
#X floatatom 140 267 5 0 0 1 Pressure - -;
|
||||
#X floatatom 155 246 5 0 0 1 Azimuth - -;
|
||||
#X floatatom 170 226 5 0 0 1 Altitude - -;
|
||||
#X floatatom 185 207 5 0 0 1 Twist - -;
|
||||
#X floatatom 200 178 1 0 0 1 Left_Button - -;
|
||||
#X floatatom 215 160 1 0 0 1 Middle_Button - -;
|
||||
#X floatatom 231 140 1 0 0 1 Right_Button - -;
|
||||
#X connect 3 0 5 0;
|
||||
#X connect 3 1 6 0;
|
||||
#X connect 3 2 7 0;
|
||||
#X connect 3 3 8 0;
|
||||
#X connect 3 4 9 0;
|
||||
#X connect 3 5 10 0;
|
||||
#X connect 3 6 11 0;
|
||||
#X connect 3 7 12 0;
|
||||
#X connect 3 8 13 0;
|
|
@ -1,887 +0,0 @@
|
|||
#N canvas 192 122 1084 672 10;
|
||||
#N canvas 1 84 450 300 fps 0;
|
||||
#X obj 46 -61 gemhead;
|
||||
#X obj 46 -21 realtime;
|
||||
#X obj 46 -41 t b b;
|
||||
#X obj 46 41 /;
|
||||
#X msg 46 21 1000 \$1;
|
||||
#X obj 46 106 outlet;
|
||||
#X obj 46 63 + 0.5;
|
||||
#X obj 46 85 i;
|
||||
#X connect 0 0 2 0;
|
||||
#X connect 1 0 4 0;
|
||||
#X connect 2 0 1 0;
|
||||
#X connect 2 1 1 1;
|
||||
#X connect 3 0 6 0;
|
||||
#X connect 4 0 3 0;
|
||||
#X connect 6 0 7 0;
|
||||
#X connect 7 0 5 0;
|
||||
#X restore 466 149 pd fps;
|
||||
#X floatatom 466 172 5 0 0 1 fps - -;
|
||||
#X obj 6 76 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X obj 7 236 cnv 15 450 260 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X obj 7 181 cnv 15 450 50 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#X text 59 27 Class: geometric object;
|
||||
#X text 467 7 GEM object;
|
||||
#X text 61 7 Synopsis: [gemvertexbuffer];
|
||||
#X obj 462 76 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#N canvas 5 76 450 300 gemwin 0;
|
||||
#X obj 132 246 gemwin;
|
||||
#X obj 67 89 outlet;
|
||||
#X obj 67 10 inlet;
|
||||
#X obj 67 41 route create;
|
||||
#X msg 67 70 set destroy;
|
||||
#X msg 142 68 set create;
|
||||
#X msg 198 142 destroy;
|
||||
#X msg 132 142 create \, 1;
|
||||
#X obj 245 38 loadbang;
|
||||
#X msg 272 82 reset \, frame 100;
|
||||
#X obj 245 58 t b b;
|
||||
#X obj 132 117 t b b;
|
||||
#X msg 376 135 \; pd dsp 1;
|
||||
#X obj 349 114 t b b;
|
||||
#X obj 349 181 del 100;
|
||||
#X obj 349 201 s \$0-init100;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 3 0 11 0;
|
||||
#X connect 3 1 5 0;
|
||||
#X connect 3 1 6 0;
|
||||
#X connect 4 0 1 0;
|
||||
#X connect 5 0 1 0;
|
||||
#X connect 6 0 0 0;
|
||||
#X connect 7 0 0 0;
|
||||
#X connect 8 0 10 0;
|
||||
#X connect 9 0 0 0;
|
||||
#X connect 10 0 5 0;
|
||||
#X connect 10 1 9 0;
|
||||
#X connect 11 0 7 0;
|
||||
#X connect 11 1 13 0;
|
||||
#X connect 13 0 14 0;
|
||||
#X connect 13 1 12 0;
|
||||
#X connect 14 0 15 0;
|
||||
#X restore 467 115 pd gemwin;
|
||||
#X msg 467 96 destroy;
|
||||
#X text 463 75 Create window:;
|
||||
#X text 6 80 Description: Renders a vertexbuffer.;
|
||||
#X text 11 179 Arguments:;
|
||||
#X text 57 190 number of vertex to be used. nuber in form of 2^n work
|
||||
better;
|
||||
#X text 9 241 Inlets:;
|
||||
#X text 27 253 Inlet 1: gemlist;
|
||||
#X text 9 450 Outlets:;
|
||||
#X text 21 463 Outlet 1: gemlist;
|
||||
#X text 27 409 Inlet 1: message: postion_enable float \, color_enable
|
||||
float \, texture_enable float \, normal_enable float : enable/disable
|
||||
the use of this data;
|
||||
#X obj 569 6 cnv 15 400 600 empty empty empty 20 12 0 14 -228992 -66577
|
||||
0;
|
||||
#X obj 576 568 cnv 15 150 30 empty empty empty 20 12 0 14 -24198 -66577
|
||||
0;
|
||||
#X obj 579 574 gemvertexbuffer;
|
||||
#X msg 792 483 draw line;
|
||||
#X msg 802 504 draw points;
|
||||
#X msg 692 384 color_enable \$1;
|
||||
#X obj 673 384 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
|
||||
1;
|
||||
#X obj 579 134 GEMglPointSize 1;
|
||||
#X obj 816 528 loadbang;
|
||||
#X obj 579 76 translateXYZ 0 0 -2;
|
||||
#X obj 579 114 rotateXYZ -45 0 -50;
|
||||
#X obj 579 57 gemhead;
|
||||
#X text 594 254 update VBO using table value;
|
||||
#X obj 643 366 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
|
||||
1;
|
||||
#X msg 665 364 position_enable \$1;
|
||||
#X obj 729 424 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
|
||||
1;
|
||||
#X obj 699 406 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
|
||||
1;
|
||||
#X msg 721 404 texture_enable \$1;
|
||||
#X msg 748 424 normal_enable \$1;
|
||||
#X text 612 444 default : all VBO are disabled \, but they are enable
|
||||
as soon as they are updated;
|
||||
#X obj 579 215 pix_image;
|
||||
#X obj 579 234 pix_texture;
|
||||
#X obj 593 153 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1;
|
||||
#N canvas 0 0 450 300 openpanel 0;
|
||||
#X obj 114 62 inlet;
|
||||
#X obj 121 254 outlet;
|
||||
#X obj 114 125 openpanel;
|
||||
#X msg 114 162 set open \$1;
|
||||
#X obj 114 199 t b a;
|
||||
#X connect 0 0 2 0;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 4 0 1 0;
|
||||
#X connect 4 1 1 0;
|
||||
#X restore 593 170 pd openpanel;
|
||||
#X msg 593 189;
|
||||
#X text 671 349 enable / disable specific VBO;
|
||||
#X obj 579 33 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
|
||||
1;
|
||||
#X text 577 14 Example:;
|
||||
#X msg 816 551 resize 128;
|
||||
#X floatatom 710 88 5 0 0 0 - - -;
|
||||
#X obj 579 95 scale 3;
|
||||
#X msg 593 271 position blablax blablay blablaz;
|
||||
#X msg 604 290 color colorr colorg colorb colora;
|
||||
#X msg 614 310 texture colorr colorg;
|
||||
#X msg 627 331 normal colorr blablay blablaz;
|
||||
#X obj 740 170 bng 15 250 50 0 empty \$0-init100 empty 17 7 0 10 -262144
|
||||
-1 -1;
|
||||
#X obj 841 56 cnv 15 120 160 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#N canvas 614 149 657 666 lorenz 0;
|
||||
#X floatatom 82 248 5 0 0 0 - - -;
|
||||
#X floatatom 124 248 5 0 0 0 - - -;
|
||||
#X floatatom 83 201 5 0 0 0 - - -;
|
||||
#X floatatom 125 201 5 0 0 0 - - -;
|
||||
#X floatatom 81 156 5 0 0 0 - - -;
|
||||
#X floatatom 124 156 5 0 0 0 - - -;
|
||||
#N canvas 145 116 1131 666 table 0;
|
||||
#X obj 266 31 loadbang;
|
||||
#X msg 266 53 dsp 1;
|
||||
#X obj 266 75 s pd;
|
||||
#X obj 38 33 loadbang;
|
||||
#X obj 89 68 sig~ 1;
|
||||
#X obj 89 140 osc~ 1;
|
||||
#X obj 88 160 abs~;
|
||||
#X obj 87 223 osc~ 11;
|
||||
#X obj 86 243 abs~;
|
||||
#X obj 38 58 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
|
||||
-1;
|
||||
#X obj 87 310 sig~ 0.7;
|
||||
#X obj 392 275 v pr;
|
||||
#X obj 523 276 v r;
|
||||
#X obj 449 277 v b;
|
||||
#X floatatom 392 246 5 0 0 0 - - -;
|
||||
#X floatatom 523 248 5 0 0 0 - - -;
|
||||
#X msg 393 221 10;
|
||||
#X obj 447 218 expr 8./3;
|
||||
#X msg 344 344 set 1.2 2.3 4.4;
|
||||
#X floatatom 449 247 7 0 0 0 - - -;
|
||||
#X msg 321 308 stop;
|
||||
#X msg 291 275 start;
|
||||
#X floatatom 615 248 5 0 0 0 - - -;
|
||||
#X obj 615 277 v dt;
|
||||
#X msg 526 220 18;
|
||||
#X msg 611 221 0.01;
|
||||
#X obj 344 167 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
|
||||
-1;
|
||||
#X text 679 250 <- experiment with these numbers;
|
||||
#X obj 705 223 line;
|
||||
#X obj 344 449 /~ 20;
|
||||
#X obj 450 446 /~ 20;
|
||||
#X obj 556 445 /~ 20;
|
||||
#X msg 706 198 0.01 \, 0.04 5000;
|
||||
#X obj 344 393 fexpr~ $y1+(pr*$y2-pr*$y1)*dt \; $y2 +(-$y1*$y3 + r*$y1-$y2)*dt
|
||||
\; $y3+($y1*$y2 - b*$y3)*dt;
|
||||
#X obj 276 164 loadbang;
|
||||
#X text 329 108 This is an example of how fexpr~ could be used for
|
||||
solving differential equations \, in this case the lorenz equations
|
||||
which generate chotic signals;
|
||||
#X text 577 390 Note the following shorthands:;
|
||||
#X text 576 406 $y1 -> $y1[-1] \, $y2 -> $y2[-1] \, .....;
|
||||
#X text 464 344 the 'set' commands sets the initial previous values
|
||||
;
|
||||
#X obj 639 442 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
|
||||
-1 -1;
|
||||
#X obj 673 437 loadbang;
|
||||
#X obj 572 473 sig~ -1;
|
||||
#X obj 673 467 metro 1000;
|
||||
#X obj 89 391 table \$0blablax2 100000;
|
||||
#X obj 87 411 table \$0blablay2 100000;
|
||||
#X obj 87 431 table \$0blablaz2 100000;
|
||||
#X obj 86 356 table \$0colora2 100000;
|
||||
#X obj 86 335 tabwrite~ \$0colora2;
|
||||
#X obj 87 287 table \$0colorb2 100000;
|
||||
#X obj 86 265 tabwrite~ \$0colorb2;
|
||||
#X obj 88 203 table \$0colorg2 100000;
|
||||
#X obj 87 180 tabwrite~ \$0colorg2;
|
||||
#X obj 87 112 table \$0colorr2 100000;
|
||||
#X obj 88 91 tabwrite~ \$0colorr2;
|
||||
#X obj 344 537 tabwrite~ \$0blablax2;
|
||||
#X obj 451 517 tabwrite~ \$0blablay2;
|
||||
#X obj 555 497 tabwrite~ \$0blablaz2;
|
||||
#X connect 0 0 1 0;
|
||||
#X connect 1 0 2 0;
|
||||
#X connect 3 0 9 0;
|
||||
#X connect 4 0 53 0;
|
||||
#X connect 5 0 6 0;
|
||||
#X connect 6 0 51 0;
|
||||
#X connect 7 0 8 0;
|
||||
#X connect 8 0 49 0;
|
||||
#X connect 9 0 47 0;
|
||||
#X connect 9 0 49 0;
|
||||
#X connect 9 0 51 0;
|
||||
#X connect 9 0 53 0;
|
||||
#X connect 10 0 47 0;
|
||||
#X connect 14 0 11 0;
|
||||
#X connect 15 0 12 0;
|
||||
#X connect 16 0 14 0;
|
||||
#X connect 17 0 19 0;
|
||||
#X connect 18 0 33 0;
|
||||
#X connect 19 0 13 0;
|
||||
#X connect 20 0 33 0;
|
||||
#X connect 21 0 33 0;
|
||||
#X connect 22 0 23 0;
|
||||
#X connect 24 0 15 0;
|
||||
#X connect 25 0 22 0;
|
||||
#X connect 26 0 16 0;
|
||||
#X connect 26 0 17 0;
|
||||
#X connect 26 0 24 0;
|
||||
#X connect 26 0 25 0;
|
||||
#X connect 26 0 18 0;
|
||||
#X connect 26 0 21 0;
|
||||
#X connect 28 0 22 0;
|
||||
#X connect 29 0 54 0;
|
||||
#X connect 30 0 55 0;
|
||||
#X connect 31 0 56 0;
|
||||
#X connect 32 0 28 0;
|
||||
#X connect 33 0 29 0;
|
||||
#X connect 33 1 30 0;
|
||||
#X connect 33 2 31 0;
|
||||
#X connect 34 0 26 0;
|
||||
#X connect 39 0 54 0;
|
||||
#X connect 39 0 55 0;
|
||||
#X connect 39 0 56 0;
|
||||
#X connect 40 0 42 0;
|
||||
#X connect 41 0 56 0;
|
||||
#X connect 42 0 39 0;
|
||||
#X restore 259 348 pd table;
|
||||
#X obj 38 136 alpha;
|
||||
#X msg 118 577 draw line;
|
||||
#X msg 184 575 draw points;
|
||||
#X floatatom 147 288 5 0 0 0 - - -;
|
||||
#X msg 82 449 color_enable \$1;
|
||||
#X obj 82 430 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
|
||||
1;
|
||||
#X obj 38 222 scaleXYZ 3 3 3;
|
||||
#X obj 38 305 GEMglPointSize 1;
|
||||
#X obj 38 174 translateXYZ 0 0 -2;
|
||||
#X obj 38 267 rotateXYZ -45 0 -50;
|
||||
#X obj 38 114 gemhead;
|
||||
#X obj 56 346 gemhead 10;
|
||||
#X obj 56 327 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
|
||||
1;
|
||||
#X obj 56 367 t b;
|
||||
#X obj 98 115 switch~;
|
||||
#X obj 38 43 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1
|
||||
;
|
||||
#X obj 116 10 loadbang;
|
||||
#X obj 90 497 delay 1000;
|
||||
#X obj 90 475 sel 1;
|
||||
#X obj 38 13 inlet;
|
||||
#X obj 218 469 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
|
||||
-1 -1;
|
||||
#X obj 218 444 loadbang;
|
||||
#X obj 38 614 gemvertexbuffer 100000;
|
||||
#X msg 116 32 0;
|
||||
#X obj 91 516 i \$0;
|
||||
#X msg 90 538 colorR \$1colorr2 \, colorG \$1colorg2 \, colorB \$1colorb2
|
||||
\, colorA \$1colora2;
|
||||
#X obj 38 69 t f f f f;
|
||||
#X obj 56 387 i \$0;
|
||||
#X msg 56 407 posX \$1blablax2 \, posY \$1blablay2 \, posZ \$1blablaz2
|
||||
;
|
||||
#X connect 0 0 16 1;
|
||||
#X connect 1 0 16 2;
|
||||
#X connect 2 0 13 1;
|
||||
#X connect 3 0 13 2;
|
||||
#X connect 4 0 15 1;
|
||||
#X connect 5 0 15 2;
|
||||
#X connect 7 0 15 0;
|
||||
#X connect 8 0 29 0;
|
||||
#X connect 9 0 29 0;
|
||||
#X connect 10 0 14 1;
|
||||
#X connect 11 0 29 0;
|
||||
#X connect 12 0 11 0;
|
||||
#X connect 13 0 16 0;
|
||||
#X connect 14 0 29 0;
|
||||
#X connect 15 0 13 0;
|
||||
#X connect 16 0 14 0;
|
||||
#X connect 17 0 7 0;
|
||||
#X connect 18 0 20 0;
|
||||
#X connect 19 0 18 0;
|
||||
#X connect 20 0 34 0;
|
||||
#X connect 22 0 33 0;
|
||||
#X connect 23 0 30 0;
|
||||
#X connect 24 0 31 0;
|
||||
#X connect 25 0 24 0;
|
||||
#X connect 26 0 22 0;
|
||||
#X connect 27 0 31 0;
|
||||
#X connect 28 0 27 0;
|
||||
#X connect 30 0 22 0;
|
||||
#X connect 31 0 32 0;
|
||||
#X connect 32 0 29 0;
|
||||
#X connect 33 0 17 0;
|
||||
#X connect 33 1 19 0;
|
||||
#X connect 33 2 25 0;
|
||||
#X connect 33 3 21 0;
|
||||
#X connect 34 0 35 0;
|
||||
#X connect 35 0 29 0;
|
||||
#X restore 849 100 pd lorenz;
|
||||
#X obj 849 80 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
|
||||
1;
|
||||
#N canvas 1285 273 805 628 wave 0;
|
||||
#X floatatom 87 237 5 0 0 0 - - -;
|
||||
#X floatatom 129 237 5 0 0 0 - - -;
|
||||
#X floatatom 172 237 5 0 0 0 - - -;
|
||||
#X floatatom 88 190 5 0 0 0 - - -;
|
||||
#X floatatom 130 190 5 0 0 0 - - -;
|
||||
#X floatatom 173 190 5 0 0 0 - - -;
|
||||
#X floatatom 86 145 5 0 0 0 - - -;
|
||||
#X floatatom 129 145 5 0 0 0 - - -;
|
||||
#X floatatom 173 145 5 0 0 0 - - -;
|
||||
#X obj 43 592 gemvertexbuffer;
|
||||
#N canvas 186 169 1131 747 table 0;
|
||||
#X obj 36 59 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
|
||||
-1;
|
||||
#X obj 583 129 until;
|
||||
#X msg 583 110 100;
|
||||
#N canvas 0 0 450 300 count 0;
|
||||
#X obj 47 31 inlet;
|
||||
#X obj 47 126 f;
|
||||
#X obj 157 30 inlet;
|
||||
#X obj 65 104 + 1;
|
||||
#X obj 47 154 t f f;
|
||||
#X msg 157 58 0;
|
||||
#X obj 47 187 outlet;
|
||||
#X connect 0 0 1 0;
|
||||
#X connect 1 0 4 0;
|
||||
#X connect 2 0 5 0;
|
||||
#X connect 3 0 1 1;
|
||||
#X connect 4 0 6 0;
|
||||
#X connect 4 1 3 0;
|
||||
#X connect 5 0 1 1;
|
||||
#X restore 583 148 pd count;
|
||||
#X obj 440 70 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
|
||||
-1;
|
||||
#X obj 583 91 t b b;
|
||||
#X obj 583 264 until;
|
||||
#X msg 583 245 100;
|
||||
#N canvas 0 0 450 300 count 0;
|
||||
#X obj 47 31 inlet;
|
||||
#X obj 47 126 f;
|
||||
#X obj 157 30 inlet;
|
||||
#X obj 65 104 + 1;
|
||||
#X obj 47 154 t f f;
|
||||
#X msg 157 58 0;
|
||||
#X obj 47 187 outlet;
|
||||
#X connect 0 0 1 0;
|
||||
#X connect 1 0 4 0;
|
||||
#X connect 2 0 5 0;
|
||||
#X connect 3 0 1 1;
|
||||
#X connect 4 0 6 0;
|
||||
#X connect 4 1 3 0;
|
||||
#X connect 5 0 1 1;
|
||||
#X restore 583 283 pd count;
|
||||
#X obj 583 224 t b b f;
|
||||
#X obj 583 359 pack f f;
|
||||
#X obj 583 321 - 0.5;
|
||||
#X obj 583 302 / 99;
|
||||
#X obj 583 340 * 2;
|
||||
#X obj 583 186 - 0.5;
|
||||
#X obj 583 167 / 99;
|
||||
#X obj 583 205 * 2;
|
||||
#X obj 583 383 t a a a a a a;
|
||||
#X obj 671 404 unpack f f;
|
||||
#X obj 583 509 + 0.01;
|
||||
#X obj 796 513 + 0.01;
|
||||
#N canvas 0 0 450 300 count 0;
|
||||
#X obj 47 31 inlet;
|
||||
#X obj 47 126 f;
|
||||
#X obj 157 30 inlet;
|
||||
#X obj 65 104 + 1;
|
||||
#X obj 47 154 t f f;
|
||||
#X msg 157 58 0;
|
||||
#X obj 47 187 outlet;
|
||||
#X connect 0 0 1 0;
|
||||
#X connect 1 0 4 0;
|
||||
#X connect 2 0 5 0;
|
||||
#X connect 3 0 1 1;
|
||||
#X connect 4 0 6 0;
|
||||
#X connect 4 1 3 0;
|
||||
#X connect 5 0 1 1;
|
||||
#X restore 692 582 pd count;
|
||||
#X obj 583 551 t f b;
|
||||
#N canvas 0 0 450 300 count 0;
|
||||
#X obj 47 31 inlet;
|
||||
#X obj 47 126 f;
|
||||
#X obj 157 30 inlet;
|
||||
#X obj 65 104 + 1;
|
||||
#X obj 47 154 t f f;
|
||||
#X msg 157 58 0;
|
||||
#X obj 47 187 outlet;
|
||||
#X connect 0 0 1 0;
|
||||
#X connect 1 0 4 0;
|
||||
#X connect 2 0 5 0;
|
||||
#X connect 3 0 1 1;
|
||||
#X connect 4 0 6 0;
|
||||
#X connect 4 1 3 0;
|
||||
#X connect 5 0 1 1;
|
||||
#X restore 905 585 pd count;
|
||||
#X obj 796 554 t f b;
|
||||
#X obj 640 508 - 0.01;
|
||||
#X obj 851 513 - 0.01;
|
||||
#X obj 653 423 unpack f f;
|
||||
#X obj 635 442 unpack f f;
|
||||
#X obj 583 461 unpack f f;
|
||||
#X obj 440 92 t b b;
|
||||
#X obj 440 134 until;
|
||||
#N canvas 0 0 450 300 count 0;
|
||||
#X obj 47 31 inlet;
|
||||
#X obj 47 126 f;
|
||||
#X obj 157 30 inlet;
|
||||
#X obj 65 104 + 1;
|
||||
#X obj 47 154 t f f;
|
||||
#X msg 157 58 0;
|
||||
#X obj 47 187 outlet;
|
||||
#X connect 0 0 1 0;
|
||||
#X connect 1 0 4 0;
|
||||
#X connect 2 0 5 0;
|
||||
#X connect 3 0 1 1;
|
||||
#X connect 4 0 6 0;
|
||||
#X connect 4 1 3 0;
|
||||
#X connect 5 0 1 1;
|
||||
#X restore 440 153 pd count;
|
||||
#X obj 440 176 t f f f;
|
||||
#X obj 440 239 t f f;
|
||||
#X obj 440 261 *;
|
||||
#X obj 485 240 t f f;
|
||||
#X obj 485 262 *;
|
||||
#X obj 440 292 +;
|
||||
#X obj 440 335 sqrt;
|
||||
#X obj 440 416 cos;
|
||||
#X obj 440 313 t f f;
|
||||
#X obj 477 377 exp;
|
||||
#X obj 440 442 /;
|
||||
#X msg 440 115 60000;
|
||||
#X obj 477 355 * 2;
|
||||
#X obj 341 46 gemhead 10;
|
||||
#X obj 341 72 t b b;
|
||||
#X obj 349 318 f;
|
||||
#X obj 440 380 +;
|
||||
#X floatatom 903 395 5 0 0 0 - - -;
|
||||
#X obj 583 71 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
|
||||
-1;
|
||||
#X obj 87 310 sig~ 0.3;
|
||||
#X obj 903 371 / 99;
|
||||
#X msg 903 347 1;
|
||||
#X obj 383 322 - 0.1;
|
||||
#X obj 440 354 * 7;
|
||||
#X obj 440 31 t b b b;
|
||||
#X text 162 619 color and position are updated at every frame. you
|
||||
just have to change array value....;
|
||||
#X text 156 504 replace this with iem_tab_* stuf in order to increase
|
||||
performances if you wish to update point position at every frame;
|
||||
#X obj 36 -2 inlet;
|
||||
#X obj 123 122 f;
|
||||
#X obj 279 120 f;
|
||||
#X obj 438 6 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
|
||||
-1;
|
||||
#X obj 123 56 sin;
|
||||
#X obj 123 78 + 1;
|
||||
#X obj 123 100 * 0.5;
|
||||
#X obj 123 35 * 110;
|
||||
#X obj 87 244 table \$0colorg3 60000;
|
||||
#X obj 85 266 table \$0colorr3 60000;
|
||||
#X obj 86 286 table \$0colorb3 60000;
|
||||
#X obj 142 196 tabwrite \$0colorg3;
|
||||
#X obj 141 172 tabwrite \$0colorb3;
|
||||
#X obj 142 150 tabwrite \$0colorr3;
|
||||
#X obj 86 335 tabwrite~ \$0colora3;
|
||||
#X obj 86 356 table \$0colora3 60000;
|
||||
#X obj 87 393 table \$0blablax3 60000;
|
||||
#X obj 86 412 table \$0blablay3 60000;
|
||||
#X obj 87 431 table \$0blablaz3 60000;
|
||||
#X obj 440 466 tabwrite \$0blablaz3;
|
||||
#X obj 463 198 tabread \$0blablay3;
|
||||
#X obj 440 218 tabread \$0blablax3;
|
||||
#X obj 582 605 tabwrite \$0blablax3;
|
||||
#X obj 796 607 tabwrite \$0blablay3;
|
||||
#X connect 0 0 74 0;
|
||||
#X connect 1 0 3 0;
|
||||
#X connect 2 0 1 0;
|
||||
#X connect 3 0 15 0;
|
||||
#X connect 4 0 30 0;
|
||||
#X connect 5 0 2 0;
|
||||
#X connect 5 1 3 1;
|
||||
#X connect 5 1 21 1;
|
||||
#X connect 5 1 23 1;
|
||||
#X connect 6 0 8 0;
|
||||
#X connect 7 0 6 0;
|
||||
#X connect 8 0 12 0;
|
||||
#X connect 9 0 7 0;
|
||||
#X connect 9 1 8 1;
|
||||
#X connect 9 2 10 1;
|
||||
#X connect 10 0 17 0;
|
||||
#X connect 11 0 13 0;
|
||||
#X connect 12 0 11 0;
|
||||
#X connect 13 0 10 0;
|
||||
#X connect 14 0 16 0;
|
||||
#X connect 15 0 14 0;
|
||||
#X connect 16 0 9 0;
|
||||
#X connect 17 0 29 0;
|
||||
#X connect 17 1 18 0;
|
||||
#X connect 17 2 27 0;
|
||||
#X connect 17 3 28 0;
|
||||
#X connect 17 4 27 0;
|
||||
#X connect 17 5 18 0;
|
||||
#X connect 18 0 25 0;
|
||||
#X connect 18 1 20 0;
|
||||
#X connect 19 0 22 0;
|
||||
#X connect 20 0 24 0;
|
||||
#X connect 21 0 82 1;
|
||||
#X connect 22 0 82 0;
|
||||
#X connect 22 1 21 0;
|
||||
#X connect 23 0 83 1;
|
||||
#X connect 24 0 83 0;
|
||||
#X connect 24 1 23 0;
|
||||
#X connect 25 0 22 0;
|
||||
#X connect 26 0 24 0;
|
||||
#X connect 27 0 19 0;
|
||||
#X connect 27 1 26 0;
|
||||
#X connect 28 0 25 0;
|
||||
#X connect 28 1 26 0;
|
||||
#X connect 29 0 19 0;
|
||||
#X connect 29 1 20 0;
|
||||
#X connect 30 0 44 0;
|
||||
#X connect 30 1 32 1;
|
||||
#X connect 31 0 32 0;
|
||||
#X connect 32 0 33 0;
|
||||
#X connect 33 0 81 0;
|
||||
#X connect 33 1 80 0;
|
||||
#X connect 33 2 62 0;
|
||||
#X connect 33 2 79 1;
|
||||
#X connect 34 0 35 0;
|
||||
#X connect 34 1 35 1;
|
||||
#X connect 35 0 38 0;
|
||||
#X connect 36 0 37 0;
|
||||
#X connect 36 1 37 1;
|
||||
#X connect 37 0 38 1;
|
||||
#X connect 38 0 41 0;
|
||||
#X connect 39 0 56 0;
|
||||
#X connect 39 0 67 0;
|
||||
#X connect 40 0 43 0;
|
||||
#X connect 41 0 39 0;
|
||||
#X connect 41 1 45 0;
|
||||
#X connect 42 0 43 1;
|
||||
#X connect 43 0 79 0;
|
||||
#X connect 44 0 31 0;
|
||||
#X connect 45 0 42 0;
|
||||
#X connect 47 0 30 0;
|
||||
#X connect 47 1 48 0;
|
||||
#X connect 48 0 49 1;
|
||||
#X connect 48 0 55 0;
|
||||
#X connect 49 0 40 0;
|
||||
#X connect 50 0 19 1;
|
||||
#X connect 50 0 25 1;
|
||||
#X connect 50 0 20 1;
|
||||
#X connect 50 0 26 1;
|
||||
#X connect 51 0 5 0;
|
||||
#X connect 52 0 74 0;
|
||||
#X connect 53 0 50 0;
|
||||
#X connect 54 0 53 0;
|
||||
#X connect 55 0 48 1;
|
||||
#X connect 56 0 49 0;
|
||||
#X connect 57 0 4 0;
|
||||
#X connect 57 1 51 0;
|
||||
#X connect 57 2 54 0;
|
||||
#X connect 60 0 0 0;
|
||||
#X connect 60 0 57 0;
|
||||
#X connect 61 0 71 0;
|
||||
#X connect 61 0 72 0;
|
||||
#X connect 61 0 73 0;
|
||||
#X connect 62 0 71 1;
|
||||
#X connect 62 0 72 1;
|
||||
#X connect 62 0 73 1;
|
||||
#X connect 63 0 57 0;
|
||||
#X connect 64 0 65 0;
|
||||
#X connect 65 0 66 0;
|
||||
#X connect 66 0 61 0;
|
||||
#X connect 67 0 64 0;
|
||||
#X connect 80 0 36 0;
|
||||
#X connect 81 0 34 0;
|
||||
#X restore 298 556 pd table;
|
||||
#X obj 43 125 alpha;
|
||||
#X msg 98 518 draw points;
|
||||
#X obj 43 211 scaleXYZ 3 3 3;
|
||||
#X obj 106 549 loadbang;
|
||||
#X obj 43 163 translateXYZ 0 0 -2;
|
||||
#X obj 43 63 gemhead;
|
||||
#X obj 61 306 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
|
||||
1;
|
||||
#X obj 61 346 t b;
|
||||
#X msg 106 572 resize 60000;
|
||||
#X msg 94 495 draw triangle;
|
||||
#X msg 57 102 auto 1;
|
||||
#X obj 61 325 gemhead 20;
|
||||
#X obj 43 285 GEMglShadeModel GL_SMOOTH;
|
||||
#X obj 94 474 loadbang;
|
||||
#X obj 43 256 rotateXYZ -65 0 35;
|
||||
#X obj 57 82 loadbang;
|
||||
#X obj 43 12 inlet;
|
||||
#X obj 298 68 sel 1;
|
||||
#X obj 61 366 i \$0;
|
||||
#X obj 61 386 t f f;
|
||||
#X msg 61 416 position \$1blablax3 \$1blablay3 \$1blablaz3;
|
||||
#X msg 77 438 color \$1colorr3 \$1colorg3 \$1colorb3 \$1colora3;
|
||||
#X connect 0 0 25 1;
|
||||
#X connect 1 0 25 2;
|
||||
#X connect 2 0 25 3;
|
||||
#X connect 3 0 13 1;
|
||||
#X connect 4 0 13 2;
|
||||
#X connect 5 0 13 3;
|
||||
#X connect 6 0 15 1;
|
||||
#X connect 7 0 15 2;
|
||||
#X connect 8 0 15 3;
|
||||
#X connect 11 0 15 0;
|
||||
#X connect 12 0 9 0;
|
||||
#X connect 13 0 25 0;
|
||||
#X connect 14 0 19 0;
|
||||
#X connect 15 0 13 0;
|
||||
#X connect 16 0 11 0;
|
||||
#X connect 17 0 22 0;
|
||||
#X connect 18 0 29 0;
|
||||
#X connect 19 0 9 0;
|
||||
#X connect 20 0 9 0;
|
||||
#X connect 21 0 11 0;
|
||||
#X connect 22 0 18 0;
|
||||
#X connect 23 0 9 0;
|
||||
#X connect 24 0 20 0;
|
||||
#X connect 25 0 23 0;
|
||||
#X connect 26 0 21 0;
|
||||
#X connect 27 0 16 0;
|
||||
#X connect 27 0 28 0;
|
||||
#X connect 28 0 10 0;
|
||||
#X connect 29 0 30 0;
|
||||
#X connect 30 0 31 0;
|
||||
#X connect 30 1 32 0;
|
||||
#X connect 31 0 9 0;
|
||||
#X connect 32 0 9 0;
|
||||
#X restore 849 184 pd wave;
|
||||
#X obj 849 162 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
|
||||
1;
|
||||
#N canvas 1289 235 452 435 oscillo~ 0;
|
||||
#X obj 47 78 gemhead;
|
||||
#X obj 122 116 adc~;
|
||||
#X obj 218 63 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
|
||||
1;
|
||||
#X obj 218 41 loadbang;
|
||||
#X obj 47 5 inlet;
|
||||
#X obj 123 152 *~ 3;
|
||||
#X obj 47 279 t a b;
|
||||
#X obj 47 406 gemvertexbuffer 8192;
|
||||
#X obj 218 82 metro 200;
|
||||
#X obj 298 167 until;
|
||||
#X msg 298 143 8192;
|
||||
#X obj 298 191 f;
|
||||
#X obj 329 192 + 1;
|
||||
#X msg 348 163 0;
|
||||
#X obj 298 234 / 8191;
|
||||
#X obj 352 111 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
|
||||
-1 -1;
|
||||
#X obj 298 213 t f f;
|
||||
#X obj 298 277 * 7;
|
||||
#X obj 298 256 - 0.5;
|
||||
#X msg 82 384 draw linestrip;
|
||||
#X obj 82 363 loadbang;
|
||||
#X obj 63 30 loadbang;
|
||||
#X msg 63 52 0;
|
||||
#X obj 155 55 osc~ 10;
|
||||
#X obj 155 75 *~ 0.1;
|
||||
#X obj 122 178 tabwrite~ \$0sound;
|
||||
#X obj 121 199 table \$0sound 8192;
|
||||
#X obj 298 298 tabwrite \$0phasor;
|
||||
#X obj 118 231 table \$0phasor 8192;
|
||||
#X obj 79 306 i \$0;
|
||||
#X msg 79 342 posX \$1phasor \, posY \$1sound;
|
||||
#X floatatom 150 14 5 0 0 0 - - -;
|
||||
#X obj 15 157 scale 1;
|
||||
#X floatatom 52 115 5 0 0 0 - - -;
|
||||
#X obj 290 118 t b b;
|
||||
#X msg 227 395 draw points;
|
||||
#X connect 0 0 32 0;
|
||||
#X connect 1 0 5 0;
|
||||
#X connect 1 1 5 0;
|
||||
#X connect 2 0 8 0;
|
||||
#X connect 3 0 2 0;
|
||||
#X connect 3 0 34 0;
|
||||
#X connect 4 0 0 0;
|
||||
#X connect 5 0 25 0;
|
||||
#X connect 6 0 7 0;
|
||||
#X connect 6 1 29 0;
|
||||
#X connect 8 0 25 0;
|
||||
#X connect 9 0 11 0;
|
||||
#X connect 10 0 9 0;
|
||||
#X connect 11 0 12 0;
|
||||
#X connect 11 0 16 0;
|
||||
#X connect 12 0 11 1;
|
||||
#X connect 13 0 11 1;
|
||||
#X connect 14 0 18 0;
|
||||
#X connect 15 0 34 0;
|
||||
#X connect 16 0 14 0;
|
||||
#X connect 16 1 27 1;
|
||||
#X connect 17 0 27 0;
|
||||
#X connect 18 0 17 0;
|
||||
#X connect 19 0 7 0;
|
||||
#X connect 20 0 19 0;
|
||||
#X connect 21 0 22 0;
|
||||
#X connect 22 0 0 0;
|
||||
#X connect 23 0 24 0;
|
||||
#X connect 24 0 5 0;
|
||||
#X connect 29 0 30 0;
|
||||
#X connect 30 0 7 0;
|
||||
#X connect 31 0 23 0;
|
||||
#X connect 32 0 6 0;
|
||||
#X connect 33 0 32 1;
|
||||
#X connect 34 0 10 0;
|
||||
#X connect 34 1 13 0;
|
||||
#X connect 35 0 7 0;
|
||||
#X restore 849 141 pd oscillo~;
|
||||
#X obj 849 121 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
|
||||
1;
|
||||
#X text 846 60 other examples;
|
||||
#X text 27 327 Inlet 1: message: texture / textureU / textureV: update
|
||||
vertex texcoords from tables;
|
||||
#X text 27 357 Inlet 1: message: normal / normalX / normalY / normalZ:
|
||||
update vertex normals from tables;
|
||||
#X text 27 297 Inlet 1: message: color / colorR / colorG / colorB /
|
||||
colorA: update vertex colors from tables;
|
||||
#X text 27 267 Inlet 1: message: position / posX / posY / posZ: update
|
||||
vertex positions from tables;
|
||||
#N canvas 429 161 679 574 tabledata 0;
|
||||
#X text 65 43 applying table data as vertex data;
|
||||
#X msg 30 100 position tabX tabY tabZ 0;
|
||||
#X msg 30 130 position tabXYZ 0;
|
||||
#X text 200 102 will read X \, Y & Z values from the 3 tables as position
|
||||
data \, starting at offset=0 (offset can be omitted);
|
||||
#X text 200 132 will read interleaved X \, Y & Z values from the table
|
||||
tabXYZ \, starting at offset=0 (offset can be omitted);
|
||||
#X text 200 172 will update only X values from given table (starting
|
||||
at offset=10);
|
||||
#X msg 31 169 posX tabX 10;
|
||||
#X msg 31 209 posY tabY;
|
||||
#X text 200 212 will update only Y values from given table (starting
|
||||
at default offset=0);
|
||||
#X text 39 290 the same applies to the other vertex data types:;
|
||||
#X msg 234 346 colorR r;
|
||||
#X msg 294 346 colorG g;
|
||||
#X msg 354 346 colorB b;
|
||||
#X msg 415 346 colorA a;
|
||||
#X msg 36 376 texture U V;
|
||||
#X msg 140 376 texture UV;
|
||||
#X msg 234 376 textureU U;
|
||||
#X msg 304 376 textureV V;
|
||||
#X msg 36 406 normal x y z;
|
||||
#X msg 36 346 color r g b a;
|
||||
#X msg 141 346 color rgba;
|
||||
#X msg 140 406 normal xyz;
|
||||
#X msg 234 406 normalX x;
|
||||
#X msg 304 406 normalY y;
|
||||
#X msg 374 406 normalZ z;
|
||||
#X msg 36 316 position X Y Z;
|
||||
#X msg 140 316 position XYZ;
|
||||
#X msg 234 316 positionX X;
|
||||
#X msg 314 316 positionY Y;
|
||||
#X msg 394 316 positionZ Z;
|
||||
#X text 51 453 offset is always optional (default=0) \, and comes after
|
||||
the table names;
|
||||
#X text 50 507 unset table data is initialized to 0.f;
|
||||
#X restore 371 309 pd tabledata;
|
||||
#X text 27 384 Inlet 1: message: resize float : change the number of
|
||||
vertex to use;
|
||||
#X text 23 98 Vertex position \, color etc can be copy from pd table
|
||||
to the vertex buffer (VBO = Vertex Buffer Object). This object can
|
||||
draw lot's of points very efficiently.;
|
||||
#X obj 740 192 t b b b;
|
||||
#N canvas 1322 49 450 459 load_tables 0;
|
||||
#X obj 31 71 noise~;
|
||||
#X obj 32 94 tabwrite~ colorr;
|
||||
#X obj 32 114 noise~;
|
||||
#X obj 33 158 noise~;
|
||||
#X obj 33 137 tabwrite~ colorg;
|
||||
#X obj 34 181 tabwrite~ colorb;
|
||||
#X obj 33 209 noise~;
|
||||
#X obj 34 252 noise~;
|
||||
#X obj 35 296 noise~;
|
||||
#X obj 34 232 tabwrite~ blablax;
|
||||
#X obj 36 319 tabwrite~ blablaz;
|
||||
#X obj 35 275 tabwrite~ blablay;
|
||||
#X msg 288 48 dsp 1;
|
||||
#X obj 288 68 s pd;
|
||||
#X obj 288 28 loadbang;
|
||||
#X obj 266 152 table colorr 1000;
|
||||
#X obj 266 172 table colorg 1000;
|
||||
#X obj 266 194 table colorb 1000;
|
||||
#X obj 266 216 table colora 1000;
|
||||
#X obj 267 237 table blablax 1000;
|
||||
#X obj 266 256 table blablay 1000;
|
||||
#X obj 266 276 table blablaz 1000;
|
||||
#X obj 119 34 t b;
|
||||
#X obj 119 13 loadbang;
|
||||
#X msg 152 34 bang;
|
||||
#X obj 215 10 inlet;
|
||||
#X connect 0 0 1 0;
|
||||
#X connect 2 0 4 0;
|
||||
#X connect 3 0 5 0;
|
||||
#X connect 6 0 9 0;
|
||||
#X connect 7 0 11 0;
|
||||
#X connect 8 0 10 0;
|
||||
#X connect 12 0 13 0;
|
||||
#X connect 14 0 12 0;
|
||||
#X connect 22 0 1 0;
|
||||
#X connect 22 0 4 0;
|
||||
#X connect 22 0 5 0;
|
||||
#X connect 22 0 9 0;
|
||||
#X connect 22 0 11 0;
|
||||
#X connect 22 0 10 0;
|
||||
#X connect 23 0 22 0;
|
||||
#X connect 24 0 22 0;
|
||||
#X connect 25 0 22 0;
|
||||
#X restore 797 222 pd load_tables;
|
||||
#X connect 0 0 1 0;
|
||||
#X connect 9 0 10 0;
|
||||
#X connect 10 0 9 0;
|
||||
#X connect 23 0 22 0;
|
||||
#X connect 24 0 22 0;
|
||||
#X connect 25 0 22 0;
|
||||
#X connect 26 0 25 0;
|
||||
#X connect 27 0 40 0;
|
||||
#X connect 28 0 48 0;
|
||||
#X connect 29 0 50 0;
|
||||
#X connect 30 0 27 0;
|
||||
#X connect 31 0 29 0;
|
||||
#X connect 33 0 34 0;
|
||||
#X connect 34 0 22 0;
|
||||
#X connect 35 0 38 0;
|
||||
#X connect 36 0 37 0;
|
||||
#X connect 37 0 22 0;
|
||||
#X connect 38 0 22 0;
|
||||
#X connect 40 0 41 0;
|
||||
#X connect 41 0 22 0;
|
||||
#X connect 42 0 43 0;
|
||||
#X connect 43 0 44 0;
|
||||
#X connect 44 0 40 0;
|
||||
#X connect 46 0 31 0;
|
||||
#X connect 48 0 22 0;
|
||||
#X connect 49 0 50 1;
|
||||
#X connect 50 0 30 0;
|
||||
#X connect 51 0 22 0;
|
||||
#X connect 52 0 22 0;
|
||||
#X connect 53 0 22 0;
|
||||
#X connect 54 0 22 0;
|
||||
#X connect 55 0 71 0;
|
||||
#X connect 58 0 57 0;
|
||||
#X connect 60 0 59 0;
|
||||
#X connect 62 0 61 0;
|
||||
#X connect 71 0 51 0;
|
||||
#X connect 71 1 52 0;
|
||||
#X connect 71 2 72 0;
|
|
@ -1,799 +0,0 @@
|
|||
#N canvas 133 50 676 689 10;
|
||||
#X text 452 8 GEM object;
|
||||
#X obj 7 193 cnv 15 430 480 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X obj 7 149 cnv 15 430 40 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#X text 16 153 Arguments:;
|
||||
#X obj 7 53 cnv 15 430 90 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X obj 449 54 cnv 15 210 350 empty empty empty 20 12 0 14 -228992 -66577
|
||||
0;
|
||||
#X text 451 28 Example:;
|
||||
#X obj 454 286 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
|
||||
0;
|
||||
#X text 50 12 Synopsis: [gemwin];
|
||||
#X text 17 56 Description: access to the window manager;
|
||||
#X text 28 79 [gemwin] allows you to interact with Gem's output window.
|
||||
It passes various messages to the window manager \, controlling the
|
||||
attributes of the window and controls the render-cycle. Multiple instances
|
||||
of this object will interact with the same window.;
|
||||
#X obj 458 320 gemwin;
|
||||
#X msg 458 103 reset \, dimen 640 480 \, create \, 1;
|
||||
#X msg 486 195 0 \, destroy;
|
||||
#X text 16 196 Inlet 1:;
|
||||
#X text 30 225 reset : reset the graphics manager to the default values
|
||||
;
|
||||
#X text 29 432 create : create the graphics window;
|
||||
#X text 29 446 destroy : destroy the graphics window;
|
||||
#X text 30 479 float (1/0) : turn on/off rendering;
|
||||
#X text 30 493 print : show some information on the stderr;
|
||||
#X text 71 31 Class: window handling;
|
||||
#N canvas 361 97 456 455 FSAA 0;
|
||||
#X msg 48 222 0;
|
||||
#X msg 79 222 2;
|
||||
#X msg 108 222 4;
|
||||
#X text 54 129 2 - double resolution (4 times the pixel data);
|
||||
#X text 43 324 Full-scene anti-aliasing by supersampling usually means
|
||||
that each full frame is rendered at double (2x) or quadruple (4x) the
|
||||
display resolution \, and then down-sampled to match the display resolution.
|
||||
So a 4x FSAA would render 16 supersampled pixels for each single pixel
|
||||
of each frame.;
|
||||
#X text 54 189 8 - eight-times resolution (64 times the pixel data)
|
||||
;
|
||||
#X text 54 149 4 - quadruple resolution (16 times the pixel data);
|
||||
#X text 54 109 0 - turn off super sampling for anti-aliasing;
|
||||
#X text 43 405 http://en.wikipedia.org/wiki/Anti-aliasing#Full-scene_anti-aliasing
|
||||
;
|
||||
#X text 200 220 <-- destroy gemwin between clicking these;
|
||||
#X obj 90 299 s \$0-gemwin-in;
|
||||
#X text 54 168 5 - quadruple resolution (16 times the pixel data);
|
||||
#X text 33 6 Gem provides Full Scene Anti-Aliasing for smoothing out
|
||||
the edges of all things drawn in the OpenGL scene. To enable it \,
|
||||
send the "FSAA" message to the [gemwin] before creating it.;
|
||||
#X text 33 61 FSAA might or might not work depending on your graphic
|
||||
card \, the value of the parameter may also vary.;
|
||||
#X msg 169 222 8;
|
||||
#X msg 139 222 5;
|
||||
#X msg 90 272 destroy \, FSAA \$1 \, create \, 1;
|
||||
#X connect 0 0 16 0;
|
||||
#X connect 1 0 16 0;
|
||||
#X connect 2 0 16 0;
|
||||
#X connect 14 0 16 0;
|
||||
#X connect 15 0 16 0;
|
||||
#X connect 16 0 10 0;
|
||||
#X restore 356 269 pd FSAA;
|
||||
#X obj 471 294 r \$0-gemwin-in;
|
||||
#X text 29 285 fullscreen 0|1 : make fullscreen-window;
|
||||
#X text 57 302 (if possible with the dimensions passed via "dimen")
|
||||
;
|
||||
#N canvas 430 22 405 382 fullscreen 0;
|
||||
#X text -88 -108 fullscreen 0/1: make fullscreen-window (if possible
|
||||
with the dimensions passed via "dimen");
|
||||
#X text -88 -64 on platform's that support it (currently: Mac OS X)
|
||||
you can specify on which screen you want to go fullscreen (if you have
|
||||
several screens): e.g. "fullscreen 2" will make a fullscreen-window
|
||||
on Screen2;
|
||||
#X text -86 -130 FULLSCREEN SUPPORT;
|
||||
#X obj -85 -1 vradio 15 1 0 3 empty empty empty 0 -8 0 10 -262144 -1
|
||||
-1 0;
|
||||
#X floatatom -85 50 5 0 0 0 - - -;
|
||||
#X msg -85 71 reset \, fullscreen \$1 \, create \, 1;
|
||||
#X text -63 -4 deactivate fullscreen;
|
||||
#X text -64 13 fullscreen on screen 1;
|
||||
#X text -64 29 fullscreen on screen 2;
|
||||
#X msg -72 126 0 \, destroy;
|
||||
#X text -89 182 BE CAREFUL : when you are in fullscreen mode \, you
|
||||
have no more access to the other windows of your system.;
|
||||
#N canvas 107 24 450 300 esc 0;
|
||||
#X obj 65 20 gemkeyboard;
|
||||
#X obj 65 167 outlet;
|
||||
#X obj 89 71 keyname;
|
||||
#X obj 128 96 sel Escape;
|
||||
#X obj 65 41 sel 53;
|
||||
#X obj 189 47 sel Escape;
|
||||
#X obj 150 22 gemkeyname;
|
||||
#X connect 0 0 4 0;
|
||||
#X connect 2 1 3 0;
|
||||
#X connect 3 0 1 0;
|
||||
#X connect 4 0 1 0;
|
||||
#X connect 5 0 1 0;
|
||||
#X connect 6 1 5 0;
|
||||
#X restore -72 104 pd esc;
|
||||
#X obj -85 155 s \$0-gemwin-in;
|
||||
#X text 111 11 press ESC to quit;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 4 0 5 0;
|
||||
#X connect 5 0 12 0;
|
||||
#X connect 9 0 12 0;
|
||||
#X connect 11 0 9 0;
|
||||
#X restore 356 288 pd fullscreen;
|
||||
#X text 57 253 the x and y dimensions of the window. (default 500 500)
|
||||
;
|
||||
#X text 30 166 number of frames per second (default 20);
|
||||
#X text 29 508 frame <number> : number of frames per second (default
|
||||
20);
|
||||
#X text 30 268 FSAA <number> : anti aliasing (default 0);
|
||||
#X text 30 318 border 1|0 : create a window with/out borders (default
|
||||
1);
|
||||
#X text 57 350 the x and y offset of the window. (default 0 0);
|
||||
#N canvas 641 438 406 148 offset 0;
|
||||
#X text 53 8 OFFSET SUPPORT;
|
||||
#X text 21 28 offset might not work on some window managers if the
|
||||
borders are on;
|
||||
#X text 20 55 under OSX you must take into account the number of pixel
|
||||
of the menubar \, title and eventually of your dock.;
|
||||
#X text 19 82 [offset 0 -60( with [menubar 0( is working in 10.6 to
|
||||
set the window in the top left of the screen;
|
||||
#X restore 356 334 pd offset;
|
||||
#N canvas 230 93 618 505 more 0;
|
||||
#X text 230 327 title <title_symbol>: set the title for the window
|
||||
;
|
||||
#X msg 121 327 title my_window;
|
||||
#X obj 94 187 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 0
|
||||
1;
|
||||
#X msg 94 205 menubar \$1;
|
||||
#X msg 117 187 -1;
|
||||
#X text 188 190 menubar -1/0/1: hide or show the Mac OS X menubar \,
|
||||
1 shows \, 0 hides \, and -1 hides by default and shows on mouseover
|
||||
;
|
||||
#X msg 44 60 cursor \$1;
|
||||
#X obj 44 41 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 0 1
|
||||
;
|
||||
#X text 139 59 cursor 0/1: turn the cursor on/off;
|
||||
#X obj 109 247 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 0
|
||||
1;
|
||||
#X msg 109 266 topmost \$1;
|
||||
#X text 204 255 topmost 0/1: make the gemwin the top most window \,
|
||||
on top of everything else (Windows only?);
|
||||
#X msg 126 376 create remotehost:8.0;
|
||||
#X text 283 369 when using X-windows \, you can also create a window
|
||||
on a remote display!;
|
||||
#X obj 44 465 s \$0-gemwin-in;
|
||||
#X text 41 14 Other messages to [gemwin] regarding the window;
|
||||
#X msg 55 139 0 \, destroy;
|
||||
#X msg 110 438 create \, 1;
|
||||
#X text 188 437 ...and create it after;
|
||||
#X text 133 140 destroy window before setting window properties...
|
||||
;
|
||||
#X text 81 104 All of these messages must be sent to [gemwin] before
|
||||
the window is created in order to take effect:;
|
||||
#X connect 1 0 14 0;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 3 0 14 0;
|
||||
#X connect 4 0 3 0;
|
||||
#X connect 6 0 14 0;
|
||||
#X connect 7 0 6 0;
|
||||
#X connect 9 0 10 0;
|
||||
#X connect 10 0 14 0;
|
||||
#X connect 12 0 14 0;
|
||||
#X connect 16 0 14 0;
|
||||
#X connect 17 0 14 0;
|
||||
#X restore 30 367 pd more window properties;
|
||||
#X text 29 558 lighting 0|1 : turn lighting off/on (default 0);
|
||||
#N canvas 190 228 580 527 more 0;
|
||||
#X text 105 134 lighting 1/0 : turn lighting on/off;
|
||||
#X text 263 186 ambient R G B : the ambient lighting color;
|
||||
#X text 269 240 specular R G B : the specular lighting color;
|
||||
#X text 197 277 shininess num : the shininess value;
|
||||
#X text 132 326 fogmode 0/1/2/3 : set the fog mode (OFF/LINEAR/EXP/EXP^2)
|
||||
;
|
||||
#X text 298 447 fogcolor R G B : the color of the fog;
|
||||
#X text 219 367 fog num : the fog density;
|
||||
#X text 24 11 messages to the [gemwin] regarding lighting effects;
|
||||
#X obj 24 116 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 0
|
||||
1;
|
||||
#X msg 24 134 lighting \$1;
|
||||
#N canvas 714 134 566 458 color 0;
|
||||
#X obj 103 100 hsl 128 15 0 1 0 0 empty empty R 12 8 1 12 -261689 -1
|
||||
-1 0 1;
|
||||
#X obj 236 100 hsl 128 15 0 1 0 0 empty empty G 12 8 1 12 -225271 -1
|
||||
-1 0 1;
|
||||
#X obj 370 100 hsl 128 15 0 1 0 0 empty empty B 12 8 1 12 -228992 -1
|
||||
-1 0 1;
|
||||
#X obj 100 329 outlet;
|
||||
#X obj 132 253 list;
|
||||
#X msg 132 273 set ambient \$1 \$2 \$3;
|
||||
#X obj 233 144 t b f;
|
||||
#X obj 367 144 t b f;
|
||||
#X obj 100 201 pack 0 0 0;
|
||||
#X obj 100 230 t b a;
|
||||
#X connect 0 0 8 0;
|
||||
#X connect 1 0 6 0;
|
||||
#X connect 2 0 7 0;
|
||||
#X connect 4 0 5 0;
|
||||
#X connect 5 0 3 0;
|
||||
#X connect 6 0 8 0;
|
||||
#X connect 6 1 8 1;
|
||||
#X connect 7 0 8 0;
|
||||
#X connect 7 1 8 2;
|
||||
#X connect 8 0 9 0;
|
||||
#X connect 9 0 3 0;
|
||||
#X connect 9 1 4 0;
|
||||
#X coords 0 -1 1 1 400 13 1 100 100;
|
||||
#X restore 35 165 pd color sliders;
|
||||
#X msg 35 187 ambient 0 0 0;
|
||||
#N canvas 714 134 566 366 color 0;
|
||||
#X obj 103 100 hsl 128 15 0 1 0 0 empty empty R 12 8 1 12 -261689 -1
|
||||
-1 0 1;
|
||||
#X obj 236 100 hsl 128 15 0 1 0 0 empty empty G 12 8 1 12 -225271 -1
|
||||
-1 0 1;
|
||||
#X obj 370 100 hsl 128 15 0 1 0 0 empty empty B 12 8 1 12 -228992 -1
|
||||
-1 0 1;
|
||||
#X obj 100 299 outlet;
|
||||
#X obj 132 223 list;
|
||||
#X msg 132 242 set specular \$1 \$2 \$3;
|
||||
#X obj 233 124 t b f;
|
||||
#X obj 367 124 t b f;
|
||||
#X obj 100 171 pack 0 0 0;
|
||||
#X obj 100 199 t b a;
|
||||
#X connect 0 0 8 0;
|
||||
#X connect 1 0 6 0;
|
||||
#X connect 2 0 7 0;
|
||||
#X connect 4 0 5 0;
|
||||
#X connect 5 0 3 0;
|
||||
#X connect 6 0 8 0;
|
||||
#X connect 6 1 8 1;
|
||||
#X connect 7 0 8 0;
|
||||
#X connect 7 1 8 2;
|
||||
#X connect 8 0 9 0;
|
||||
#X connect 9 0 3 0;
|
||||
#X connect 9 1 4 0;
|
||||
#X coords 0 -1 1 1 400 13 1 100 100;
|
||||
#X restore 42 219 pd color sliders;
|
||||
#X msg 42 241 specular 0 0 0;
|
||||
#N canvas 710 134 570 462 color 0;
|
||||
#X obj 103 100 hsl 128 15 0 1 0 0 empty empty R 12 8 1 12 -261689 -1
|
||||
-1 0 1;
|
||||
#X obj 236 100 hsl 128 15 0 1 0 0 empty empty G 12 8 1 12 -225271 -1
|
||||
-1 0 1;
|
||||
#X obj 370 100 hsl 128 15 0 1 0 0 empty empty B 12 8 1 12 -228992 -1
|
||||
-1 0 1;
|
||||
#X obj 100 299 outlet;
|
||||
#X obj 132 223 list;
|
||||
#X msg 132 242 set fogcolor \$1 \$2 \$3;
|
||||
#X obj 233 125 t b f;
|
||||
#X obj 367 125 t b f;
|
||||
#X obj 100 171 pack 0 0 0;
|
||||
#X obj 100 200 t b a;
|
||||
#X connect 0 0 8 0;
|
||||
#X connect 1 0 6 0;
|
||||
#X connect 2 0 7 0;
|
||||
#X connect 4 0 5 0;
|
||||
#X connect 5 0 3 0;
|
||||
#X connect 6 0 8 0;
|
||||
#X connect 6 1 8 1;
|
||||
#X connect 7 0 8 0;
|
||||
#X connect 7 1 8 2;
|
||||
#X connect 8 0 9 0;
|
||||
#X connect 9 0 3 0;
|
||||
#X connect 9 1 4 0;
|
||||
#X coords 0 -1 1 1 400 13 1 100 100;
|
||||
#X restore 54 426 pd color sliders;
|
||||
#X msg 54 448 fogcolor 0 0 0;
|
||||
#X msg 59 338 fogmode 0;
|
||||
#N canvas 889 134 348 479 fog 0;
|
||||
#X obj 84 239 outlet;
|
||||
#X obj 100 101 hradio 15 1 0 4 empty empty empty 0 -6 0 10 -262144
|
||||
-1 -1 0;
|
||||
#X msg 207 182 set fogmode \$1;
|
||||
#X obj 84 140 trigger bang float;
|
||||
#X connect 1 0 3 0;
|
||||
#X connect 2 0 0 0;
|
||||
#X connect 3 0 0 0;
|
||||
#X connect 3 1 2 0;
|
||||
#X coords 0 -1 1 1 60 13 1 100 100;
|
||||
#X restore 59 314 pd fog;
|
||||
#X msg 50 288 shininess 0;
|
||||
#N canvas 889 134 356 487 fog 0;
|
||||
#X obj 84 239 outlet;
|
||||
#X obj 84 140 trigger bang float;
|
||||
#X msg 207 182 set shininess \$1;
|
||||
#X obj 103 101 hsl 128 15 0 1 0 0 empty empty empty -2 -6 0 10 -262144
|
||||
-1 -1 0 1;
|
||||
#X connect 1 0 0 0;
|
||||
#X connect 1 1 2 0;
|
||||
#X connect 2 0 0 0;
|
||||
#X connect 3 0 1 0;
|
||||
#X coords 0 -1 1 1 133 13 1 100 100;
|
||||
#X restore 50 266 pd fog;
|
||||
#X msg 60 388 fog 0;
|
||||
#N canvas 889 134 364 495 fog 0;
|
||||
#X obj 84 239 outlet;
|
||||
#X obj 84 140 trigger bang float;
|
||||
#X obj 103 101 hsl 128 15 0 1 0 0 empty empty empty -2 -6 0 10 -262144
|
||||
-1 -1 0 1;
|
||||
#X msg 207 182 set fog \$1;
|
||||
#X connect 1 0 0 0;
|
||||
#X connect 1 1 3 0;
|
||||
#X connect 2 0 1 0;
|
||||
#X connect 3 0 0 0;
|
||||
#X coords 0 -1 1 1 133 13 1 100 100;
|
||||
#X restore 60 366 pd fog;
|
||||
#X obj 24 68 gemhead;
|
||||
#X obj 24 90 world_light;
|
||||
#X obj 24 475 s \$0-gemwin-in;
|
||||
#X text 23 34 Be careful: when you activate lighting \, you must have
|
||||
some lights to see something \, such as:;
|
||||
#X connect 8 0 9 0;
|
||||
#X connect 9 0 24 0;
|
||||
#X connect 10 0 11 0;
|
||||
#X connect 11 0 24 0;
|
||||
#X connect 12 0 13 0;
|
||||
#X connect 13 0 24 0;
|
||||
#X connect 14 0 15 0;
|
||||
#X connect 15 0 24 0;
|
||||
#X connect 16 0 24 0;
|
||||
#X connect 17 0 16 0;
|
||||
#X connect 18 0 24 0;
|
||||
#X connect 19 0 18 0;
|
||||
#X connect 20 0 24 0;
|
||||
#X connect 21 0 20 0;
|
||||
#X connect 22 0 23 0;
|
||||
#X restore 30 575 pd more lighting;
|
||||
#X obj 490 242 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
|
||||
1;
|
||||
#X msg 490 261 color \$1 \$1 \$1;
|
||||
#X text 29 635 stereo 0|1|2|3 : set 3D stereo-mode to off(0) \, 2-screen-mode(1)
|
||||
\, Red/Green-mode(2);
|
||||
#N canvas 680 259 468 458 draw_geos 0;
|
||||
#X obj 64 53 gemhead;
|
||||
#X obj 244 55 gemhead;
|
||||
#X obj 244 159 rotateXYZ;
|
||||
#X obj 398 109 f;
|
||||
#X obj 398 158 % 360;
|
||||
#X obj 398 134 + 1;
|
||||
#X obj 398 86 metro 50;
|
||||
#X obj 64 92 color 0.8 0.8 0.8;
|
||||
#X obj 244 92 color 0.8 0.8 0.8;
|
||||
#X obj 64 188 cube 0.75;
|
||||
#X obj 64 118 translateXYZ 2 2 0;
|
||||
#X obj 244 117 translateXYZ 2 -2 0;
|
||||
#X obj 64 157 rotateXYZ 45 0 0;
|
||||
#X obj 244 190 square 0.75;
|
||||
#X obj 63 220 gemhead;
|
||||
#X obj 243 222 gemhead;
|
||||
#X obj 63 259 color 0.8 0.8 0.8;
|
||||
#X obj 243 259 color 0.8 0.8 0.8;
|
||||
#X obj 63 285 translateXYZ -2 2 0;
|
||||
#X obj 63 308 sphere 0.75 30;
|
||||
#X obj 243 284 translateXYZ -2 -2 0;
|
||||
#X obj 243 310 circle 0.75;
|
||||
#X obj 398 56 inlet;
|
||||
#X connect 0 0 7 0;
|
||||
#X connect 1 0 8 0;
|
||||
#X connect 2 0 13 0;
|
||||
#X connect 3 0 5 0;
|
||||
#X connect 4 0 3 1;
|
||||
#X connect 4 0 2 3;
|
||||
#X connect 4 0 12 3;
|
||||
#X connect 5 0 4 0;
|
||||
#X connect 6 0 3 0;
|
||||
#X connect 7 0 10 0;
|
||||
#X connect 8 0 11 0;
|
||||
#X connect 10 0 12 0;
|
||||
#X connect 11 0 2 0;
|
||||
#X connect 12 0 9 0;
|
||||
#X connect 14 0 16 0;
|
||||
#X connect 15 0 17 0;
|
||||
#X connect 16 0 18 0;
|
||||
#X connect 17 0 20 0;
|
||||
#X connect 18 0 19 0;
|
||||
#X connect 20 0 21 0;
|
||||
#X connect 22 0 6 0;
|
||||
#X restore 455 378 pd draw_geos;
|
||||
#X msg 472 152 create \, 1;
|
||||
#N canvas 255 86 448 630 buffering 0;
|
||||
#X msg 63 127 buffer 1;
|
||||
#X msg 78 152 buffer 2;
|
||||
#X text 134 127 single buffering;
|
||||
#X text 145 150 double buffering;
|
||||
#X msg 111 244 bang;
|
||||
#X text 152 254 swap the buffers (double buffer mode);
|
||||
#X text 151 235 clear the buffer (single buffer mode);
|
||||
#X text 30 16 messages to [gemwin] concerning the buffer rendering
|
||||
mode;
|
||||
#X msg 17 83 0 \, destroy;
|
||||
#X msg 117 198 create \, 1;
|
||||
#X text 195 197 ...and create it after;
|
||||
#X obj 33 283 s \$0-gemwin-in;
|
||||
#X text 95 84 destroy window before to set buffer mode...;
|
||||
#X text 30 323 When you are in single buffer mode \, you must bang
|
||||
the gemhead each time you want to draw. like:;
|
||||
#X obj 33 383 loadbang;
|
||||
#X msg 33 407 0;
|
||||
#X obj 33 436 gemhead;
|
||||
#X obj 149 383 metro 50;
|
||||
#X obj 149 364 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
|
||||
1;
|
||||
#X obj 33 519 rotateXYZ;
|
||||
#X obj 176 426 f;
|
||||
#X obj 176 472 % 360;
|
||||
#X obj 33 580 square 0.75;
|
||||
#X obj 33 550 translateXYZ 2 0 0;
|
||||
#X text 172 363 toggle to draw;
|
||||
#X obj 176 448 + 1;
|
||||
#X obj 33 472 color 0.8 0.8 0.8;
|
||||
#X text 29 33 Changing the rendering mode must be done before the window
|
||||
is created in order to take effect.;
|
||||
#X obj 176 494 t f f;
|
||||
#X obj 149 405 t b b;
|
||||
#X connect 0 0 11 0;
|
||||
#X connect 1 0 11 0;
|
||||
#X connect 4 0 11 0;
|
||||
#X connect 8 0 11 0;
|
||||
#X connect 9 0 11 0;
|
||||
#X connect 14 0 15 0;
|
||||
#X connect 15 0 16 0;
|
||||
#X connect 16 0 26 0;
|
||||
#X connect 17 0 29 0;
|
||||
#X connect 18 0 17 0;
|
||||
#X connect 19 0 23 0;
|
||||
#X connect 20 0 25 0;
|
||||
#X connect 21 0 28 0;
|
||||
#X connect 23 0 22 0;
|
||||
#X connect 25 0 21 0;
|
||||
#X connect 26 0 19 0;
|
||||
#X connect 28 0 19 3;
|
||||
#X connect 28 1 20 1;
|
||||
#X connect 29 0 16 0;
|
||||
#X connect 29 1 20 0;
|
||||
#X restore 355 405 pd buffering;
|
||||
#N canvas 556 191 548 430 stereo-3D 0;
|
||||
#X text 32 18 messages to [gemwin] regarding stereoscopic appearance:
|
||||
;
|
||||
#X msg 31 158 stereo \$1;
|
||||
#X obj 31 398 s \$0-gemwin-in;
|
||||
#X obj 31 60 vradio 15 1 0 4 empty empty empty 0 -8 0 10 -262144 -1
|
||||
-1 0;
|
||||
#X text 54 77 2 screen mode;
|
||||
#X text 53 91 Red / Green mode;
|
||||
#X text 105 158 set stereo-mode;
|
||||
#X text 54 61 off;
|
||||
#X msg 48 210 stereoSep \$1;
|
||||
#X floatatom 48 188 5 0 0 0 - - -;
|
||||
#X text 137 209 set the stereo-separation (default: -15);
|
||||
#X msg 66 258 stereoFoc \$1;
|
||||
#X text 150 259 set the stereo-focal;
|
||||
#X floatatom 66 234 5 0 0 0 - - -;
|
||||
#X obj 80 283 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
|
||||
1;
|
||||
#X text 174 297 turn the seperation-line between the 2 screens in stereo-mode
|
||||
1 on/off;
|
||||
#X msg 79 344 0 \, destroy;
|
||||
#X msg 79 369 create \, 1;
|
||||
#X text 157 345 destroy window before to set stereo...;
|
||||
#X text 157 368 ...and create it after;
|
||||
#X text 53 106 Crystal Glasses mode (needs hardware support!);
|
||||
#X msg 80 302 stereoLine \$1;
|
||||
#X connect 1 0 2 0;
|
||||
#X connect 3 0 1 0;
|
||||
#X connect 8 0 2 0;
|
||||
#X connect 9 0 8 0;
|
||||
#X connect 11 0 2 0;
|
||||
#X connect 13 0 11 0;
|
||||
#X connect 14 0 21 0;
|
||||
#X connect 16 0 2 0;
|
||||
#X connect 17 0 2 0;
|
||||
#X connect 21 0 2 0;
|
||||
#X restore 354 641 pd stereo-3D;
|
||||
#X text 464 132 basic create and start rendering;
|
||||
#X text 513 241 change background color;
|
||||
#X text 56 538 set the background color of the window (default 0 0
|
||||
0);
|
||||
#X text 30 238 dimen <x> <y>:;
|
||||
#X text 30 333 offset <x> <y>:;
|
||||
#X text 29 593 view <x> <y> <z> : translate the camera (default 0 0
|
||||
4);
|
||||
#N canvas 124 233 762 647 more 0;
|
||||
#X text 43 11 messages to [gemwin] regarding the view-point ("camera")
|
||||
;
|
||||
#X text 312 389 perspec <left> <right> <bottom> <top> <front> <back>::
|
||||
;
|
||||
#X text 311 407 set the clipping planes of the view-point. this might
|
||||
be what you need \, if all the objects that re further away than 20
|
||||
units suddenly disappear;
|
||||
#X text 311 449 default: -1 1 -1 1 1 20;
|
||||
#X text 208 51 view <x> <y> <z>::;
|
||||
#X text 208 70 translate the camera / set the viewpoint:: the viewing-direction
|
||||
will not be changed.;
|
||||
#X text 80 119 default: 0 0 4;
|
||||
#X text 208 98 the viewing direction defaults to "0 0 1" \, with y-axis
|
||||
as "up";
|
||||
#X text 303 167 view <x> <y> <z> <azimuth>::;
|
||||
#X text 303 184 view <x> <y> <z> <azimuth> <elevation>::;
|
||||
#X text 303 201 translate/rotate camera/viewpoint \; the "up" direction
|
||||
will still be the y-axis;
|
||||
#X text 389 284 view <view_x> <view_y> <view_z> <target_x> <target_y>
|
||||
<target_z> <up_x> <up_y> <up_z>::;
|
||||
#X text 389 314 set viewpoint (view_X view_Y view_Z). the camera will
|
||||
look at the target-point (target_X \, target_Y \, target_Z). "up" is
|
||||
defined via the vector (up_X \, up_Y \, up_Z);
|
||||
#X text 301 251 default: 0 0 4 0 0;
|
||||
#X text 389 355 default: 0 0 4 0 0 0 0 1 0;
|
||||
#X obj 25 588 s \$0-gemwin-in;
|
||||
#X msg 25 101 view \$1 \$2 \$3;
|
||||
#X msg 42 190 view \$1 \$2 \$3 \$4;
|
||||
#X msg 49 250 view \$1 \$2 \$3 \$4 \$5;
|
||||
#X msg 52 330 view \$1 \$2 \$3 \$4 \$5 \$6 \$7 \$8 \$9;
|
||||
#X msg 101 452 perspec \$1 \$2 \$3 \$4 \$5 \$6;
|
||||
#X text 310 467 if you want to remove perspective \, see [ortho];
|
||||
#X msg 66 563 view 0 0 20 \, perspec -1 1 -1 1 4 50;
|
||||
#N canvas 1299 508 544 500 perspec 0;
|
||||
#X obj 90 428 outlet;
|
||||
#X obj 268 273 t f f;
|
||||
#X obj 268 298 * -1;
|
||||
#X obj 90 268 t f f;
|
||||
#X obj 90 293 * -1;
|
||||
#X obj 90 367 pack -1 1 -1 1 1 20;
|
||||
#X msg 90 389 set perspec \$1 \$2 \$3 \$4 \$5 \$6 \, bang;
|
||||
#X msg 172 453 set perspec \, adddollar 1 \, adddollar 2 \, adddollar
|
||||
3 \, adddollar 4 \, adddollar 5 \, adddollar 6;
|
||||
#X floatatom 103 117 5 0.1 5 1 x_wideness - -;
|
||||
#X floatatom 103 134 5 0.1 5 1 y_wideness - -;
|
||||
#X floatatom 103 151 5 0 0 1 z_depth - -;
|
||||
#X obj 360 196 select 1;
|
||||
#X obj 405 219 t b f f;
|
||||
#X obj 249 226 t b f f;
|
||||
#X obj 204 203 select 0;
|
||||
#X obj 360 218 f 20;
|
||||
#X obj 204 224 f 1;
|
||||
#X msg 204 246 set \$1;
|
||||
#X msg 360 240 set \$1;
|
||||
#X obj 134 216 t b f f;
|
||||
#X obj 89 193 select 0;
|
||||
#X obj 89 214 f 1;
|
||||
#X msg 89 236 set \$1;
|
||||
#X obj 328 97 loadbang;
|
||||
#X obj 328 119 t b b;
|
||||
#X obj 328 141 t b b b;
|
||||
#X connect 1 0 2 0;
|
||||
#X connect 1 1 5 3;
|
||||
#X connect 2 0 5 2;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 3 1 5 1;
|
||||
#X connect 4 0 5 0;
|
||||
#X connect 5 0 6 0;
|
||||
#X connect 6 0 0 0;
|
||||
#X connect 7 0 0 0;
|
||||
#X connect 8 0 20 0;
|
||||
#X connect 9 0 14 0;
|
||||
#X connect 10 0 11 0;
|
||||
#X connect 11 0 15 0;
|
||||
#X connect 11 1 12 0;
|
||||
#X connect 12 0 5 0;
|
||||
#X connect 12 1 5 5;
|
||||
#X connect 12 2 15 1;
|
||||
#X connect 13 0 5 0;
|
||||
#X connect 13 1 1 0;
|
||||
#X connect 13 2 16 1;
|
||||
#X connect 14 0 16 0;
|
||||
#X connect 14 1 13 0;
|
||||
#X connect 15 0 18 0;
|
||||
#X connect 16 0 17 0;
|
||||
#X connect 17 0 9 0;
|
||||
#X connect 18 0 10 0;
|
||||
#X connect 19 1 3 0;
|
||||
#X connect 19 2 21 1;
|
||||
#X connect 20 0 21 0;
|
||||
#X connect 20 1 19 0;
|
||||
#X connect 21 0 22 0;
|
||||
#X connect 22 0 8 0;
|
||||
#X connect 23 0 24 0;
|
||||
#X connect 24 0 25 0;
|
||||
#X connect 24 1 7 0;
|
||||
#X connect 25 0 21 0;
|
||||
#X connect 25 1 16 0;
|
||||
#X connect 25 2 15 0;
|
||||
#X coords 0 -1 1 1 100 67 1 100 100;
|
||||
#X restore 101 380 pd perspec;
|
||||
#X text 292 554 the default camera has a very wide angle. this message
|
||||
allows to narrow it.;
|
||||
#N canvas 506 305 612 484 view 0;
|
||||
#X floatatom 112 114 5 0 0 0 x - -;
|
||||
#X floatatom 158 114 5 0 0 0 y - -;
|
||||
#X floatatom 201 114 5 0 0 0 z - -;
|
||||
#X floatatom 236 114 5 0 0 2 azimuth - -;
|
||||
#X obj 369 109 loadbang;
|
||||
#X obj 140 335 outlet;
|
||||
#X obj 201 226 t b f;
|
||||
#X obj 150 227 t b f;
|
||||
#X obj 369 131 t b b;
|
||||
#X msg 213 342 set view \, adddollar 1 \, adddollar 2 \, adddollar
|
||||
3 \, adddollar 4;
|
||||
#X obj 140 274 pack 0 0 4 0;
|
||||
#X obj 251 226 t b f;
|
||||
#X msg 398 196 set 4;
|
||||
#X msg 140 296 set view \$1 \$2 \$3 \$4 \, bang;
|
||||
#X connect 0 0 10 0;
|
||||
#X connect 1 0 7 0;
|
||||
#X connect 2 0 6 0;
|
||||
#X connect 3 0 11 0;
|
||||
#X connect 4 0 8 0;
|
||||
#X connect 6 0 10 0;
|
||||
#X connect 6 1 10 2;
|
||||
#X connect 7 0 10 0;
|
||||
#X connect 7 1 10 1;
|
||||
#X connect 8 0 12 0;
|
||||
#X connect 8 1 9 0;
|
||||
#X connect 9 0 5 0;
|
||||
#X connect 10 0 13 0;
|
||||
#X connect 11 0 10 0;
|
||||
#X connect 11 1 10 3;
|
||||
#X connect 12 0 2 0;
|
||||
#X connect 13 0 5 0;
|
||||
#X coords 0 -1 1 1 180 30 1 100 100;
|
||||
#X restore 42 156 pd view;
|
||||
#N canvas 508 299 612 484 view 0;
|
||||
#X floatatom 112 114 5 0 0 0 x - -;
|
||||
#X floatatom 158 114 5 0 0 0 y - -;
|
||||
#X floatatom 201 114 5 0 0 0 z - -;
|
||||
#X floatatom 236 114 5 0 0 2 azimuth - -;
|
||||
#X obj 369 109 loadbang;
|
||||
#X obj 140 335 outlet;
|
||||
#X obj 201 226 t b f;
|
||||
#X obj 150 227 t b f;
|
||||
#X obj 369 131 t b b;
|
||||
#X obj 251 226 t b f;
|
||||
#X msg 398 196 set 4;
|
||||
#X msg 140 296 set view \$1 \$2 \$3 \$4 \$5 \, bang;
|
||||
#X obj 140 274 pack 0 0 4 0 0;
|
||||
#X floatatom 286 114 5 0 0 2 elevate - -;
|
||||
#X obj 291 226 t b f;
|
||||
#X msg 213 342 set view \, adddollar 1 \, adddollar 2 \, adddollar
|
||||
3 \, adddollar 4 \, adddollar 5;
|
||||
#X connect 0 0 12 0;
|
||||
#X connect 1 0 7 0;
|
||||
#X connect 2 0 6 0;
|
||||
#X connect 3 0 9 0;
|
||||
#X connect 4 0 8 0;
|
||||
#X connect 6 0 12 0;
|
||||
#X connect 6 1 12 2;
|
||||
#X connect 7 0 12 0;
|
||||
#X connect 7 1 12 1;
|
||||
#X connect 8 0 10 0;
|
||||
#X connect 8 1 15 0;
|
||||
#X connect 9 0 12 0;
|
||||
#X connect 9 1 12 3;
|
||||
#X connect 10 0 2 0;
|
||||
#X connect 11 0 5 0;
|
||||
#X connect 12 0 11 0;
|
||||
#X connect 13 0 14 0;
|
||||
#X connect 14 0 12 0;
|
||||
#X connect 14 1 12 4;
|
||||
#X connect 15 0 5 0;
|
||||
#X coords 0 -1 1 1 230 30 1 100 100;
|
||||
#X restore 49 216 pd view;
|
||||
#N canvas 509 296 612 484 view 0;
|
||||
#X floatatom 112 114 5 0 0 0 x - -;
|
||||
#X floatatom 158 114 5 0 0 0 y - -;
|
||||
#X floatatom 201 114 5 0 0 0 z - -;
|
||||
#X obj 369 109 loadbang;
|
||||
#X obj 140 335 outlet;
|
||||
#X obj 201 226 t b f;
|
||||
#X obj 150 227 t b f;
|
||||
#X obj 369 131 t b b;
|
||||
#X msg 398 196 set 4;
|
||||
#X obj 140 274 pack 0 0 4;
|
||||
#X msg 140 296 set view \$1 \$2 \$3 \, bang;
|
||||
#X msg 213 342 set view \, adddollar 1 \, adddollar 2 \, adddollar
|
||||
3;
|
||||
#X connect 0 0 9 0;
|
||||
#X connect 1 0 6 0;
|
||||
#X connect 2 0 5 0;
|
||||
#X connect 3 0 7 0;
|
||||
#X connect 5 0 9 0;
|
||||
#X connect 5 1 9 2;
|
||||
#X connect 6 0 9 0;
|
||||
#X connect 6 1 9 1;
|
||||
#X connect 7 0 8 0;
|
||||
#X connect 7 1 11 0;
|
||||
#X connect 8 0 2 0;
|
||||
#X connect 9 0 10 0;
|
||||
#X connect 10 0 4 0;
|
||||
#X connect 11 0 4 0;
|
||||
#X coords 0 -1 1 1 140 30 1 100 100;
|
||||
#X restore 25 65 pd view;
|
||||
#N canvas 380 50 612 484 view 0;
|
||||
#X floatatom 214 114 5 0 0 2 X - -;
|
||||
#X obj 166 22 loadbang;
|
||||
#X obj 139 335 outlet;
|
||||
#X obj 174 177 t b f;
|
||||
#X obj 139 177 t b f;
|
||||
#X obj 214 177 t b f;
|
||||
#X msg 174 79 set 4;
|
||||
#X floatatom 249 114 5 0 0 2 Y - -;
|
||||
#X obj 249 177 t b f;
|
||||
#X obj 139 274 pack 0 0 4 0 0 0 0 1 0;
|
||||
#X floatatom 284 114 5 0 0 2 Z - -;
|
||||
#X floatatom 104 114 5 0 0 2 x - -;
|
||||
#X floatatom 139 114 5 0 0 2 y - -;
|
||||
#X floatatom 174 114 5 0 0 2 z - -;
|
||||
#X floatatom 324 114 5 0 0 2 upX - -;
|
||||
#X floatatom 359 114 5 0 0 2 upY - -;
|
||||
#X floatatom 394 114 5 0 0 2 upZ - -;
|
||||
#X obj 284 177 t b f;
|
||||
#X obj 324 177 t b f;
|
||||
#X obj 359 177 t b f;
|
||||
#X obj 394 177 t b f;
|
||||
#X obj 324 199 t b;
|
||||
#X obj 214 199 t b;
|
||||
#X msg 139 296 set view \$1 \$2 \$3 \$4 \$5 \$6 \$7 \$8 \$9 \, bang
|
||||
;
|
||||
#X msg 251 22 set view \, adddollar 1 \, adddollar 2 \, adddollar 3
|
||||
\, adddollar 4 \, adddollar 5 \, adddollar 6 \, adddollar 7 \, adddollar
|
||||
8 \, adddollar 9;
|
||||
#X obj 166 44 t b b b;
|
||||
#X msg 359 79 set 1;
|
||||
#X connect 0 0 5 0;
|
||||
#X connect 1 0 25 0;
|
||||
#X connect 3 0 9 0;
|
||||
#X connect 3 1 9 2;
|
||||
#X connect 4 0 9 0;
|
||||
#X connect 4 1 9 1;
|
||||
#X connect 5 0 22 0;
|
||||
#X connect 5 1 9 3;
|
||||
#X connect 6 0 13 0;
|
||||
#X connect 7 0 8 0;
|
||||
#X connect 8 0 22 0;
|
||||
#X connect 8 1 9 4;
|
||||
#X connect 9 0 23 0;
|
||||
#X connect 10 0 17 0;
|
||||
#X connect 11 0 9 0;
|
||||
#X connect 12 0 4 0;
|
||||
#X connect 13 0 3 0;
|
||||
#X connect 14 0 18 0;
|
||||
#X connect 15 0 19 0;
|
||||
#X connect 16 0 20 0;
|
||||
#X connect 17 0 22 0;
|
||||
#X connect 17 1 9 5;
|
||||
#X connect 18 0 21 0;
|
||||
#X connect 18 1 9 6;
|
||||
#X connect 19 0 21 0;
|
||||
#X connect 19 1 9 7;
|
||||
#X connect 20 0 21 0;
|
||||
#X connect 20 1 9 8;
|
||||
#X connect 21 0 22 0;
|
||||
#X connect 22 0 9 0;
|
||||
#X connect 23 0 2 0;
|
||||
#X connect 24 0 2 0;
|
||||
#X connect 25 0 6 0;
|
||||
#X connect 25 1 26 0;
|
||||
#X connect 25 2 24 0;
|
||||
#X connect 26 0 15 0;
|
||||
#X coords 0 -1 1 1 330 30 2 100 100;
|
||||
#X restore 52 296 pd view;
|
||||
#X text 309 229 azimuth and elevation are in degree [°];
|
||||
#X connect 16 0 15 0;
|
||||
#X connect 17 0 15 0;
|
||||
#X connect 18 0 15 0;
|
||||
#X connect 19 0 15 0;
|
||||
#X connect 20 0 15 0;
|
||||
#X connect 22 0 15 0;
|
||||
#X connect 23 0 20 0;
|
||||
#X connect 25 0 17 0;
|
||||
#X connect 26 0 18 0;
|
||||
#X connect 27 0 16 0;
|
||||
#X connect 28 0 19 0;
|
||||
#X restore 30 612 pd more viewing;
|
||||
#X text 17 211 message to send before creation :;
|
||||
#X text 17 462 message to send after creation :;
|
||||
#X text 29 387 buffer 2|1 : set buffer-rendering mode to double (default)
|
||||
or single (not clearing buffer);
|
||||
#X text 456 60 reset settings and;
|
||||
#X text 18 417 message regarding creation :;
|
||||
#X obj 455 356 tgl 15 1 empty empty empty 17 7 0 10 -262144 -1 -1 0
|
||||
1;
|
||||
#X text 474 357 rotate objects;
|
||||
#X text 554 196 destroy window;
|
||||
#X text 484 177 (stop rendering and);
|
||||
#X text 457 83 and start rendering;
|
||||
#X text 456 72 create window with specific size;
|
||||
#X text 29 522 color <r> <g> <b> :;
|
||||
#X connect 12 0 11 0;
|
||||
#X connect 13 0 11 0;
|
||||
#X connect 22 0 11 0;
|
||||
#X connect 36 0 37 0;
|
||||
#X connect 37 0 11 0;
|
||||
#X connect 40 0 11 0;
|
||||
#X connect 55 0 39 0;
|
|
@ -1,91 +0,0 @@
|
|||
#N canvas 90 26 633 413 10;
|
||||
#X text 452 8 GEM object;
|
||||
#X obj 8 257 cnv 15 430 140 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X text 11 258 Inlets:;
|
||||
#X text 10 348 Outlets:;
|
||||
#X obj 8 222 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#X text 17 222 Arguments:;
|
||||
#X obj 7 66 cnv 15 430 150 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X obj 451 77 cnv 15 170 170 empty empty empty 20 12 0 14 -228992 -66577
|
||||
0;
|
||||
#X text 453 60 Example:;
|
||||
#X obj 456 108 cnv 15 160 130 empty empty empty 35 12 0 14 -24198 -66577
|
||||
0;
|
||||
#X text 14 361 Outlet 1: gemlist;
|
||||
#X text 21 272 Inlet 1: gemlist;
|
||||
#X obj 10 153 cnv 15 420 50 empty empty empty 20 12 0 14 -225280 -66577
|
||||
0;
|
||||
#X text 71 31 Class: shader object;
|
||||
#X text 451 325 see also:;
|
||||
#X obj 453 362 glsl_vertex;
|
||||
#X text 14 157 IMPORTANT NOTE: your openGL-implementation (gfx-card
|
||||
driver \, ...) has to support the GLSL-standard (which is part of openGL-2.0)
|
||||
in order to make use of this object.;
|
||||
#X floatatom 545 216 0 0 0 0 ID - -;
|
||||
#X obj 459 193 glsl_fragment;
|
||||
#X obj 453 342 glsl_program;
|
||||
#X text 50 12 Synopsis: [glsl_fragment];
|
||||
#X text 13 66 Description: load a GLSL fragment shader;
|
||||
#X text 14 85 [glsl_fragment] loads and compiles a GLSL fragment shader
|
||||
into a module \, suitable for linking with [glsl_program];
|
||||
#X text 17 118 An ID of the generated module is sent to the 2nd outlet.
|
||||
Use this ID in the "shader" message to [glsl_program];
|
||||
#X text 63 233 <filename>: filename to load as GLSL fragment shader
|
||||
;
|
||||
#X text 21 284 Inlet 1: "open <filename>": filename to load as GLSL
|
||||
fragment shader module.;
|
||||
#X text 21 315 Inlet 1: "print": print info about the GLSL-support
|
||||
in your openGL implementation;
|
||||
#X text 14 376 Outlet 2: <float>: ID of the GLSL-module;
|
||||
#X obj 459 86 gemhead;
|
||||
#X msg 552 170 print;
|
||||
#X obj 521 261 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#N canvas 0 22 450 300 gemwin 0;
|
||||
#X obj 132 136 gemwin;
|
||||
#X obj 67 89 outlet;
|
||||
#X obj 67 10 inlet;
|
||||
#X obj 67 41 route create;
|
||||
#X msg 67 70 set destroy;
|
||||
#X msg 142 68 set create;
|
||||
#X msg 197 134 destroy;
|
||||
#X msg 132 112 reset \, create \, 1;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 3 0 7 0;
|
||||
#X connect 3 1 5 0;
|
||||
#X connect 3 1 6 0;
|
||||
#X connect 4 0 1 0;
|
||||
#X connect 5 0 1 0;
|
||||
#X connect 6 0 0 0;
|
||||
#X connect 7 0 0 0;
|
||||
#X restore 526 300 pd gemwin;
|
||||
#X msg 526 281 create;
|
||||
#X text 522 260 Create window:;
|
||||
#X obj 527 117 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1;
|
||||
#N canvas 0 22 450 300 open 0;
|
||||
#X obj 312 45 openpanel;
|
||||
#X obj 311 157 outlet;
|
||||
#X obj 312 69 t b s;
|
||||
#X msg 332 94 set open \$1;
|
||||
#X obj 312 22 inlet;
|
||||
#X connect 0 0 2 0;
|
||||
#X connect 2 0 1 0;
|
||||
#X connect 2 1 3 0;
|
||||
#X connect 3 0 1 0;
|
||||
#X connect 4 0 0 0;
|
||||
#X restore 470 116 pd open;
|
||||
#X msg 470 136 open Toon.frag;
|
||||
#X obj 453 382 glsl_geometry;
|
||||
#X connect 18 1 17 0;
|
||||
#X connect 28 0 18 0;
|
||||
#X connect 29 0 18 0;
|
||||
#X connect 31 0 32 0;
|
||||
#X connect 32 0 31 0;
|
||||
#X connect 34 0 35 0;
|
||||
#X connect 35 0 36 0;
|
||||
#X connect 36 0 18 0;
|
|
@ -1,91 +0,0 @@
|
|||
#N canvas 40 32 633 413 10;
|
||||
#X text 452 8 GEM object;
|
||||
#X obj 8 257 cnv 15 430 140 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X text 11 258 Inlets:;
|
||||
#X text 10 348 Outlets:;
|
||||
#X obj 8 222 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#X text 17 222 Arguments:;
|
||||
#X obj 7 66 cnv 15 430 150 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X obj 451 77 cnv 15 170 170 empty empty empty 20 12 0 14 -228992 -66577
|
||||
0;
|
||||
#X text 453 60 Example:;
|
||||
#X obj 456 108 cnv 15 160 130 empty empty empty 35 12 0 14 -24198 -66577
|
||||
0;
|
||||
#X text 14 361 Outlet 1: gemlist;
|
||||
#X text 21 272 Inlet 1: gemlist;
|
||||
#X obj 10 153 cnv 15 420 50 empty empty empty 20 12 0 14 -225280 -66577
|
||||
0;
|
||||
#X text 71 31 Class: shader object;
|
||||
#X text 451 325 see also:;
|
||||
#X floatatom 546 219 0 0 0 0 ID - -;
|
||||
#X obj 460 196 glsl_geometry;
|
||||
#X obj 453 342 glsl_program;
|
||||
#X text 50 12 Synopsis: [glsl_geometry];
|
||||
#X text 13 66 Description: load a GLSL geometry shader;
|
||||
#X text 14 85 [glsl_geometry] loads and compiles a GLSL geometry shader
|
||||
into a module \, suitable for linking with [glsl_program];
|
||||
#X text 17 118 An ID of the generated module is sent to the 2nd outlet.
|
||||
Use this ID in the "shader" message to [glsl_program];
|
||||
#X text 63 233 <filename>: filename to load as GLSL geometry shader
|
||||
;
|
||||
#X text 21 284 Inlet 1: "open <filename>": filename to load as GLSL
|
||||
geometry shader module.;
|
||||
#X text 21 315 Inlet 1: "print": print info about the GLSL-support
|
||||
in your openGL implementation;
|
||||
#X text 14 376 Outlet 2: <float>: ID of the GLSL-module;
|
||||
#X obj 460 86 gemhead;
|
||||
#X msg 521 174 print;
|
||||
#X obj 521 261 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#N canvas 0 22 450 300 gemwin 0;
|
||||
#X obj 132 136 gemwin;
|
||||
#X obj 67 89 outlet;
|
||||
#X obj 67 10 inlet;
|
||||
#X obj 67 41 route create;
|
||||
#X msg 67 70 set destroy;
|
||||
#X msg 142 68 set create;
|
||||
#X msg 197 134 destroy;
|
||||
#X msg 132 112 reset \, create \, 1;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 3 0 7 0;
|
||||
#X connect 3 1 5 0;
|
||||
#X connect 3 1 6 0;
|
||||
#X connect 4 0 1 0;
|
||||
#X connect 5 0 1 0;
|
||||
#X connect 6 0 0 0;
|
||||
#X connect 7 0 0 0;
|
||||
#X restore 526 300 pd gemwin;
|
||||
#X msg 526 281 create;
|
||||
#X text 522 260 Create window:;
|
||||
#X obj 453 363 glsl_fragment;
|
||||
#X obj 530 120 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1;
|
||||
#N canvas 0 22 450 300 open 0;
|
||||
#X obj 312 45 openpanel;
|
||||
#X obj 312 157 outlet;
|
||||
#X obj 312 69 t b s;
|
||||
#X msg 332 94 set open \$1;
|
||||
#X obj 312 22 inlet;
|
||||
#X connect 0 0 2 0;
|
||||
#X connect 2 0 1 0;
|
||||
#X connect 2 1 3 0;
|
||||
#X connect 3 0 1 0;
|
||||
#X connect 4 0 0 0;
|
||||
#X restore 473 119 pd open;
|
||||
#X obj 453 383 glsl_geometry;
|
||||
#X msg 473 141 open Toon.geom;
|
||||
#X text 14 157 IMPORTANT NOTE: your openGL-implementation (gfx-card
|
||||
driver \, ...) has to support the GLSL-standard (which is part of openGL-2.1)
|
||||
in order to make use of this object.;
|
||||
#X connect 16 1 15 0;
|
||||
#X connect 26 0 16 0;
|
||||
#X connect 27 0 16 0;
|
||||
#X connect 29 0 30 0;
|
||||
#X connect 30 0 29 0;
|
||||
#X connect 33 0 34 0;
|
||||
#X connect 34 0 36 0;
|
||||
#X connect 36 0 16 0;
|
|
@ -1,112 +0,0 @@
|
|||
#N canvas 23 79 651 581 10;
|
||||
#X text 452 8 GEM object;
|
||||
#X obj 8 307 cnv 15 430 260 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X text 11 308 Inlets:;
|
||||
#X text 10 524 Outlets:;
|
||||
#X obj 8 272 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#X text 17 272 Arguments:;
|
||||
#X obj 7 56 cnv 15 430 210 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
|
||||
0;
|
||||
#X text 453 60 Example:;
|
||||
#X obj 450 138 cnv 15 160 90 empty empty empty 20 12 0 14 -24198 -66577
|
||||
0;
|
||||
#X text 63 283 <none>;
|
||||
#X text 14 537 Outlet 1: gemlist;
|
||||
#X text 21 322 Inlet 1: gemlist;
|
||||
#X obj 10 213 cnv 15 420 50 empty empty empty 20 12 0 14 -225280 -66577
|
||||
0;
|
||||
#X text 71 31 Class: shader object;
|
||||
#X text 451 345 see also:;
|
||||
#X obj 451 188 glsl_program;
|
||||
#X msg 451 272 gemList;
|
||||
#X obj 453 362 glsl_fragment;
|
||||
#X obj 453 382 glsl_vertex;
|
||||
#X text 50 12 Synopsis: [glsl_program];
|
||||
#X text 13 56 Description: link GLSL-modules into a shader program
|
||||
;
|
||||
#X text 14 75 [glsl_program] links together GLSL-modules (created by
|
||||
[glsl_fragment] and [glsl_vertex]) and sets up the resulting openGL-2.0
|
||||
shader program.;
|
||||
#X text 16 118 [glsl_program] detects which parameters of the shader
|
||||
can be modified by the user ("uniform variables") \, and allows the
|
||||
user to modify them via messages. If the shader-program has a uniform
|
||||
variable named "bla" of type float \, then you can send a message [bla
|
||||
0.5( to the [glsl_program] to set this variable to "0.5".;
|
||||
#X text 14 217 IMPORTANT NOTE: your openGL-implementation (gfx-card
|
||||
driver \, ...) has to support the GLSL-standard (which is part of openGL-2.0)
|
||||
in order to make use of this object.;
|
||||
#X text 21 364 Inlet 1: "shader <list>": list of shader-module IDs
|
||||
as reported generated by [glsl_fragment] and [glsl_vertex];
|
||||
#X text 21 395 Inlet 1: "link": link the shader-modules given via the
|
||||
"shader"-message;
|
||||
#X text 21 425 Inlet 1: "link <list>": link the shader-modules given
|
||||
\; (this is the same as "shader <list>"+"link");
|
||||
#X text 17 198 An ID of the generated program is sent to the 2nd outlet.
|
||||
;
|
||||
#X text 14 552 Outlet 2: <float>: ID of the linked glsl_program;
|
||||
#X text 21 456 Inlet 1: "<uniformName> <uniformParm>...": set the uniform
|
||||
variable of name uniformName to the (list of) uniformParms. this is
|
||||
only valid after successfully linking a program;
|
||||
#X floatatom 530 211 5 0 0 0 ID - -;
|
||||
#X msg 462 162 link;
|
||||
#X msg 518 140 shader 1 3;
|
||||
#X obj 451 86 gemhead;
|
||||
#X msg 460 140 print;
|
||||
#X msg 518 161 link 1 3;
|
||||
#X obj 513 257 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#N canvas 0 0 450 300 gemwin 0;
|
||||
#X obj 132 136 gemwin;
|
||||
#X obj 67 89 outlet;
|
||||
#X obj 67 10 inlet;
|
||||
#X obj 67 41 route create;
|
||||
#X msg 67 70 set destroy;
|
||||
#X msg 142 68 set create;
|
||||
#X msg 197 134 destroy;
|
||||
#X msg 132 112 reset \, create \, 1;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 3 0 7 0;
|
||||
#X connect 3 1 5 0;
|
||||
#X connect 3 1 6 0;
|
||||
#X connect 4 0 1 0;
|
||||
#X connect 5 0 1 0;
|
||||
#X connect 6 0 0 0;
|
||||
#X connect 7 0 0 0;
|
||||
#X restore 518 296 pd gemwin;
|
||||
#X msg 518 277 create;
|
||||
#X text 514 256 Create window:;
|
||||
#X text 21 335 Inlet 1: "print": print info about the GLSL-support
|
||||
in your openGL implementation and about the linked program;
|
||||
#N canvas 74 576 496 338 geometry 0;
|
||||
#X obj 28 27 cnv 15 430 280 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X text 33 47 when using geometry-shaders (with [glsl_geometry]) you
|
||||
have to tell [glsl_program] about the input-type (depending on the
|
||||
geometry you feed to the glsl-program) \, the output-type (that you
|
||||
create by the shader) and the number of vertices generated;
|
||||
#X text 31 158 Inlet 1: "geometry_intype <inputtype>": input type of
|
||||
geometry (default: GL_TRIANGLES);
|
||||
#X text 31 188 Inlet 1: "geometry_outtype <outputtype>": output type
|
||||
of geometry (default: GL_TRIANGLE_STRIP);
|
||||
#X text 31 223 Inlet 1: "geometry_type <inputtype> <outputtype>": combination
|
||||
of "intype" and "outtype";
|
||||
#X text 31 262 Inlet 1: "geometry_outvertices <#vertices> <outputtype>":
|
||||
number of vertices to be created (default: MAX_OUTPUT_VERTICES);
|
||||
#X text 38 128 you might want to set these before linking the shaders!!
|
||||
;
|
||||
#X restore 29 503 pd geometry shaders;
|
||||
#X obj 453 402 glsl_geometry;
|
||||
#X connect 16 0 17 0;
|
||||
#X connect 16 1 31 0;
|
||||
#X connect 32 0 16 0;
|
||||
#X connect 33 0 16 0;
|
||||
#X connect 34 0 16 0;
|
||||
#X connect 35 0 16 0;
|
||||
#X connect 36 0 16 0;
|
||||
#X connect 38 0 39 0;
|
||||
#X connect 39 0 38 0;
|
|
@ -1,90 +0,0 @@
|
|||
#N canvas 40 32 633 413 10;
|
||||
#X text 452 8 GEM object;
|
||||
#X obj 8 257 cnv 15 430 140 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X text 11 258 Inlets:;
|
||||
#X text 10 348 Outlets:;
|
||||
#X obj 8 222 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#X text 17 222 Arguments:;
|
||||
#X obj 7 66 cnv 15 430 150 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X obj 451 77 cnv 15 170 170 empty empty empty 20 12 0 14 -228992 -66577
|
||||
0;
|
||||
#X text 453 60 Example:;
|
||||
#X obj 456 108 cnv 15 160 130 empty empty empty 35 12 0 14 -24198 -66577
|
||||
0;
|
||||
#X text 14 361 Outlet 1: gemlist;
|
||||
#X text 21 272 Inlet 1: gemlist;
|
||||
#X obj 10 153 cnv 15 420 50 empty empty empty 20 12 0 14 -225280 -66577
|
||||
0;
|
||||
#X text 71 31 Class: shader object;
|
||||
#X text 451 325 see also:;
|
||||
#X text 14 157 IMPORTANT NOTE: your openGL-implementation (gfx-card
|
||||
driver \, ...) has to support the GLSL-standard (which is part of openGL-2.0)
|
||||
in order to make use of this object.;
|
||||
#X floatatom 546 219 0 0 0 0 ID - -;
|
||||
#X obj 460 196 glsl_vertex;
|
||||
#X obj 453 342 glsl_program;
|
||||
#X text 50 12 Synopsis: [glsl_vertex];
|
||||
#X text 13 66 Description: load a GLSL vertex shader;
|
||||
#X text 14 85 [glsl_vertex] loads and compiles a GLSL vertex shader
|
||||
into a module \, suitable for linking with [glsl_program];
|
||||
#X text 17 118 An ID of the generated module is sent to the 2nd outlet.
|
||||
Use this ID in the "shader" message to [glsl_program];
|
||||
#X text 63 233 <filename>: filename to load as GLSL vertex shader;
|
||||
#X text 21 284 Inlet 1: "open <filename>": filename to load as GLSL
|
||||
vertex shader module.;
|
||||
#X text 21 315 Inlet 1: "print": print info about the GLSL-support
|
||||
in your openGL implementation;
|
||||
#X text 14 376 Outlet 2: <float>: ID of the GLSL-module;
|
||||
#X obj 460 86 gemhead;
|
||||
#X msg 521 174 print;
|
||||
#X obj 521 261 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#N canvas 0 22 450 300 gemwin 0;
|
||||
#X obj 132 136 gemwin;
|
||||
#X obj 67 89 outlet;
|
||||
#X obj 67 10 inlet;
|
||||
#X obj 67 41 route create;
|
||||
#X msg 67 70 set destroy;
|
||||
#X msg 142 68 set create;
|
||||
#X msg 197 134 destroy;
|
||||
#X msg 132 112 reset \, create \, 1;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 3 0 7 0;
|
||||
#X connect 3 1 5 0;
|
||||
#X connect 3 1 6 0;
|
||||
#X connect 4 0 1 0;
|
||||
#X connect 5 0 1 0;
|
||||
#X connect 6 0 0 0;
|
||||
#X connect 7 0 0 0;
|
||||
#X restore 526 300 pd gemwin;
|
||||
#X msg 526 281 create;
|
||||
#X text 522 260 Create window:;
|
||||
#X obj 453 362 glsl_fragment;
|
||||
#X obj 530 120 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1;
|
||||
#N canvas 0 22 450 300 open 0;
|
||||
#X obj 312 45 openpanel;
|
||||
#X obj 311 157 outlet;
|
||||
#X obj 312 69 t b s;
|
||||
#X msg 332 94 set open \$1;
|
||||
#X obj 312 22 inlet;
|
||||
#X connect 0 0 2 0;
|
||||
#X connect 2 0 1 0;
|
||||
#X connect 2 1 3 0;
|
||||
#X connect 3 0 1 0;
|
||||
#X connect 4 0 0 0;
|
||||
#X restore 473 119 pd open;
|
||||
#X msg 473 139 open Toon.vert;
|
||||
#X obj 453 382 glsl_geometry;
|
||||
#X connect 17 1 16 0;
|
||||
#X connect 27 0 17 0;
|
||||
#X connect 28 0 17 0;
|
||||
#X connect 30 0 31 0;
|
||||
#X connect 31 0 30 0;
|
||||
#X connect 34 0 35 0;
|
||||
#X connect 35 0 36 0;
|
||||
#X connect 36 0 17 0;
|
|
@ -1,88 +0,0 @@
|
|||
#N canvas 344 47 655 397 10;
|
||||
#X text 452 8 GEM object;
|
||||
#X obj 8 216 cnv 15 430 70 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X text 39 218 Inlets:;
|
||||
#X text 39 250 Outlets:;
|
||||
#X obj 8 176 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#X text 17 175 Arguments:;
|
||||
#X obj 8 76 cnv 15 430 90 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
|
||||
0;
|
||||
#X text 453 60 Example:;
|
||||
#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#N canvas 0 22 450 300 gemwin 0;
|
||||
#X obj 132 136 gemwin;
|
||||
#X obj 67 89 outlet;
|
||||
#X obj 67 10 inlet;
|
||||
#X obj 67 41 route create;
|
||||
#X msg 67 70 set destroy;
|
||||
#X msg 142 68 set create;
|
||||
#X msg 132 112 create \, 1;
|
||||
#X msg 198 112 destroy;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 3 0 6 0;
|
||||
#X connect 3 1 5 0;
|
||||
#X connect 3 1 7 0;
|
||||
#X connect 4 0 1 0;
|
||||
#X connect 5 0 1 0;
|
||||
#X connect 6 0 0 0;
|
||||
#X connect 7 0 0 0;
|
||||
#X restore 519 293 pd gemwin;
|
||||
#X msg 519 274 create;
|
||||
#X text 515 253 Create window:;
|
||||
#X obj 450 186 cnv 15 80 40 empty empty empty 20 12 0 14 -24198 -66577
|
||||
0;
|
||||
#X obj 451 84 gemhead;
|
||||
#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
|
||||
-1 -1;
|
||||
#N canvas 0 22 591 370 image 0;
|
||||
#X obj 77 48 inlet;
|
||||
#X obj 77 344 outlet;
|
||||
#X obj 223 55 inlet;
|
||||
#X msg 223 123 open \$1;
|
||||
#X obj 223 100 openpanel;
|
||||
#X obj 77 281 pix_buf;
|
||||
#X msg 103 257 auto 1;
|
||||
#X obj 103 236 loadbang;
|
||||
#X text 156 263 [pix_buf] with auto 1 is important if we want to recalculate
|
||||
our pix-effect each frame but don't want to reload the image all the
|
||||
time.;
|
||||
#X obj 77 205 pix_image examples/data/fractal.JPG;
|
||||
#X connect 0 0 9 0;
|
||||
#X connect 2 0 4 0;
|
||||
#X connect 3 0 9 0;
|
||||
#X connect 4 0 3 0;
|
||||
#X connect 5 0 1 0;
|
||||
#X connect 6 0 5 0;
|
||||
#X connect 7 0 6 0;
|
||||
#X connect 9 0 5 0;
|
||||
#X restore 451 113 pd image;
|
||||
#X text 63 186 <none>;
|
||||
#X text 57 263 Outlet 1: gemlist;
|
||||
#X text 63 232 Inlet 1: gemlist;
|
||||
#X text 516 105 open an image;
|
||||
#X text 509 118 (JPEG \, TIFF \, ..);
|
||||
#X obj 451 196 imageVert;
|
||||
#X text 10 135 This is still experimental...please report any problems
|
||||
or suggestions with it.;
|
||||
#X text 14 91 [imageVert] maps a pix to a series of polygons. The height
|
||||
of the polygons is the sum of the colors (so brighter pixels will be
|
||||
taller \, while darker pixels are shorter).;
|
||||
#X text 29 77 Description: map luminance to height;
|
||||
#X text 50 12 Synopsis: [imageVertp];
|
||||
#X text 71 31 Class: geometric object;
|
||||
#X obj 451 165 rotateXYZ;
|
||||
#X floatatom 476 144 5 0 0 0 - - -;
|
||||
#X connect 10 0 11 0;
|
||||
#X connect 11 0 10 0;
|
||||
#X connect 14 0 16 0;
|
||||
#X connect 15 0 16 1;
|
||||
#X connect 16 0 28 0;
|
||||
#X connect 28 0 22 0;
|
||||
#X connect 29 0 28 1;
|
||||
#X connect 29 0 28 2;
|
|
@ -1,98 +0,0 @@
|
|||
#N canvas 124 217 710 507 10;
|
||||
#X text 475 49 Example:;
|
||||
#X obj 7 64 cnv 15 450 220 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X obj 8 336 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X text 9 339 Inlets:;
|
||||
#X obj 8 296 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#X text 17 295 Arguments:;
|
||||
#X text 452 8 GEM object;
|
||||
#X text 27 351 Inlet 1: gemlist;
|
||||
#X text 9 406 Outlets:;
|
||||
#X text 21 419 Outlet 1: gemlist;
|
||||
#X obj 469 67 cnv 15 170 320 empty empty empty 20 12 0 14 -228992 -66577
|
||||
0;
|
||||
#X obj 474 321 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#N canvas 0 0 450 300 gemwin 0;
|
||||
#X obj 132 136 gemwin;
|
||||
#X obj 67 89 outlet;
|
||||
#X obj 67 10 inlet;
|
||||
#X obj 67 41 route create;
|
||||
#X msg 67 70 set destroy;
|
||||
#X msg 142 68 set create;
|
||||
#X msg 256 112 destroy;
|
||||
#X obj 322 45 inlet;
|
||||
#X msg 132 112 create \, 1;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 3 0 8 0;
|
||||
#X connect 3 1 5 0;
|
||||
#X connect 3 1 6 0;
|
||||
#X connect 4 0 1 0;
|
||||
#X connect 5 0 1 0;
|
||||
#X connect 6 0 0 0;
|
||||
#X connect 7 0 0 0;
|
||||
#X connect 8 0 0 0;
|
||||
#X restore 479 360 pd gemwin;
|
||||
#X msg 479 341 create;
|
||||
#X text 475 320 Create window:;
|
||||
#X obj 475 160 cnv 15 150 100 empty empty empty 20 12 0 14 -24198 -66577
|
||||
0;
|
||||
#X obj 483 74 gemhead;
|
||||
#X text 33 14 Synopsis: [light];
|
||||
#X text 53 30 Class: non-geometric object;
|
||||
#X text 7 69 Description: adds a point-light to the scene;
|
||||
#X text 18 86 [light] produces a light which is local to the scene
|
||||
(unlike [world_light] which is at an infinite distance). Because light
|
||||
is local light \, there is more computation required. Use a world_light
|
||||
if you don't mind parallel light rays.;
|
||||
#X text 27 373 Inlet 1: message: debug 1|0;
|
||||
#X text 28 388 Inlet 2: list: 3(RGB) or 4(RGBA) float values;
|
||||
#X obj 483 235 light;
|
||||
#X msg 570 213 1 1 1;
|
||||
#X obj 527 163 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
|
||||
1;
|
||||
#X msg 527 184 debug \$1;
|
||||
#X text 19 219 Keep in mind that the attributes have to be set before
|
||||
rendering the vertices \, so if you are trying for frame accurate rendering
|
||||
\, you will want to set the gemhead order to a low nuber so that all
|
||||
of the values of the light get set first.;
|
||||
#X obj 472 296 sphere;
|
||||
#X floatatom 563 78 5 0 0 0 - - -;
|
||||
#X obj 483 139 translateXYZ 2 0 0;
|
||||
#X obj 483 96 rotateXYZ 0 -120 0;
|
||||
#X obj 472 274 gemhead 40;
|
||||
#X floatatom 523 121 5 1 4 0 - - -;
|
||||
#X obj 549 261 cnv 15 85 50 empty empty empty 20 12 0 14 -24198 -66577
|
||||
0;
|
||||
#X msg 551 288 lighting \$1;
|
||||
#X obj 551 266 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
|
||||
1;
|
||||
#X text 17 155 You can place the light with [rotate] and [translate].
|
||||
If you are lost use "debug" to display the light source as a small
|
||||
sphere.;
|
||||
#X msg 513 213 1 1 0;
|
||||
#X text 18 200 The second inlet sets the color of the light-source.
|
||||
;
|
||||
#X text 63 307 light-number;
|
||||
#X obj 492 175 tgl 20 0 empty \$0-onoff empty 17 7 0 10 -262144 -1
|
||||
-1 0 1;
|
||||
#X text 27 362 Inlet 1: float: turn light on(1)/off(0);
|
||||
#X connect 12 0 13 0;
|
||||
#X connect 13 0 12 0;
|
||||
#X connect 16 0 31 0;
|
||||
#X connect 24 0 23 1;
|
||||
#X connect 25 0 26 0;
|
||||
#X connect 26 0 23 0;
|
||||
#X connect 29 0 31 2;
|
||||
#X connect 30 0 23 0;
|
||||
#X connect 31 0 30 0;
|
||||
#X connect 32 0 28 0;
|
||||
#X connect 33 0 30 1;
|
||||
#X connect 35 0 12 1;
|
||||
#X connect 36 0 35 0;
|
||||
#X connect 38 0 23 1;
|
||||
#X connect 41 0 23 0;
|
|
@ -1,69 +0,0 @@
|
|||
#N canvas 37 45 711 482 10;
|
||||
#X text 458 11 GEM object;
|
||||
#X text 41 430 see also:;
|
||||
#X obj 115 429 linear_path;
|
||||
#X text 54 22 Synopsis: [linear_path];
|
||||
#X obj 504 56 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
|
||||
0;
|
||||
#X text 510 38 Example:;
|
||||
#X obj 22 60 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X obj 22 288 cnv 15 450 120 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X text 23 288 Inlets:;
|
||||
#X obj 22 164 cnv 15 450 120 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#X text 31 164 Arguments:;
|
||||
#X text 22 328 Outlets:;
|
||||
#X obj 516 212 unpack 0 0 0;
|
||||
#X floatatom 516 279 0 0 0 0 - - -;
|
||||
#X floatatom 550 257 0 0 0 0 - - -;
|
||||
#X floatatom 585 235 0 0 0 0 - - -;
|
||||
#X floatatom 524 112 5 0 0 0 - - -;
|
||||
#X text 22 64 Description: reads out a table;
|
||||
#X text 48 78 You can specify the reading-point by sending a float
|
||||
between 0.0f (beginning of table) and 1.0f (end of table). Between
|
||||
points \, a linear interpolation is made.;
|
||||
#X text 48 120 You can set the table to be read with the "open" message
|
||||
or as the second creation-argument.;
|
||||
#X text 89 197 [linear_path] is able to excerpt more than 1 dimension
|
||||
of a linear table. You can specify the dimension <D> of the table with
|
||||
the first creation-argument. (default 1);
|
||||
#X text 44 346 Outlet 1:;
|
||||
#X text 46 307 Inlet 1: reading point 0.0f...1.0f;
|
||||
#X obj 519 71 hsl 128 15 0 127 0 0 empty empty empty -2 -8 0 10 -262144
|
||||
-1 -1 0 1;
|
||||
#X obj 516 90 / 127;
|
||||
#N canvas 0 22 450 300 (subpatch) 0;
|
||||
#X array array 102 float 1;
|
||||
#A 0 0 0 0 0 0 0 0 0 0.220005 0.460011 0.520012 0.540012 0.580013 0.580013
|
||||
0.580013 0.160004 -0.0200005 -0.140003 -0.300007 -0.42001 -0.660015
|
||||
0.42001 0.44001 0.44001 0.44001 0.560013 0.560013 0.560013 0.260006
|
||||
0.0800018 -0.280006 0.520012 0.400009 0.313341 0.226672 0.140003 -0.120003
|
||||
-0.190004 -0.260006 -0.380009 -0.520012 0.300007 0.640015 0.640015
|
||||
0.640015 0.460011 0.330008 0.200005 -0.760017 -0.760017 -0.760017 -0.760017
|
||||
-0.760017 -0.760017 -0.760017 -0.760017 -0.760017 -0.760017 -0.760017
|
||||
-0.760017 0.42001 0.520012 0.560013 0.620014 0.620014 0.620014 0.580013
|
||||
0.530012 0.480011 0.280006 0.180004 0.130003 -0.0400009 0.44001 0.44001
|
||||
0.400009 0.320007 0.180004 -0.0400009 -0.180004 -0.160004 -0.0400009
|
||||
0.0200005 0.0800018 0.160004 0.240005 0.360008 0.520012 0.660015 0.500011
|
||||
0.380009 0.120003 -0.200005 -0.240005 0 0 0 0 0 0 0 0;
|
||||
#X coords 0 1 101 -1 170 100 1;
|
||||
#X restore 503 337 graph;
|
||||
#X obj 511 132 cnv 15 130 60 empty empty empty 20 12 0 14 -24198 -66577
|
||||
0;
|
||||
#X text 48 183 dimensions of the table;
|
||||
#X text 102 346 a list of <D> floats. A multi-dimensional table stores
|
||||
its values in n-tuples like: "<r1> <g1> <b1> <r2> <g2> <b2>..." Therefore
|
||||
\, a table must have the size <D>*<n>;
|
||||
#X text 50 240 name of the table;
|
||||
#X obj 516 168 linear_path 3 array;
|
||||
#X msg 543 140 open array;
|
||||
#X connect 12 0 13 0;
|
||||
#X connect 12 1 14 0;
|
||||
#X connect 12 2 15 0;
|
||||
#X connect 23 0 24 0;
|
||||
#X connect 24 0 16 0;
|
||||
#X connect 24 0 30 0;
|
||||
#X connect 30 0 12 0;
|
||||
#X connect 31 0 30 0;
|
|
@ -1,76 +0,0 @@
|
|||
#N canvas 379 171 706 465 10;
|
||||
#X text 54 30 Class: geometric object;
|
||||
#X obj 470 65 cnv 15 230 390 empty empty empty 20 12 0 14 -228992 -66577
|
||||
0;
|
||||
#X obj 593 385 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#N canvas 0 0 450 300 gemwin 0;
|
||||
#X obj 132 136 gemwin;
|
||||
#X obj 67 89 outlet;
|
||||
#X obj 67 10 inlet;
|
||||
#X obj 67 41 route create;
|
||||
#X msg 67 70 set destroy;
|
||||
#X msg 142 68 set create;
|
||||
#X msg 198 112 destroy;
|
||||
#X msg 132 112 create \, 1;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 3 0 7 0;
|
||||
#X connect 3 1 5 0;
|
||||
#X connect 3 1 6 0;
|
||||
#X connect 4 0 1 0;
|
||||
#X connect 5 0 1 0;
|
||||
#X connect 6 0 0 0;
|
||||
#X connect 7 0 0 0;
|
||||
#X restore 598 424 pd gemwin;
|
||||
#X msg 598 405 create;
|
||||
#X text 594 384 Create window:;
|
||||
#X obj 7 65 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X obj 8 216 cnv 15 450 150 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X text 9 221 Inlets:;
|
||||
#X obj 8 176 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#X text 17 175 Arguments:;
|
||||
#X text 27 277 Inlet 2: float: size;
|
||||
#X text 468 21 GEM object;
|
||||
#X text 27 233 Inlet 1: gemlist;
|
||||
#X text 9 321 Outlets:;
|
||||
#X text 21 334 Outlet 1: gemlist;
|
||||
#X text 476 47 Example:;
|
||||
#X obj 473 96 cnv 15 220 280 empty empty empty 20 12 0 14 -24198 -66577
|
||||
0;
|
||||
#X msg 476 127 draw line;
|
||||
#X msg 476 146 draw point;
|
||||
#X obj 544 72 gemhead;
|
||||
#X floatatom 647 318 5 0 0 0 - - -;
|
||||
#X text 647 302 size;
|
||||
#X msg 476 108 draw default;
|
||||
#X msg 478 223 grid \$1;
|
||||
#X floatatom 478 205 5 0 0 0 - - -;
|
||||
#X obj 478 292 t a;
|
||||
#X obj 476 167 t a;
|
||||
#X text 7 69 Description: Renders a mesh;
|
||||
#X text 27 247 Inlet 1: message: draw [line|defaulf|point];
|
||||
#X text 27 261 Inlet 1: list: grid float : change the grid resolution
|
||||
;
|
||||
#X obj 544 340 mesh_line 3;
|
||||
#X text 32 14 Synopsis: [mesh_line];
|
||||
#X text 16 86 The [mesh_line] object renders a mesh in a line at the
|
||||
current position with current color. The size of the line can be changed
|
||||
via the second inlet. This object is usefull when working with vertex_shader
|
||||
;
|
||||
#X text 63 186 resolution of the line mesh;
|
||||
#X text 575 107 (draw line);
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 4 0 3 0;
|
||||
#X connect 18 0 27 0;
|
||||
#X connect 19 0 27 0;
|
||||
#X connect 20 0 31 0;
|
||||
#X connect 21 0 31 1;
|
||||
#X connect 23 0 27 0;
|
||||
#X connect 24 0 26 0;
|
||||
#X connect 25 0 24 0;
|
||||
#X connect 26 0 31 0;
|
||||
#X connect 27 0 31 0;
|
|
@ -1,87 +0,0 @@
|
|||
#N canvas 91 105 706 465 10;
|
||||
#X text 54 30 Class: geometric object;
|
||||
#X obj 470 65 cnv 15 230 390 empty empty empty 20 12 0 14 -228992 -66577
|
||||
0;
|
||||
#X obj 593 385 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#N canvas 0 0 450 300 gemwin 0;
|
||||
#X obj 132 136 gemwin;
|
||||
#X obj 67 89 outlet;
|
||||
#X obj 67 10 inlet;
|
||||
#X obj 67 41 route create;
|
||||
#X msg 67 70 set destroy;
|
||||
#X msg 142 68 set create;
|
||||
#X msg 198 112 destroy;
|
||||
#X msg 132 112 create \, 1;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 3 0 7 0;
|
||||
#X connect 3 1 5 0;
|
||||
#X connect 3 1 6 0;
|
||||
#X connect 4 0 1 0;
|
||||
#X connect 5 0 1 0;
|
||||
#X connect 6 0 0 0;
|
||||
#X connect 7 0 0 0;
|
||||
#X restore 598 424 pd gemwin;
|
||||
#X msg 598 405 create;
|
||||
#X text 594 384 Create window:;
|
||||
#X obj 7 65 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X obj 8 216 cnv 15 450 150 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X text 9 221 Inlets:;
|
||||
#X obj 8 176 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#X text 17 175 Arguments:;
|
||||
#X text 27 302 Inlet 2: float: size;
|
||||
#X text 468 21 GEM object;
|
||||
#X text 27 233 Inlet 1: gemlist;
|
||||
#X text 9 321 Outlets:;
|
||||
#X text 21 334 Outlet 1: gemlist;
|
||||
#X text 476 47 Example:;
|
||||
#X obj 473 96 cnv 15 220 280 empty empty empty 20 12 0 14 -24198 -66577
|
||||
0;
|
||||
#X msg 476 127 draw line;
|
||||
#X msg 476 146 draw point;
|
||||
#X obj 544 72 gemhead;
|
||||
#X floatatom 647 318 5 0 0 0 - - -;
|
||||
#X text 647 302 size;
|
||||
#X text 32 14 Synopsis: [mesh_square];
|
||||
#X obj 545 342 mesh_square 3 3;
|
||||
#X msg 476 108 draw default;
|
||||
#X msg 478 223 grid \$1;
|
||||
#X floatatom 478 205 5 0 0 0 - - -;
|
||||
#X floatatom 483 247 5 0 0 0 - - -;
|
||||
#X msg 483 265 gridX \$1;
|
||||
#X floatatom 552 247 5 0 0 0 - - -;
|
||||
#X msg 552 265 gridY \$1;
|
||||
#X obj 478 292 t a;
|
||||
#X obj 476 167 t a;
|
||||
#X text 7 69 Description: Renders a mesh;
|
||||
#X text 63 186 resolution of the mesh;
|
||||
#X text 27 247 Inlet 1: message: draw [line|defaulf|point];
|
||||
#X text 27 261 Inlet 1: list: grid float : change the grid resolution
|
||||
;
|
||||
#X text 27 274 Inlet 1: list: gridX float : change the X grid resolution
|
||||
;
|
||||
#X text 27 288 Inlet 1: list: gridY float : change the Y grid resolution
|
||||
;
|
||||
#X text 16 86 The [mesh_square] object renders a mesh in a square at
|
||||
the current position with current color. The size of the square can
|
||||
be changed via the second inlet. This object is usefull when working
|
||||
with vertex_shader;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 4 0 3 0;
|
||||
#X connect 18 0 33 0;
|
||||
#X connect 19 0 33 0;
|
||||
#X connect 20 0 24 0;
|
||||
#X connect 21 0 24 1;
|
||||
#X connect 25 0 33 0;
|
||||
#X connect 26 0 32 0;
|
||||
#X connect 27 0 26 0;
|
||||
#X connect 28 0 29 0;
|
||||
#X connect 29 0 32 0;
|
||||
#X connect 30 0 31 0;
|
||||
#X connect 31 0 32 0;
|
||||
#X connect 32 0 24 0;
|
||||
#X connect 33 0 24 0;
|
|
@ -1,121 +0,0 @@
|
|||
#N canvas 407 65 710 632 10;
|
||||
#X text 54 30 Class: geometric object;
|
||||
#X obj 464 77 cnv 15 200 280 empty empty empty 20 12 0 14 -228992 -66577
|
||||
0;
|
||||
#X obj 466 364 cnv 15 200 60 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#N canvas 0 22 450 300 gemwin 0;
|
||||
#X obj 132 136 gemwin;
|
||||
#X obj 67 89 outlet;
|
||||
#X obj 67 10 inlet;
|
||||
#X obj 67 41 route create;
|
||||
#X msg 67 70 set destroy;
|
||||
#X msg 142 68 set create;
|
||||
#X msg 132 112 create \, 1 \, lighting 1;
|
||||
#X msg 298 112 destroy \, reset;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 3 0 6 0;
|
||||
#X connect 3 1 5 0;
|
||||
#X connect 3 1 7 0;
|
||||
#X connect 4 0 1 0;
|
||||
#X connect 5 0 1 0;
|
||||
#X connect 6 0 0 0;
|
||||
#X connect 7 0 0 0;
|
||||
#X restore 471 403 pd gemwin;
|
||||
#X msg 471 384 create;
|
||||
#X text 468 365 Create window:;
|
||||
#X text 475 59 Example:;
|
||||
#X obj 7 67 cnv 15 450 200 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X obj 8 316 cnv 15 450 260 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X text 9 321 Inlets:;
|
||||
#X obj 8 276 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#X text 17 275 Arguments:;
|
||||
#X text 452 8 GEM object;
|
||||
#X text 27 333 Inlet 1: gemlist;
|
||||
#X text 9 560 Outlets:;
|
||||
#X text 21 573 Outlet 1: gemlist;
|
||||
#X obj 472 136 cnv 15 180 165 empty empty empty 20 12 0 14 -106458
|
||||
-66577 0;
|
||||
#X text 33 14 Synopsis: [model];
|
||||
#X text 7 69 Description: Renders an Alias/Wavefront-Model.;
|
||||
#X text 16 86 The model object renders 3D-models that are saved in
|
||||
Alias/Wavefront's OBJ-format.;
|
||||
#X text 63 286 optional: name of a OBJ-file to be loaded;
|
||||
#X obj 470 313 cnv 15 50 30 empty empty empty 20 12 0 14 -24198 -66577
|
||||
0;
|
||||
#X obj 583 384 gemhead;
|
||||
#X obj 583 403 world_light;
|
||||
#X obj 552 302 cnv 15 100 50 empty empty empty 20 12 0 14 -106458 -66577
|
||||
0;
|
||||
#X obj 473 84 gemhead;
|
||||
#X obj 473 319 model;
|
||||
#X obj 486 140 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1;
|
||||
#X obj 486 158 openpanel;
|
||||
#X obj 574 144 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
|
||||
1;
|
||||
#X msg 574 164 rescale \$1;
|
||||
#X msg 490 224 smooth \$1;
|
||||
#X obj 574 204 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
|
||||
1;
|
||||
#X msg 574 224 revert \$1;
|
||||
#X msg 486 274 material \$1;
|
||||
#X msg 574 274 texture \$1;
|
||||
#X msg 576 326 group \$1;
|
||||
#X floatatom 490 206 5 0 1 0 - - -;
|
||||
#X msg 486 179 open \$1;
|
||||
#X obj 576 308 hradio 15 1 0 3 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1 0;
|
||||
#X text 27 350 Inlet 1: message: open <filename.obj>;
|
||||
#X text 27 367 Inlet 1: message: rescale 1|0 :: normalize the model
|
||||
(must be set PRIOR to opening a model (default: 1);
|
||||
#X text 26 444 Inlet 1: message: material 1|0 :: use material-information
|
||||
(from the .MTL-file);
|
||||
#X text 27 522 Inlet 1: message: group <int> :: draw only specified
|
||||
part of the model (0==all groups);
|
||||
#X text 16 114 To normalize the size and pivot-point of a loaded model
|
||||
use the "rescale"-message prior(!) to loading the model.;
|
||||
#X text 27 426 Inlet 1: message: revert 1|0 :: revert faces;
|
||||
#X text 16 142 The amount of smoothing of the model-facets can be set
|
||||
via the "smooth"-message.;
|
||||
#X text 17 168 Some models have material-information stored in a separate
|
||||
MTL-file. If these materials should be used instead of GEM's [color]
|
||||
(and friends) use the "material"-message.;
|
||||
#X text 16 234 Model can consist of several parts \, so-called "groups".
|
||||
Normally all groups are rendered \, but you can specify specific groups
|
||||
to be displayed.;
|
||||
#X obj 473 115 color 1 0 0;
|
||||
#X obj 486 254 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
|
||||
1;
|
||||
#X text 27 397 Inlet 1: message: smooth <float> :: set smoothing factor
|
||||
( 0.0==flat. 1.0==smooth. default=0.5);
|
||||
#X text 27 474 Inlet 1: message: texture 0|1|2 :: 0==linear texturing
|
||||
\, 1==sphere mapping \, 2==UV-mapping (default);
|
||||
#X obj 574 254 hradio 15 1 0 3 empty empty empty 0 -6 0 8 -262144 -1
|
||||
-1 0;
|
||||
#X text 17 210 Images can be applied either as linear \, spheric or
|
||||
UV textures.;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 4 0 3 0;
|
||||
#X connect 22 0 23 0;
|
||||
#X connect 25 0 49 0;
|
||||
#X connect 27 0 28 0;
|
||||
#X connect 28 0 38 0;
|
||||
#X connect 29 0 30 0;
|
||||
#X connect 30 0 26 0;
|
||||
#X connect 31 0 26 0;
|
||||
#X connect 32 0 33 0;
|
||||
#X connect 33 0 26 0;
|
||||
#X connect 34 0 26 0;
|
||||
#X connect 35 0 26 0;
|
||||
#X connect 36 0 26 0;
|
||||
#X connect 37 0 31 0;
|
||||
#X connect 38 0 26 0;
|
||||
#X connect 39 0 36 0;
|
||||
#X connect 49 0 26 0;
|
||||
#X connect 50 0 34 0;
|
||||
#X connect 53 0 35 0;
|
|
@ -1,69 +0,0 @@
|
|||
#N canvas 368 22 710 565 10;
|
||||
#X text 54 30 Class: geometric object;
|
||||
#X obj 464 77 cnv 15 200 180 empty empty empty 20 12 0 14 -228992 -66577
|
||||
0;
|
||||
#X obj 466 294 cnv 15 200 60 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#N canvas 0 22 450 300 gemwin 0;
|
||||
#X obj 132 136 gemwin;
|
||||
#X obj 67 89 outlet;
|
||||
#X obj 67 10 inlet;
|
||||
#X obj 67 41 route create;
|
||||
#X msg 67 70 set destroy;
|
||||
#X msg 142 68 set create;
|
||||
#X msg 132 112 create \, 1 \, lighting 1;
|
||||
#X msg 298 112 destroy \, reset;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 3 0 6 0;
|
||||
#X connect 3 1 5 0;
|
||||
#X connect 3 1 7 0;
|
||||
#X connect 4 0 1 0;
|
||||
#X connect 5 0 1 0;
|
||||
#X connect 6 0 0 0;
|
||||
#X connect 7 0 0 0;
|
||||
#X restore 471 333 pd gemwin;
|
||||
#X msg 471 314 create;
|
||||
#X text 468 295 Create window:;
|
||||
#X text 475 59 Example:;
|
||||
#X obj 7 67 cnv 15 450 200 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X obj 8 316 cnv 15 450 160 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X text 9 321 Inlets:;
|
||||
#X obj 8 276 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#X text 17 275 Arguments:;
|
||||
#X text 452 8 GEM object;
|
||||
#X text 27 333 Inlet 1: gemlist;
|
||||
#X text 9 420 Outlets:;
|
||||
#X text 21 433 Outlet 1: gemlist;
|
||||
#X obj 469 146 cnv 15 190 35 empty empty empty 20 12 0 14 -106458 -66577
|
||||
0;
|
||||
#X obj 470 203 cnv 15 50 30 empty empty empty 20 12 0 14 -24198 -66577
|
||||
0;
|
||||
#X obj 583 314 gemhead;
|
||||
#X obj 583 333 world_light;
|
||||
#X obj 473 84 gemhead;
|
||||
#X obj 492 413 model;
|
||||
#X text 472 394 see also:;
|
||||
#X text 33 14 Synopsis: [multimodel];
|
||||
#X text 19 117 The open message is the name of the of model file \,
|
||||
the base model number (ie \, what number to start at) \, the top model
|
||||
number (what number to end at) \, and the skip rate (how to count).
|
||||
;
|
||||
#X text 18 180 When you send the open message \, multimodel looks for
|
||||
the * in the file name and replaces it with a number.;
|
||||
#X obj 473 209 multimodel;
|
||||
#X msg 482 156 open mymodel*.obj 0 10 1;
|
||||
#X text 27 350 Inlet 1: message: open <filename*.obj> <basenumber>
|
||||
<topnumber> <skip>;
|
||||
#X obj 563 412 pix_multiimage;
|
||||
#X text 7 69 Description: load multiple an Alias/Wavefront-Model and
|
||||
renders one of them;
|
||||
#X text 18 386 for other messages to [multimodel] see [model];
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 4 0 3 0;
|
||||
#X connect 18 0 19 0;
|
||||
#X connect 20 0 26 0;
|
||||
#X connect 27 0 26 0;
|
|
@ -1,158 +0,0 @@
|
|||
#N canvas 402 236 760 620 10;
|
||||
#X text 54 27 Class: geometric object;
|
||||
#X obj 479 47 cnv 15 250 550 empty empty empty 20 12 0 14 -228992 -66577
|
||||
0;
|
||||
#X obj 484 533 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#N canvas 0 0 454 304 gemwin 0;
|
||||
#X obj 131 164 gemwin;
|
||||
#X obj 67 89 outlet;
|
||||
#X obj 67 10 inlet;
|
||||
#X obj 67 41 route create;
|
||||
#X msg 67 70 set destroy;
|
||||
#X msg 142 68 set create;
|
||||
#X msg 198 112 destroy;
|
||||
#X msg 131 140 create \, 1 \, lighting 1;
|
||||
#X obj 298 149 world_light;
|
||||
#X obj 298 122 gemhead;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 3 0 7 0;
|
||||
#X connect 3 1 5 0;
|
||||
#X connect 3 1 6 0;
|
||||
#X connect 4 0 1 0;
|
||||
#X connect 5 0 1 0;
|
||||
#X connect 6 0 0 0;
|
||||
#X connect 7 0 0 0;
|
||||
#X connect 9 0 8 0;
|
||||
#X restore 489 571 pd gemwin;
|
||||
#X msg 489 552 create;
|
||||
#X text 485 532 Create window:;
|
||||
#X text 485 29 Example:;
|
||||
#X obj 7 47 cnv 15 450 90 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X obj 8 199 cnv 15 450 260 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X text 19 198 Inlets:;
|
||||
#X obj 8 143 cnv 15 450 50 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#X text 17 142 Arguments:;
|
||||
#X text 26 347 Inlet 1: message: draw [line|fill|point];
|
||||
#X text 452 8 GEM object;
|
||||
#X text 27 210 Inlet 1: gemlist;
|
||||
#X text 9 420 Outlets:;
|
||||
#X text 20 433 Outlet 1: gemlist;
|
||||
#X obj 484 141 cnv 15 240 380 empty empty empty 20 12 0 14 -24198 -66577
|
||||
0;
|
||||
#X obj 494 54 gemhead;
|
||||
#X floatatom 592 446 5 0 0 2 size - -;
|
||||
#X floatatom 593 475 5 0 0 2 height - -;
|
||||
#X floatatom 526 96 5 0 0 0 - - -;
|
||||
#X msg 523 172 draw line;
|
||||
#X msg 523 192 draw fill;
|
||||
#X msg 523 212 draw point;
|
||||
#X text 33 11 Synopsis: [newWave];
|
||||
#X text 26 377 Inlet 2: float: size (dimX & dimY);
|
||||
#X text 26 391 Inlet 3: float: height (dimZ);
|
||||
#X text 26 405 Inlet 4: int: action;
|
||||
#X obj 565 254 vradio 11 1 0 11 empty empty action -10 -6 0 8 -262144
|
||||
-1 -1 0;
|
||||
#X floatatom 626 158 5 0 100 0 - - -;
|
||||
#X obj 626 176 / 100;
|
||||
#X msg 626 195 K1 \$1;
|
||||
#X text 16 68 The newWaves object renders a number of waving square
|
||||
at the current position with current color. The size of the square
|
||||
can be changed via the inlet2 \, the height of the wave can be set
|
||||
via the 3rd inlet. You can also set the wave-form (inlet4);
|
||||
#X text 26 223 Inlet 1: bang: trigger waving;
|
||||
#X obj 494 459 t a b;
|
||||
#X floatatom 626 218 5 0 100 0 - - -;
|
||||
#X obj 626 236 / 100;
|
||||
#X floatatom 626 278 5 0 100 0 - - -;
|
||||
#X obj 626 296 / 100;
|
||||
#X floatatom 676 158 5 0 100 0 - - -;
|
||||
#X obj 676 176 / 100;
|
||||
#X floatatom 676 218 5 0 100 0 - - -;
|
||||
#X obj 676 236 / 100;
|
||||
#X floatatom 676 278 5 0 100 0 - - -;
|
||||
#X obj 676 296 / 100;
|
||||
#X msg 676 195 D1 \$1;
|
||||
#X msg 676 255 D2 \$1;
|
||||
#X msg 676 315 D3 \$1;
|
||||
#X msg 626 315 K3 \$1;
|
||||
#X msg 626 255 K2 \$1;
|
||||
#X obj 595 272 t a;
|
||||
#X obj 595 212 t a;
|
||||
#X obj 595 332 t a;
|
||||
#X text 27 237 Inlet 1: K1 \, D1 \, K2 \, D2 \, K3 \, D3: weight/damping
|
||||
factors (defaults: K1=0.05 D1=0.1 K2=K3=D2=D3=0);
|
||||
#X msg 590 364 position 1 1 10;
|
||||
#X text 25 265 Inlet 1: message: position (X Y Z): clamp the node at
|
||||
(X Y) to a certain height and release it;
|
||||
#X text 7 51 Description: Renders a waving square (mass-spring-system)
|
||||
;
|
||||
#X msg 592 414 noise 1;
|
||||
#X obj 8 465 cnv 15 450 130 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#X text 13 465 actions:;
|
||||
#X text 84 471 00..retrigger current action;
|
||||
#X text 84 482 01..flat;
|
||||
#X text 84 493 02..spike;
|
||||
#X text 84 503 03..diagonal wall;
|
||||
#X text 84 514 04..sidewall;
|
||||
#X text 84 525 05..hole;
|
||||
#X text 84 536 06..middleblock;
|
||||
#X text 84 547 07..diagonalblock;
|
||||
#X text 84 558 08..cornerblock;
|
||||
#X text 84 568 09..hill;
|
||||
#X text 83 579 10..hill4 (default);
|
||||
#X text 27 318 Inlet 1: message: noise (val) : add a random force;
|
||||
#X text 42 331 ( -val < force < +val) to all node;
|
||||
#X obj 493 494 newWave 30 10;
|
||||
#X msg 502 146 texture 0;
|
||||
#X msg 591 389 force 15 5 -0.5;
|
||||
#X obj 494 115 rotateXYZ 135 0 0;
|
||||
#X text 24 290 Inlet 1: message: force (X Y val): aply a force of value
|
||||
"val" onto the wave at position (X Y);
|
||||
#X text 63 159 1 : X grid-resolution \, default : 3;
|
||||
#X text 63 171 2 : Y grid resolution \, default : X value;
|
||||
#X text 26 362 Inlet 1 : message texture [1|2] : change texturing mode
|
||||
;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 4 0 3 0;
|
||||
#X connect 18 0 77 0;
|
||||
#X connect 19 0 74 1;
|
||||
#X connect 20 0 74 2;
|
||||
#X connect 21 0 77 1;
|
||||
#X connect 22 0 74 0;
|
||||
#X connect 23 0 74 0;
|
||||
#X connect 24 0 74 0;
|
||||
#X connect 29 0 74 3;
|
||||
#X connect 30 0 31 0;
|
||||
#X connect 31 0 32 0;
|
||||
#X connect 32 0 52 0;
|
||||
#X connect 35 0 74 0;
|
||||
#X connect 35 1 74 0;
|
||||
#X connect 36 0 37 0;
|
||||
#X connect 37 0 50 0;
|
||||
#X connect 38 0 39 0;
|
||||
#X connect 39 0 49 0;
|
||||
#X connect 40 0 41 0;
|
||||
#X connect 41 0 46 0;
|
||||
#X connect 42 0 43 0;
|
||||
#X connect 43 0 47 0;
|
||||
#X connect 44 0 45 0;
|
||||
#X connect 45 0 48 0;
|
||||
#X connect 46 0 52 0;
|
||||
#X connect 47 0 51 0;
|
||||
#X connect 48 0 53 0;
|
||||
#X connect 49 0 53 0;
|
||||
#X connect 50 0 51 0;
|
||||
#X connect 51 0 53 0;
|
||||
#X connect 52 0 51 0;
|
||||
#X connect 53 0 74 0;
|
||||
#X connect 55 0 74 0;
|
||||
#X connect 58 0 74 0;
|
||||
#X connect 75 0 74 0;
|
||||
#X connect 76 0 74 0;
|
||||
#X connect 77 0 35 0;
|
|
@ -1,83 +0,0 @@
|
|||
#N canvas 397 92 629 343 10;
|
||||
#X obj 462 275 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#N canvas 0 22 450 300 gemwin 0;
|
||||
#X obj 132 136 gemwin;
|
||||
#X obj 67 89 outlet;
|
||||
#X obj 67 10 inlet;
|
||||
#X obj 67 41 route create;
|
||||
#X msg 67 70 set destroy;
|
||||
#X msg 142 68 set create;
|
||||
#X msg 198 112 destroy;
|
||||
#X msg 132 112 create \, 1;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 3 0 7 0;
|
||||
#X connect 3 1 5 0;
|
||||
#X connect 3 1 6 0;
|
||||
#X connect 4 0 1 0;
|
||||
#X connect 5 0 1 0;
|
||||
#X connect 6 0 0 0;
|
||||
#X connect 7 0 0 0;
|
||||
#X restore 467 314 pd gemwin;
|
||||
#X msg 467 295 create;
|
||||
#X text 463 274 Create window:;
|
||||
#X text 485 29 Example:;
|
||||
#X obj 7 65 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X obj 8 216 cnv 15 450 120 empty empty empty 20 12 0 14 -233017 -66577
|
||||
0;
|
||||
#X text 9 221 Inlets:;
|
||||
#X obj 8 176 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
|
||||
0;
|
||||
#X text 17 175 Arguments:;
|
||||
#X text 452 8 GEM object;
|
||||
#X text 27 233 Inlet 1: gemlist;
|
||||
#X text 9 304 Outlets:;
|
||||
#X text 21 316 Outlet 1: gemlist;
|
||||
#X text 63 187 (none);
|
||||
#X text 27 247 Inlet 1: 0|1 : turn orthographic rendering ON(default)
|
||||
or OFF;
|
||||
#X text 33 14 Synopsis: [ortho];
|
||||
#X text 54 30 Class: manipulation object;
|
||||
#X text 7 69 Description: orthographic rendering;
|
||||
#X text 27 274 Inlet 1: compat 0|1 : switch aspect ratio default: 1
|
||||
= 1 \, 0 = window width/height;
|
||||
#X text 19 92 [ortho] changes the current viewing-mode from (evtl.)
|
||||
"perspective" (objects that are fare away appear smaller than objects
|
||||
that are near) to "orthographic" (parallels appear parallel) for all
|
||||
subsequent shapes.;
|
||||
#X obj 461 66 cnv 15 160 200 empty empty empty 20 12 0 14 -228992 -66577
|
||||
0;
|
||||
#X obj 466 157 cnv 15 150 80 empty empty empty 20 12 0 14 -24198 -66577
|
||||
0;
|
||||
#X obj 490 68 gemhead;
|
||||
#X obj 490 246 cylinder;
|
||||
#X obj 490 89 t a b;
|
||||
#X obj 520 108 i;
|
||||
#X obj 490 200 ortho;
|
||||
#X obj 470 183 tgl 15 1 empty empty empty 0 -6 0 8 -262144 -1 -1 1
|
||||
1;
|
||||
#X obj 565 87 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
|
||||
;
|
||||
#X obj 549 108 + 0;
|
||||
#X obj 490 129 rotateXYZ 45 45 0;
|
||||
#X msg 521 180 compat \$1;
|
||||
#X obj 521 160 tgl 15 1 empty empty empty 0 -6 0 8 -262144 -1 -1 1
|
||||
1;
|
||||
#X connect 1 0 2 0;
|
||||
#X connect 2 0 1 0;
|
||||
#X connect 23 0 25 0;
|
||||
#X connect 25 0 31 0;
|
||||
#X connect 25 1 26 0;
|
||||
#X connect 26 0 30 0;
|
||||
#X connect 26 0 31 1;
|
||||
#X connect 26 0 31 2;
|
||||
#X connect 26 0 31 3;
|
||||
#X connect 27 0 24 0;
|
||||
#X connect 28 0 27 0;
|
||||
#X connect 29 0 30 1;
|
||||
#X connect 30 0 26 1;
|
||||
#X connect 31 0 27 0;
|
||||
#X connect 32 0 27 0;
|
||||
#X connect 33 0 32 0;
|
|
@ -1,55 +0,0 @@
|
|||
#N canvas -64 430 759 378 10;
|
||||
#X obj 525 177 part_color;
|
||||
#X text 98 142 sets the color(s) of a particle-system. You can set
|
||||
2 different colors \, particles will have either the one or the other.
|
||||
;
|
||||
#N canvas 0 0 450 300 gemwin 0;
|
||||
#X obj 132 136 gemwin;
|
||||
#X obj 67 89 outlet;
|
||||
#X obj 67 10 inlet;
|
||||
#X obj 67 41 route create;
|
||||
#X msg 67 70 set destroy;
|
||||
#X msg 142 68 set create;
|
||||
#X msg 132 112 create \, 1;
|
||||
#X msg 198 112 destroy;
|
||||
#X obj 287 94 loadbang;
|
||||
#X msg 294 121 reset \, lighting 0;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 3 0 6 0;
|
||||
#X connect 3 1 5 0;
|
||||
#X connect 3 1 7 0;
|
||||
#X connect 4 0 1 0;
|
||||
#X connect 5 0 1 0;
|
||||
#X connect 6 0 0 0;
|
||||
#X connect 7 0 0 0;
|
||||
#X connect 8 0 9 0;
|
||||
#X connect 9 0 0 0;
|
||||
#X restore 546 309 pd gemwin;
|
||||
#X msg 546 290 create;
|
||||
#X text 544 269 Create window:;
|
||||
#X text 31 14 Synopsis: [part_color];
|
||||
#X text 38 68 Inlet 2: R1 G1 B1;
|
||||
#X text 51 97 Class: Particle System;
|
||||
#X text 7 123 Description: Defines color of particles;
|
||||
#X text 434 16 Example:;
|
||||
#X obj 525 81 part_source;
|
||||
#X obj 525 208 part_draw;
|
||||
#X obj 525 36 gemhead;
|
||||
#X msg 634 115 0 0 1;
|
||||
#X msg 634 140 1 0 0;
|
||||
#X obj 525 57 part_head;
|
||||
#X obj 525 119 part_killold 5;
|
||||
#X text 38 41 inlet 1: gemlist (with part_head);
|
||||
#X obj 524 17 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
|
||||
;
|
||||
#X connect 0 0 11 0;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 3 0 2 0;
|
||||
#X connect 10 0 16 0;
|
||||
#X connect 12 0 15 0;
|
||||
#X connect 13 0 0 1;
|
||||
#X connect 14 0 0 2;
|
||||
#X connect 15 0 10 0;
|
||||
#X connect 16 0 0 0;
|
||||
#X connect 18 0 12 0;
|
|
@ -1,53 +0,0 @@
|
|||
#N canvas -48 0 754 404 10;
|
||||
#X text 540 156 This is the damping vector;
|
||||
#X text 541 176 To slow particles down;
|
||||
#X text 99 206 keep all of the values less than one;
|
||||
#X text 51 97 Class: Particle System;
|
||||
#X text 38 41 inlet 1: gemlist (with part_head);
|
||||
#X text 31 14 Synopsis: [part_damp];
|
||||
#X text 38 68 Inlet 2: V1 V2 V3;
|
||||
#X text 7 123 Description: Change velocity of Particles;
|
||||
#X text 99 144 part_damp dampens the velocity of the particles. A damping
|
||||
vector less than 1 \, 1 \, 1 will slow the particles done. A damping
|
||||
vector greater than 1 \, 1 \, 1 will speed up the particles.;
|
||||
#X obj 521 30 gemhead;
|
||||
#X obj 521 51 part_head;
|
||||
#X obj 521 113 part_killold 5;
|
||||
#X obj 521 267 part_draw;
|
||||
#N canvas 0 0 450 300 gemwin 0;
|
||||
#X obj 132 136 gemwin;
|
||||
#X obj 67 89 outlet;
|
||||
#X obj 67 10 inlet;
|
||||
#X obj 67 41 route create;
|
||||
#X msg 67 70 set destroy;
|
||||
#X msg 142 68 set create;
|
||||
#X msg 132 112 create \, 1;
|
||||
#X msg 198 112 destroy;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 3 0 6 0;
|
||||
#X connect 3 1 5 0;
|
||||
#X connect 3 1 7 0;
|
||||
#X connect 4 0 1 0;
|
||||
#X connect 5 0 1 0;
|
||||
#X connect 6 0 0 0;
|
||||
#X connect 7 0 0 0;
|
||||
#X restore 521 356 pd gemwin;
|
||||
#X msg 521 337 create;
|
||||
#X text 519 316 Create window:;
|
||||
#X floatatom 663 192 5 0 0 0 - - -;
|
||||
#X msg 663 211 \$1 1 1;
|
||||
#X obj 521 10 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
|
||||
;
|
||||
#X obj 521 80 part_source 5;
|
||||
#X obj 521 237 part_damp 0.1 0.1 0.1;
|
||||
#X connect 9 0 10 0;
|
||||
#X connect 10 0 19 0;
|
||||
#X connect 11 0 20 0;
|
||||
#X connect 13 0 14 0;
|
||||
#X connect 14 0 13 0;
|
||||
#X connect 16 0 17 0;
|
||||
#X connect 17 0 20 1;
|
||||
#X connect 18 0 9 0;
|
||||
#X connect 19 0 11 0;
|
||||
#X connect 20 0 12 0;
|
|
@ -1,54 +0,0 @@
|
|||
#N canvas 539 315 813 403 10;
|
||||
#X msg 631 212 draw point;
|
||||
#X text 536 159 This is the drawing mode: line/point;
|
||||
#X text 98 109 [part_draw] finally draws a particle system that was
|
||||
set up with [part_head] and other [part_]-objects.;
|
||||
#X text 51 65 Class: Particle System;
|
||||
#X text 10 90 Description: Draw a particle system;
|
||||
#X text 26 175 See also:;
|
||||
#X obj 99 176 part_render;
|
||||
#X obj 521 30 gemhead;
|
||||
#X obj 521 51 part_head;
|
||||
#X obj 521 105 part_killold 5;
|
||||
#X obj 521 78 part_source;
|
||||
#X obj 521 267 part_draw;
|
||||
#N canvas 0 0 450 300 gemwin 0;
|
||||
#X obj 132 136 gemwin;
|
||||
#X obj 67 89 outlet;
|
||||
#X obj 67 10 inlet;
|
||||
#X obj 67 41 route create;
|
||||
#X msg 67 70 set destroy;
|
||||
#X msg 142 68 set create;
|
||||
#X msg 132 112 create \, 1;
|
||||
#X msg 198 112 destroy;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 3 0 6 0;
|
||||
#X connect 3 1 5 0;
|
||||
#X connect 3 1 7 0;
|
||||
#X connect 4 0 1 0;
|
||||
#X connect 5 0 1 0;
|
||||
#X connect 6 0 0 0;
|
||||
#X connect 7 0 0 0;
|
||||
#X restore 521 356 pd gemwin;
|
||||
#X msg 521 337 create;
|
||||
#X text 519 316 Create window:;
|
||||
#X obj 521 10 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
|
||||
;
|
||||
#X msg 629 184 draw line;
|
||||
#X msg 634 241 draw \$1;
|
||||
#X floatatom 712 227 5 0 0 0 - - -;
|
||||
#X text 38 41 inlet 1: gemlist (with part_head) \, draw [line|point|<nr>]
|
||||
;
|
||||
#X text 31 14 Synopsis: [part_draw];
|
||||
#X connect 0 0 11 0;
|
||||
#X connect 7 0 8 0;
|
||||
#X connect 8 0 10 0;
|
||||
#X connect 9 0 11 0;
|
||||
#X connect 10 0 9 0;
|
||||
#X connect 12 0 13 0;
|
||||
#X connect 13 0 12 0;
|
||||
#X connect 15 0 7 0;
|
||||
#X connect 16 0 11 0;
|
||||
#X connect 17 0 11 0;
|
||||
#X connect 18 0 17 0;
|
|
@ -1,49 +0,0 @@
|
|||
#N canvas 22 325 802 373 10;
|
||||
#X text 583 138 particle acceleration;
|
||||
#X text 97 112 [part_follow] lets the particles follow each other.
|
||||
;
|
||||
#X text 51 65 Class: Particle System;
|
||||
#X text 38 41 inlet 1: gemlist (with part_head) \, draw [line|point|<nr>]
|
||||
;
|
||||
#X text 34 15 Synopsis: [part_follow];
|
||||
#X text 10 90 Description: Particle follow each other;
|
||||
#X obj 521 30 gemhead;
|
||||
#X obj 521 10 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
|
||||
;
|
||||
#N canvas 0 0 450 300 gemwin 0;
|
||||
#X obj 132 136 gemwin;
|
||||
#X obj 67 89 outlet;
|
||||
#X obj 67 10 inlet;
|
||||
#X obj 67 41 route create;
|
||||
#X msg 67 70 set destroy;
|
||||
#X msg 142 68 set create;
|
||||
#X msg 132 112 create \, 1;
|
||||
#X msg 198 112 destroy;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 3 0 6 0;
|
||||
#X connect 3 1 5 0;
|
||||
#X connect 3 1 7 0;
|
||||
#X connect 4 0 1 0;
|
||||
#X connect 5 0 1 0;
|
||||
#X connect 6 0 0 0;
|
||||
#X connect 7 0 0 0;
|
||||
#X restore 523 326 pd gemwin;
|
||||
#X msg 523 307 create;
|
||||
#X text 521 286 Create window:;
|
||||
#X floatatom 635 166 5 0 0 0 - - -;
|
||||
#X text 57 214 TODO: how does this work .. example !!!;
|
||||
#X obj 521 103 part_killold 5;
|
||||
#X obj 521 187 part_follow 0.001;
|
||||
#X obj 521 75 part_source 5;
|
||||
#X obj 521 51 part_head;
|
||||
#X obj 521 243 part_draw;
|
||||
#X connect 6 0 16 0;
|
||||
#X connect 7 0 6 0;
|
||||
#X connect 8 0 9 0;
|
||||
#X connect 9 0 8 0;
|
||||
#X connect 11 0 14 1;
|
||||
#X connect 13 0 14 0;
|
||||
#X connect 14 0 17 0;
|
||||
#X connect 15 0 13 0;
|
||||
#X connect 16 0 15 0;
|
|
@ -1,12 +0,0 @@
|
|||
#N canvas 23 236 644 359 10;
|
||||
#X msg 139 109 gemList;
|
||||
#X text 176 62 GEM object;
|
||||
#X msg 242 151 x y z;
|
||||
#X obj 139 207 part_gravity;
|
||||
#X text 186 26 [part_gravity];
|
||||
#X text 327 152 This is gravitation vector;
|
||||
#X text 43 257 [part_gravity] sets the gravity-vector of the particle-system.
|
||||
No matter in which direction particles are emitted (pE. via [part_velsphere])
|
||||
in the end \, they have to follow the gravity.;
|
||||
#X connect 0 0 3 0;
|
||||
#X connect 2 0 3 1;
|