<?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.slab" module="jit" category="Jitter OpenGL">
	<digest>
		Process texture data
	</digest>
	<description>
		Process texture data on the graphics card. <o>jit.gl.slab</o> performs general grid-based processing specified by shader programs.
	</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="(drag)">
			<digest>
				Load a JXS shader file
			</digest>
			<description>
				TEXT_HERE
			</description>
		</method>
		<method name="(mouse)">
			<digest>
				Open the JXS shader file
			</digest>
			<description>
				Open the JXS shader file
			</description>
		</method>
		<method name="dispose">
			<arglist />
			<digest>
				Dispose the current slab shader
			</digest>
			<description>
				TEXT_HERE
			</description>
		</method>
		<method name="dump">
			<arglist>
				<arg name="type" type="symbol" />
			</arglist>
			<digest>
				Dump slab shader
			</digest>
			<description>
				Dumps the indicated slab shader data to the max console window. Valid types are params, source, assembly.
			</description>
		</method>
		<method name="getparamdefault">
			<arglist>
				<arg name="name" type="symbol" />
			</arglist>
			<digest>
				Report slab shader parameter's default value
			</digest>
			<description>
				TEXT_HERE
			</description>
		</method>
		<method name="getparamdescription">
			<arglist />
			<digest>
				Get a parameter description
			</digest>
			<description>
				TEXT_HERE
			</description>
		</method>
		<method name="getparamlist">
			<arglist />
			<digest>
				Report slab shader parameter names
			</digest>
			<description>
				TEXT_HERE
			</description>
		</method>
		<method name="getparamtype">
			<arglist>
				<arg name="name" type="symbol" />
			</arglist>
			<digest>
				Report slab shader parameter's type
			</digest>
			<description>
				TEXT_HERE
			</description>
		</method>
		<method name="getparamval">
			<arglist>
				<arg name="name" type="symbol" />
			</arglist>
			<digest>
				Report slab shader parameter's value
			</digest>
			<description>
				TEXT_HERE
			</description>
		</method>
		<method name="open">
			<arglist />
			<digest>
				Open the JXS shader file
			</digest>
			<description>
				Open the JXS shader file
			</description>
		</method>
		<method name="param">
			<arglist>
				<arg name="name" optional="0" type="symbol" />
				<arg name="message" optional="0" type="symbol" />
				<arg name="values" optional="1" type="list" />
			</arglist>
			<digest>
				Set a slab shader parameter value
			</digest>
			<description>
				TEXT_HERE
			</description>
		</method>
		<method name="sendinput">
			<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 an input texture a message
			</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 the output texture a message
			</digest>
			<description>
				TEXT_HERE
			</description>
		</method>
		<method name="sendshader">
			<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 the slab shader a message
			</digest>
			<description>
				TEXT_HERE
			</description>
		</method>
		<method name="read">
			<arglist>
				<arg name="filename" type="symbol" />
			</arglist>
			<digest>
				Load a JXS shader file
			</digest>
			<description>
				Load a JXS shader file
			</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>
				Current input number
			</digest>
			<description>
				The current number used for the <m>jit_matrix</m> method, which is useful for multiple input filters 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>
				Enable adapt to input
			</digest>
			<description>
				TEXT_HERE
			</description>
			<attributelist>
				<attribute name="basic" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="default" 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>
				Texture color mode
			</digest>
			<description>
				TEXT_HERE
			</description>
			<attributelist>
				<attribute name="enumvals" get="1" set="1" type="atom" size="2">
					<enumlist>
						<enum name="argb">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="uyvy">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
					</enumlist>
				</attribute>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Colormode" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="enum" />
			</attributelist>
		</attribute>
		<attribute name="depth" get="1" set="1" type="float" size="1">
			<digest>
				Slab geometry depth
			</digest>
			<description>
				TEXT_HERE
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Depth" />
			</attributelist>
		</attribute>
		<attribute name="dim" get="1" set="1" type="int" size="2">
			<digest>
				Output dimensions
			</digest>
			<description>
				TEXT_HERE
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Dim" />
			</attributelist>
		</attribute>
		<attribute name="dimscale" get="1" set="1" type="float" size="2">
			<digest>
				Output dimension scaling factor
			</digest>
			<description>
				The output dimension scaling factor of the output is useful for upsampling or downsampling shaders.
				<br />
				output.dim = input.dim*dimscale
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Dim Scale" />
			</attributelist>
		</attribute>
		<attribute name="displaylist" get="1" set="1" type="int" size="1">
			<digest>
				Slab geometry uses displaylist
			</digest>
			<description>
				TEXT_HERE
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Displaylist" />
			</attributelist>
		</attribute>
		<attribute name="edges" get="1" set="1" type="int" size="4">
			<digest>
				Enable edge rendering
			</digest>
			<description>
				TEXT_HERE
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Edges" />
			</attributelist>
		</attribute>
		<attribute name="file" get="1" set="1" type="symbol" size="1">
			<digest>
				Slab shader file
			</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="File" />
			</attributelist>
		</attribute>
		<attribute name="inputs" get="1" set="1" type="int" size="1">
			<digest>
				Slab input count
			</digest>
			<description>
				TEXT_HERE
			</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>
				Output texture name
			</digest>
			<description>
				TEXT_HERE
			</description>
		</attribute>
		<attribute name="outputs" get="1" set="1" type="int" size="1">
			<digest>
				Number of texture outputs
			</digest>
			<description>
				Number of texture outputs (default = 1). Texture outputs correspond to shader render targets.
			</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="Outputs" />
			</attributelist>
		</attribute>
		<attribute name="rect" get="1" set="1" type="float" size="4">
			<digest>
				Slab geometry rect
			</digest>
			<description>
				TEXT_HERE
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Rect" />
			</attributelist>
		</attribute>
		<attribute name="rectangle" get="1" set="1" type="int" size="1">
			<digest>
				Enable texture rectangle mode (default = 1)
			</digest>
			<description>
				Enable texture rectangle mode on internal texture objects(default = 1). When enabled the internal GL texture is treated as a rectangular texture, and must be referenced using sampler2DRect and sampled using texture2DRect when sampled from a GLSL shader. When disabled the texture dimensions are upsampled to the nearest power of two value, and must be referenced and sampled using sampler2D and texture2D. Certain texture attributes and GLSL effects require rectangle mode disabled.
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Rectangle" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="onoff" />
			</attributelist>
		</attribute>
		<attribute name="thru" get="1" set="1" type="int" size="1">
			<digest>
				Enable thru mode
			</digest>
			<description>
				TEXT_HERE
			</description>
		</attribute>
		<attribute name="shape" get="1" set="1" type="symbol" size="1">
			<digest>
				Slab geometry shape
			</digest>
			<description>
				TEXT_HERE
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Shape" />
			</attributelist>
		</attribute>
		<attribute name="subdiv" get="1" set="1" type="int" size="2">
			<digest>
				Slab geometry subdivisions
			</digest>
			<description>
				The number of subdivisions to use for generating grid based geometry (only valid when shape == grid)
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Subdiv" />
			</attributelist>
		</attribute>
		<attribute name="texrect" get="1" set="1" type="float" size="128">
			<digest>
				Texture rectangle
			</digest>
			<description>
				TEXT_HERE
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Tex Rect" />
			</attributelist>
		</attribute>
		<attribute name="type" get="1" set="1" type="symbol" size="1">
			<digest>
				Output texture data type
			</digest>
			<description>
				The output texture data type (default = auto). When type is <ar>auto</ar> the type is set by the input texture or matrix type.
			</description>
			<attributelist>
				<attribute name="enumvals" get="1" set="1" type="atom" size="7">
					<enumlist>
						<enum name="auto">
							<digest>
								Adapt to input data type
							</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>
		<attribute name="wrap" get="1" set="1" type="int" size="4">
			<digest>
				Enable edge wrapping
			</digest>
			<description>
				TEXT_HERE
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Wrap" />
			</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.slab.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.render" />
		<seealso name="jit.gl.shader" />
		<seealso name="jit.gl.sketch" />
		<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" />
		<seealso name="jitterchapter42" module="jit" type="tutorial" />
	</seealsolist>
	<discussion>
		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>
