<?xml version="1.0" encoding="utf-8" standalone="yes"?>

<?xml-stylesheet href="./_c74_ref.xsl" type="text/xsl"?>

<!--This is an automatically generated file. DO NOT EDIT THIS FILE DIRECTLY. Rather, use the _ref.xml files found in the 'edits' folder.-->
<c74object name="jit.gl.imageunit" module="jit" category="Jitter OpenGL">
	<digest>
		Use Apple Image Units
	</digest>
	<description>
		Loads any Apple Image Unit and permits the processing of incoming matrix and texture data, with resulting texture output, similar to <o>jit.gl.slab</o>.
	</description>
	<!--METADATA-->
	<metadatalist>
		<metadata name="author">
			Cycling '74
		</metadata>
		<metadata name="tag">
			Jitter
		</metadata>
		<metadata name="tag">
			Jitter OpenGL
		</metadata>
	</metadatalist>
	<!--INLETS-->
	<inletlist>
		<inlet id="0" type="INLET_TYPE">
			<digest>
				messages to this 3d object
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
		<inlet id="1" type="INLET_TYPE">
			<digest>
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
	</inletlist>
	<!--OUTLETS-->
	<outletlist>
		<outlet id="0" type="OUTLET_TYPE">
			<digest>
				matrix output if enabled
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
		<outlet id="1" type="OUTLET_TYPE">
			<digest>
				dumpout
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
	</outletlist>
	<!--OB3D-->
	<OB3D />
	<!--MESSAGES-->
	<methodlist>
		<method name="geteffectlist">
			<arglist />
			<digest>
				Report available Image Units
			</digest>
			<description>
				Sends the names of all the available Image Units out the right-most outlet.
			</description>
		</method>
		<method name="getparam">
			<arglist>
				<arg name="name" type="symbol" />
			</arglist>
			<digest>
				Report parameter values
			</digest>
			<description>
				Sends the data values for the indicated shader parameter for the currently loaded Image Unit out the right-most outlet. (synonym for <m>getparamval</m>)
			</description>
		</method>
		<method name="getparamdefault">
			<arglist>
				<arg name="name" type="symbol" />
			</arglist>
			<digest>
				Report default values
			</digest>
			<description>
				Sends the default data values for the indicated shader parameter for the currently loaded Image Unit out the right-most outlet.
			</description>
		</method>
		<method name="getparamidentity">
			<arglist>
				<arg name="name" type="symbol" />
			</arglist>
			<digest>
				Report the identity values
			</digest>
			<description>
				Sends the data values to result in no effect for the indicated shader parameter for the currently loaded Image Unit out the right-most outlet.
			</description>
		</method>
		<method name="getparamlist">
			<arglist />
			<digest>
				Report all available parameters
			</digest>
			<description>
				Sends the names of all the currently loaded Image Unit parameters out the right-most outlet.
			</description>
		</method>
		<method name="getparammax">
			<arglist>
				<arg name="name" type="symbol" />
			</arglist>
			<digest>
				Report maximum parameter values
			</digest>
			<description>
				Sends the recommended maximum value for the indicated parameter for the currently loaded Image Unit out the right-most outlet.
			</description>
		</method>
		<method name="getparammin">
			<arglist>
				<arg name="name" type="symbol" />
			</arglist>
			<digest>
				Report minimum parameter values
			</digest>
			<description>
				Sends the recommended minimum value for the indicated parameter for the currently loaded Image Unit out the right-most outlet.
			</description>
		</method>
		<method name="getparamtype">
			<arglist>
				<arg name="name" type="symbol" />
			</arglist>
			<digest>
				Report data type for a selected parameter
			</digest>
			<description>
				Sends the name of the datatype for the indicated parameter for the currently loaded Image Unit out the right-most outlet.
			</description>
		</method>
		<method name="getparamslidermax">
			<arglist>
				<arg name="name" type="symbol" />
			</arglist>
			<digest>
				Report maximum UI parameter values
			</digest>
			<description>
				Sends the recommended maximum UI value for the indicated parameter for the currently loaded Image Unit out the right-most outlet.
			</description>
		</method>
		<method name="getparamslidermin">
			<arglist>
				<arg name="name" type="symbol" />
			</arglist>
			<digest>
				Report minimum UI parameter values
			</digest>
			<description>
				Sends the recommended minimum UI value for the indicated parameter for the currently loaded Image Unit out the right-most outlet.
			</description>
		</method>
		<method name="getparamval">
			<arglist>
				<arg name="name" type="symbol" />
			</arglist>
			<digest>
				Report a selected parameter value
			</digest>
			<description>
				Sends the data values for the indicated shader parameter for the currently loaded Image Unit out the right-most outlet.
			</description>
		</method>
		<method name="loadeffect">
			<arglist>
				<arg name="name" type="symbol" />
			</arglist>
			<digest>
				Load an Image Unit
			</digest>
			<description>
				Loads the given Image Unit.
			</description>
		</method>
		<method name="param">
			<arglist />
			<digest>
				Sets a parameter value
			</digest>
			<description>
				Sets a parameter of the imageunit (e.g., <m>param param_name</m>  <i>[list of param values]</i>).
			</description>
		</method>
		<method name="sendinput">
			<arglist>
				<arg name="message" type="list" />
			</arglist>
			<digest>
				Process a texture as input
			</digest>
			<description>
				Sends the input <o>jit.gl.texture</o> object attached to the active inlet the corresponding message.
			</description>
		</method>
		<method name="sendoutput">
			<arglist>
				<arg name="message" type="list" />
			</arglist>
			<digest>
				Output a texture
			</digest>
			<description>
				Sends the output <o>jit.gl.texture</o> object the corresponding message.
			</description>
		</method>
		<method name="read">
			<arglist>
				<arg name="name" type="symbol" />
			</arglist>
			<digest>
				Load an Image Unit
			</digest>
			<description>
				Loads the given Image Unit. (synonym for <m>loadeffect</m>)
			</description>
		</method>
	</methodlist>
	<jittermethodlist>
		<jittermethod name="bang" />
		<jittermethod name="anim_grow" />
		<jittermethod name="anim_move" />
		<jittermethod name="anim_reset" />
		<jittermethod name="anim_turn" />
		<jittermethod name="draw" />
		<jittermethod name="drawimmediate" />
		<jittermethod name="drawraw" />
		<jittermethod name="exportattrs" />
		<jittermethod name="exportsummary" />
		<jittermethod name="getattributes" />
		<jittermethod name="getstate" />
		<jittermethod name="jit_gl_texture" />
		<jittermethod name="jit_matrix" />
		<jittermethod name="importattrs" />
		<jittermethod name="summary" />
		<jittermethod name="update_node" />
	</jittermethodlist>
	<!--ATTRIBUTES-->
	<attributelist>
		<attribute name="activeinput" get="1" set="1" type="int" size="1">
			<digest>
				Active matrix input
			</digest>
			<description>
				Input number used for <m>jit_matrix</m> method (default = 0) Useful for multiple input Image Units used from Java or JavaScript.
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Active Input" />
			</attributelist>
		</attribute>
		<attribute name="adapt" get="1" set="1" type="int" size="1">
			<digest>
				Source dimension adaptation
			</digest>
			<description>
				Enables or disables adapting and resizing to input source dimensions (default = 1).
			</description>
			<attributelist>
				<attribute name="basic" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Adapt" />
			</attributelist>
		</attribute>
		<attribute name="colormode" get="1" set="1" type="symbol" size="1">
			<digest>
				Colorspace mode
			</digest>
			<description>
				The colorspace mode to use for each input textures (default = auto). Supported modes are:
				<br />
				auto
				<br />
				luminance
				<br />
				intensity
				<br />
				depth
				<br />
				lumalpha
				<br />
				rgb
				<br />
				argb
				<br />
				uyvy
				<br />
			</description>
			<attributelist>
				<attribute name="basic" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Colormode" />
			</attributelist>
		</attribute>
		<attribute name="dim" get="1" set="1" type="int" size="2">
			<digest>
				Output dimension
			</digest>
			<description>
				The dimensions of the output <o>jit.gl.texture</o> object when adapt is disabled (default = 256 256)
			</description>
		</attribute>
		<attribute name="dimscale" get="1" set="1" type="float" size="2">
			<digest>
				Output scaling
			</digest>
			<description>
				Sets the scaling of output dims based on the object's leftmost input.
			</description>
		</attribute>
		<attribute name="fx" get="1" set="1" type="symbol" size="1">
			<digest>
				Image Unit name
			</digest>
			<description>
				Image Unit filter name (default = &quot;Color Matrix&quot;) Possible choices are values returned from geteffectlist. Similar to <m>loadeffect</m> method, but can be specified as an attribute argument.
			</description>
			<attributelist>
				<attribute name="basic" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="FX" />
			</attributelist>
		</attribute>
		<attribute name="inputs" get="1" set="1" type="int" size="1">
			<digest>
				Input count
			</digest>
			<description>
				Input count (default = 2)
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Inputs" />
			</attributelist>
		</attribute>
		<attribute name="out_name" get="1" set="0" type="symbol" size="1">
			<digest>
				Texture name
			</digest>
			<description>
				Returns the name of the internal <o>jit.gl.texture</o> object.
			</description>
		</attribute>
		<attribute name="paramsafe" get="1" set="1" type="int" size="1">
			<digest>
				Parameter limit flag
			</digest>
			<description>
				Parameter limit flag (default = 0) Permits the limiting of parameter values to the range specified by the Image Unit.
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Param Safe" />
			</attributelist>
		</attribute>
		<attribute name="thru" get="1" set="1" type="int" size="1">
			<digest>
				Thru mode flag
			</digest>
			<description>
				Thru mode flag (default = 1) When the flag is set, a matrix is output when another one is received.
			</description>
		</attribute>
		<attribute name="verbose" get="1" set="1" type="int" size="1">
			<digest>
				Verbose mode flag
			</digest>
			<description>
				Verbose mode flag (default = 0) In verbose mode, the <o>jit.gl.imageunit</o> object will print out messages useful for debugging.
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Verbose" />
			</attributelist>
		</attribute>
	</attributelist>
	<jitterattributelist>
		<jitterattribute name="anchor" />
		<jitterattribute name="anim" />
		<jitterattribute name="animmode" />
		<jitterattribute name="antialias" />
		<jitterattribute name="automatic" />
		<jitterattribute name="aux_color" />
		<jitterattribute name="axes" />
		<jitterattribute name="blend" />
		<jitterattribute name="blend_enable" />
		<jitterattribute name="blend_mode" />
		<jitterattribute name="capture" />
		<jitterattribute name="color" />
		<jitterattribute name="depth_clear" />
		<jitterattribute name="depth_enable" />
		<jitterattribute name="depth_write" />
		<jitterattribute name="dest_dim" />
		<jitterattribute name="drawto" />
		<jitterattribute name="enable" />
		<jitterattribute name="filterclass" />
		<jitterattribute name="gl_color" />
		<jitterattribute name="inherit_all" />
		<jitterattribute name="inherit_color" />
		<jitterattribute name="inherit_depth" />
		<jitterattribute name="inherit_fog" />
		<jitterattribute name="inherit_material" />
		<jitterattribute name="inherit_poly" />
		<jitterattribute name="inherit_texture" />
		<jitterattribute name="inherit_transform" />
		<jitterattribute name="layer" />
		<jitterattribute name="material" />
		<jitterattribute name="name" />
		<jitterattribute name="position" />
		<jitterattribute name="shader" />
		<jitterattribute name="smooth_shading" />
		<jitterattribute name="tex_map" />
		<jitterattribute name="tex_plane_s" />
		<jitterattribute name="tex_plane_t" />
		<jitterattribute name="texanchor" />
		<jitterattribute name="texrotate" />
		<jitterattribute name="texture" />
		<jitterattribute name="texzoom" />
	</jitterattributelist>
	<!--EXAMPLE-->
	<examplelist>
		<example img="jit.gl.imageunit.png" />
	</examplelist>
	<!--SEEALSO-->
	<seealsolist>
		<seealso name="jit.gl.graph" />
		<seealso name="jit.gl.gridshape" />
		<seealso name="jit.gl.handle" />
		<seealso name="jit.gl.isosurf" />
		<seealso name="jit.gl.mesh" />
		<seealso name="jit.gl.model" />
		<seealso name="jit.gl.nurbs" />
		<seealso name="jit.gl.plato" />
		<seealso name="jit.gl.shader" />
		<seealso name="jit.gl.sketch" />
		<seealso name="jit.gl.slab" />
		<seealso name="jit.gl.text2d" />
		<seealso name="jit.gl.text3d" />
		<seealso name="jit.gl.texture" />
		<seealso name="jit.gl.videoplane" />
		<seealso name="jit.gl.volume" />
	</seealsolist>
	<discussion>
		For more information on Apple Image Units, please see Apple's Core Image
		<a href="http://developer.apple.com/macosx/coreimage.html">
			developer
		</a>
		pages.
		<br />
		The <o>jit.gl.imageunit</o> object requires one argument: the name of a drawing context. A named drawing context is a named instance of a <o>jit.window</o>, <o>jit.pwindow</o>, or <o>jit.matrix</o> object that has an instance of the <o>jit.gl.render</o> object associated with it. Additionally it can reference the name of a <o>jit.gl.node</o> sub-context. This value may also be set via the OB3D <at>drawto</at> attribute. If no argument is present, the object is implicitly added to the first valid drawing context or sub-context found in the current patch or by searching up the patcher hierarchy.
	</discussion>
</c74object>
