## List of GEM objects

Controls
Manipulators
Geos
Particles
Nongeos
Pixes
MarkEx
SGI/NT only

Controls
camera - the "view" into the world
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
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
color - set the color with a vector
colorRGB - set the color with 3 discrete values
depth - enable/disable depth testing
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
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
cone - render a cone
cube - render a cube
curve - render a Bezier curve
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
sphere - render a sphere
square - render a square
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.

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_alpha - set the alpha value of a pix
pix_add - add two pixes together
pix_bitmask - apply a bitmask to a pix
pix_buf - buffer a pix
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_data - get pixel data information
pix_draw - draw a pix
pix_flip - flip the pixels of a pix
pix_gain - apply a gain to a pix
pix_image - load in an image file
pix_invert - invert a pix
pix_mask - mask a pix based on another pix
pix_multiply - multiply two pixes
pix_multiimage - load in a series of image files, display by number
pix_resize - resize a pix to next power of 2
pix_snap - capture the render window into a pix
pix_subtract - subtract two pixes
pix_texture - use a pix as a texture map
pix_threshold - apply a threshold to a pix
pix_zoom - zoom into a pix (using OpenGL)

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

SGI and NT only
pix_video - use a video camera as a pix source

NT only
pix_movie - use a movie file as a pix source

[return]