<?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.node" module="jit" category="Jitter OpenGL">
	<digest>
		Create hierarchical rendering groups
	</digest>
	<description>
		Use <o>jit.gl.node</o> to construct hierarchical rendering groups. <o>jit.gl.node</o> creates sub-contexts of child objects that can be modified, rendered, and captured together as a functional group.
	</description>
	<!--METADATA-->
	<metadatalist>
		<metadata name="author">
			Cycling '74
		</metadata>
		<metadata name="tag">
			Jitter
		</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>
				texture output if capture enabled
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
		<outlet id="1" type="OUTLET_TYPE">
			<digest>
				connect to 3d objects to draw to this gl.node
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
		<outlet id="2" type="OUTLET_TYPE">
			<digest>
				dumpout
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
	</outletlist>
	<!--OB3D-->
	<OB3D />
	<!--MESSAGES-->
	<methodlist>
		<method name="draw">
			<arglist />
			<digest>
				Draw the node
			</digest>
			<description>
				TEXT_HERE
			</description>
		</method>
		<method name="gettargetnames">
			<arglist />
			<digest>
				Retrieve list of texture output names
			</digest>
			<description>
				TEXT_HERE
			</description>
		</method>
		<method name="sendoutput">
			<arglist>
				<arg name="name" optional="0" type="symbol" />
				<arg name="message" optional="0" type="symbol" />
				<arg name="values" optional="1" type="list" />
			</arglist>
			<digest>
				Send messages to the internal texture
			</digest>
			<description>
				TEXT_HERE
			</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="drawimmediate" />
		<jittermethod name="drawraw" />
		<jittermethod name="export_material" />
		<jittermethod name="exportattrs" />
		<jittermethod name="exportsummary" />
		<jittermethod name="getattributes" />
		<jittermethod name="getstate" />
		<jittermethod name="import_material" />
		<jittermethod name="importattrs" />
		<jittermethod name="summary" />
		<jittermethod name="update_node" />
	</jittermethodlist>
	<!--ATTRIBUTES-->
	<attributelist>
		<attribute name="adapt" get="1" set="1" type="int" size="1">
			<digest>
				Adapt texture dims to window size
			</digest>
			<description>
				Adapt the capture texture dimensions to the context window size (default = 1).
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Adapt" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="onoff" />
			</attributelist>
		</attribute>
		<attribute name="capture" get="1" set="1" type="int" size="1">
			<digest>
				Capture to internal texture
			</digest>
			<description>
				Capture to the internal texture (default = 0). When enabled, all rendering is captured to texture and the texture name is output out the left outlet. When disabled, rendering is performed according to the parent context, which can be another jit.gl.node or a jit.gl.render object. Indicates the number of active render targets when drawing.
			</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="Capture" />
			</attributelist>
		</attribute>
		<attribute name="dim" get="1" set="1" type="int" size="2">
			<digest>
				Internal texture dimensions
			</digest>
			<description>
				TEXT_HERE
			</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="Dim" />
			</attributelist>
		</attribute>
		<attribute name="erase_color" get="1" set="1" type="float" size="4">
			<digest>
				Internal texture erase color
			</digest>
			<description>
				TEXT_HERE
			</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="Erase Color" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="rgba" />
			</attributelist>
		</attribute>
		<attribute name="fsaa" get="1" set="1" type="int" size="1">
			<digest>
				Enable FSAA
			</digest>
			<description>
				Enable FSAA when capturing to texture (default = 0).
			</description>
			<attributelist>
				<attribute name="introduced" get="1" set="1" type="symbol" size="1" value="7.0.0" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="FSAA" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="onoff" />
			</attributelist>
		</attribute>
		<attribute name="matrixoutput" get="1" set="1" type="int" size="1">
			<digest>
				Matrix Output
			</digest>
			<description>
				TEXT_HERE
			</description>
			<attributelist>
				<attribute name="enumvals" get="1" set="1" type="atom" size="3">
					<enumlist>
						<enum name="Off">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="On">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="On With Transform">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
					</enumlist>
				</attribute>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Matrix Output" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="enumindex" />
			</attributelist>
		</attribute>
		<attribute name="out_name" get="1" set="1" type="symbol" size="1">
			<digest>
				Internal texture name
			</digest>
			<description>
				TEXT_HERE
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Out Name" />
			</attributelist>
		</attribute>
		<attribute name="type" get="1" set="1" type="symbol" size="1">
			<digest>
				Internal texture data type
			</digest>
			<description>
				The data type of the internal texture used for capturing (default = auto). When the type is <ar>auto</ar> then <ar>char</ar> data type is used for capturing.
			</description>
			<attributelist>
				<attribute name="basic" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="enumvals" get="1" set="1" type="atom" size="7">
					<enumlist>
						<enum name="auto">
							<digest>
								8bit unsigned byte
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="char">
							<digest>
								8bit unsigned byte
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="long">
							<digest>
								32bit integer
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="half">
							<digest>
								16bit float
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="float">
							<digest>
								32bit float
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="float16">
							<digest>
								16bit float
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="float32">
							<digest>
								32bit float
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
					</enumlist>
				</attribute>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Type" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="enum" />
			</attributelist>
		</attribute>
	</attributelist>
	<jitterattributelist>
		<jitterattribute name="anchor" />
		<jitterattribute name="anim" />
		<jitterattribute name="animmode" />
		<jitterattribute name="antialias" />
		<jitterattribute name="auto_material" />
		<jitterattribute name="automatic" />
		<jitterattribute name="aux_color" />
		<jitterattribute name="axes" />
		<jitterattribute name="blend" />
		<jitterattribute name="blend_enable" />
		<jitterattribute name="blend_mode" />
		<jitterattribute name="color" />
		<jitterattribute name="cull_face" />
		<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="fog" />
		<jitterattribute name="fog_color" />
		<jitterattribute name="fog_density" />
		<jitterattribute name="fog_params" />
		<jitterattribute name="fog_range" />
		<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="lighting_enable" />
		<jitterattribute name="line_width" />
		<jitterattribute name="mat_ambient" />
		<jitterattribute name="mat_diffuse" />
		<jitterattribute name="mat_emission" />
		<jitterattribute name="mat_specular" />
		<jitterattribute name="material" />
		<jitterattribute name="matfile" />
		<jitterattribute name="name" />
		<jitterattribute name="point_size" />
		<jitterattribute name="poly_mode" />
		<jitterattribute name="position" />
		<jitterattribute name="quat" />
		<jitterattribute name="rotate" />
		<jitterattribute name="rotatexyz" />
		<jitterattribute name="scale" />
		<jitterattribute name="shader" />
		<jitterattribute name="shadow_caster" />
		<jitterattribute name="shininess" />
		<jitterattribute name="smooth_shading" />
		<jitterattribute name="transform_reset" />
		<jitterattribute name="two_sided" />
		<jitterattribute name="viewalign" />
	</jitterattributelist>
	<!--EXAMPLE-->
	<examplelist>
		<example img="jit.gl.node.png" />
	</examplelist>
	<!--SEEALSO-->
	<seealsolist>
		<seealso name="jit.gl.gridshape" />
		<seealso name="jit.gl.render" />
		<seealso name="jit.gl.texture" />
	</seealsolist>
	<discussion>
		Child objects can be added to a jit.gl.node sub-context in one of the following ways:
		<br />
		The jit.gl.node <at>name</at> attribute is provided as the child object argument, or as the child object <at>drawto</at> attribute.
		<br />
		Any objects connected to the jit.gl.node middle outlet are added to the sub-context.
		<br />
		Child objects are implicitly added to a jit.gl.node in the same patcher, if not already bound to another context.
		<br />
		<br />
		This 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>
