Author: Mark Danks

## List of GEM objects

Controls
Manipulators
Geos
Particles
Nongeos
Pixes
TV
MarkEx

Controls
gemhead - the start of rendering chain
gemwin - the window manager
render_trigger - outputs a bang when the chain renders
gemmouse - outputs the mouse position and buttons in the GEM window
gemkeyboard - outputs the keycode of a key pressed when you are in the GEM window (there might be different keycodes in Windows/Linux)
gemkeyname - outputs a symbolic description of a key pressed when you are in the GEM window (there might be different symbols in Windows/Linux)
gemorb - outputs the position, rotation, and buttons for a Space Orb
gemtablet - outputs the pen position, pressure, and buttons in the GEM window

Manipulators
accumrotate - accumulate a rotation
alpha - enable/disable alpha blending
ambient - set the ambient color with a vector
ambientRGB - set the ambient color with 3 discrete values
color - set the color with a vector
colorRGB - set the color with 3 discrete values
depth - enable/disable depth testing
diffuse - set the diffuse color with a vector
diffuseRGB - set the diffuse color with 3 discrete values
emission - set the emissive color with a vector
emissionRGB - set the emissive color with 3 discrete values
linear_path - generate a path from an array of points
ortho - change the view to orthogonal, with the viewport the size of the window
rotate - rotate with an angle and vector
rotateXYZ - rotate with 3 discrete values
scale - scale with a vector
scaleXYZ - scale with 3 discrete values
separator - push the OpenGL state for the rest of the chain and pop when done
shininess - set the shininess of an object
specular - set the specular color with a vector
specularRGB - set the specular color with 3 discrete values
spline_path - generate a spline from an array of knots
translate - translate with a vector
translateXYZ - translate with 3 discrete values

Geos
circle - render a circle
colorSquare - render a colored square (evtl. with color gradients)
cone - render a cone
cube - render a cube
curve - render a Bezier curve
cylinder - render a cylinder
disk - render a disk
imageVert - make pixel colors to a height field map
model - render an Alias|Wavefront model
multimodel - render a series of Alias|Wavefront models, render by number
polygon - render a polygon
primTri - a triangle primitive
rectangle - render a rectangle
sphere - render a sphere
square - render a square
teapot - render a teapot
text2d - render 2-D text (a bitmap)
text3d - render 3-D text (polygonal)
textoutline - render outlined text (polygonal)
triangle - render a triangle

Particles
part_head - The start of a particle group
part_color - Set the range of colors for the new particles
part_size - Set the size of new particles
part_velsphere - Set the velocity based on a sphere distribution
You need 4 args - xvel, yvel, zvel, and radius
part_velcone - Set the velocity based on a cone distribution
part_source - Generate particles
part_follow - Particles will follow each other like a snake
part_gravity - Have the particles accelerate in a direction
part_killold - Remove particles past a certain age
part_killslow - Remove particles below a certain speed
part_orbitpoint - Orbit the particles around a specified point
part_draw - Apply the actions and render the particles. Accepts a
message "draw line" or "draw point" to change the drawing style.
part_targetcolor - Change color of the particles toward the specified color
part_targetsize - Change size of the particles toward the specified size

Nongeos
light - make a point light
world_light - make a light at infinity

Pixes
pix_2grey - convert rgb pixels to grey (still an RGBA image)
pix_a_2grey - convert rgb pixels to grey based on alpha channel
pix_aging - super8-like aging effect
pix_add - add two pixes together
pix_alpha - set the alpha value of a pix
pix_bitmask - apply a bitmask to a pix
pix_blob - get center of gravity
pix_buf - buffer a pix
pix_coloralpha - set the alpha-channel of a pix as a mean-value of the color-components
pix_colormatrix - recombine the RGBA-channels with matrix-operation
pix_color - set the color of a pix (leaving alpha alone)
pix_composite - composite two pixes together
pix_convolve - convolve a pix with a kernal
pix_coordinate - set the texture coordinates
pix_curve - apply color-curves onto a pix
pix_data - get pixel data information
pix_diff - get absolute difference of two pixes
pix_draw - draw a pix
pix_dump - dump the pixel-data as a long list of floats
pix_film - use a movie file as a pix source for image-processing
pix_flip - flip the pixels of a pix
pix_gain - apply a gain to a pix
pix_hist - get the histogram of a pix
pix_hsv2rgb - transform a pix from HSV-colorspace into RGB-colorspace
pix_image - load in an image file
pix_imageInPlace - load a series of image files directly into texture-buffer, display by number
pix_invert - invert a pix
pix_mask - mask a pix based on another pix
pix_movie - use a movie file as a pix source and load it immediately into the texture-buffer
pix_multiply - multiply two pixes
pix_multiimage - load in a series of image files, display by number
pix_normalize - normalize a pix
pix_offset - add an offset to a pix (wrapping instead of clipping)
pix_pix2sig~ - interpret a pix as 4 (RGBA) audio-signals
pix_puzzle - shuffle an image
pix_rectangle - generate a rectangle in a pix buffer
pix_resize - resize a pix to next power of 2
pix_rgb2hsv - transform a pix from RGB-colorspace into HSV-colorspace
pix_rgba - transform a pix of any format into RGBA
pix_set - set the pixel-data with a long list of floats
pix_sig2pix~ - interpret 4 audio-signals as (RGBA) image-data
pix_snap - capture the render window into a pix
pix_subtract - subtract two pixes
pix_takealpha - take the alpha channel of one pix and put it into another pix
pix_texture - use a pix as a texture map
pix_texture2 - use a pix as a texture map (works for images that are non power-of-2 sized)
pix_threshold - apply a threshold to a pix
pix_video - use a video camera as a pix source
pix_zoom - zoom into a pix (using OpenGL)

TV
tv_biquad - 2p2z-filter for subsequent images
tv_movement - set the alpha-channel with respect to the change between two frames
tv_rtx - swap time-axis and x-axis

MarkEx
alternate - alternate between two outlets
average - average a sequence of numbers
change - only output on change
counter - count bangs
invert - non-zero numbers to zero, zero to 1
multiselect/multisel - a select object which accepts a list in the right inlet
oneshot - send a bang, then block until reset
randomF / randF - floating point random numbers
strcat - string concatentation
tripleLine - do a line with three numbers
tripleRand - random with three numbers
vector+ / v+ - add a scalar to a vector
vector- / v- - subtract a scalar from a vector
vector* / v* - multiply a vector by a scalar
vector/ / v/ - divide a vector by a scalar
vectorpack / vpack - attach a scalar to the end of a vector
rgb2hsv - convert a list of three floats from RGB to an HSV value
hsv2rgb - convert a list of three floats from HSV to an RGB value
abs~ - absolute value of a signal
reson~ - resonant filter

[return]