<?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.mesh" module="jit" category="Jitter OpenGL">
	<digest>
		Generate GL geometry from matrices
	</digest>
	<description>
		Creates a geometric surface from a <o>jit.matrix</o> connected to the left-most inlet containing spatial coordinates. Additional geometry can be specified by attaching other <o>jit.matrix</o> objects to the other inlets.
	</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="matrix">
			<digest>
				vertex array
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
		<inlet id="1" type="matrix">
			<digest>
				texcoord array
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
		<inlet id="2" type="matrix">
			<digest>
				normal array
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
		<inlet id="3" type="matrix">
			<digest>
				color array
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
		<inlet id="4" type="matrix">
			<digest>
				specular array
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
		<inlet id="5" type="matrix">
			<digest>
				edgeflag array
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
		<inlet id="6" type="matrix">
			<digest>
				tangent array
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
		<inlet id="7" type="matrix">
			<digest>
				bitangent array
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
		<inlet id="8" type="matrix">
			<digest>
				index array
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
	</inletlist>
	<!--OUTLETS-->
	<outletlist>
		<outlet id="0" type="matrix">
			<digest>
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
		<outlet id="1" type="matrix">
			<digest>
				dumpout
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
	</outletlist>
	<!--OB3D-->
	<OB3D />
	<!--MESSAGES-->
	<methodlist>
		<method name="color_matrix">
			<arglist />
			<digest>
				Set color values
			</digest>
			<description>
				Specifies a matrix of color values. This must be the same size as the matrix specified by the <m>vertex_matrix</m> message, and can be a 3 or 4 plane matrix.
			</description>
		</method>
		<method name="bind">
			<arglist />
			<digest>
				Bind the internal mesh buffers
			</digest>
			<description>
				Binds the internal mesh buffers for drawing.
			</description>
		</method>
		<method name="bitangent_matrix">
			<arglist />
			<digest>
				Specify a matrix of bitangent values
			</digest>
			<description>
				The word <m>bitangent_matrix</m>, followed by a symbol, specifies a matrix of bitangent values. This must be the same size as the matrix specified by the <m>vertex_matrix</m> message. It must be a 3 plane matrix.
			</description>
		</method>
		<method name="(drag)">
			<digest>
				Drag and drop a Jitter material file
			</digest>
			<description>
				TEXT_HERE
			</description>
		</method>
		<method name="edgeflag_matrix">
			<arglist />
			<digest>
				Specify a matrix of edge flag values
			</digest>
			<description>
				The word <m>edgeflag_matrix</m>, followed by a symbol, specifies a matrix of edge flag values. This must be the same size as the matrix specified by the <m>vertex_matrix</m> message. It must be a 1 plane matrix.
			</description>
		</method>
		<method name="index_matrix">
			<arglist />
			<digest>
				Specify a matrix of indices
			</digest>
			<description>
				The word <m>index_matrix</m>, followed by a symbol, specifies a matrix of indices. It can be any size, but it must have 1 plane and be an integer matrix.
			</description>
		</method>
		<method name="normal_matrix">
			<arglist />
			<digest>
				Specifies a matrix of normal values
			</digest>
			<description>
				The word <m>normal_matrix</m>, followed by a symbol, specifies a matrix of normal values. This must be the same size as the matrix specified by the <m>vertex_matrix</m> message. It must be a 3 plane matrix.
			</description>
		</method>
		<method name="reset">
			<arglist />
			<digest>
				Reset to default state
			</digest>
			<description>
				The word <m>reset</m> resets all parameters to their default states.
			</description>
		</method>
		<method name="texcoord_matrix">
			<arglist />
			<digest>
				Specifies a matrix of texture coordinates
			</digest>
			<description>
				The word <m>texcoord_matrix</m>, followed by a symbol, specifies a matrix of texture coordinate values. This must be the same size as the matrix specified by the <m>vertex_matrix</m> message. It can be a 2, 3, or 4 plane matrix.
			</description>
		</method>
		<method name="specular_matrix">
			<arglist />
			<digest>
				Specifies a matrix of specular values
			</digest>
			<description>
				The word <m>specular_matrix</m>, followed by a symbol, specifies a matrix of specular values
			</description>
		</method>
		<method name="tangent_matrix">
			<arglist />
			<digest>
				Specifies a matrix of tangent values
			</digest>
			<description>
				The word <m>tangent_matrix</m>, followed by a symbol, specifies a matrix of tangent values. This must be the same size as the matrix specified by the <m>vertex_matrix</m> message. It must be a 3 plane matrix.
			</description>
		</method>
		<method name="vertex_attr_matrix">
			<arglist />
			<digest>
				Specify a matrix of arbitrary per-vertex data.
			</digest>
			<description>
				The word <m>vertex_attr_matrix</m>, followed by a symbol, specifies a matrix of arbitrary per-vertex data
			</description>
		</method>
		<method name="vertex_matrix">
			<arglist />
			<digest>
				Specify a matrix of vertex values
			</digest>
			<description>
				The word <m>vertex_matrix</m>, followed by a symbol, specifies a matrix of vertex values. It can be 3 or 4 planes.
			</description>
		</method>
		<method name="unbind">
			<arglist />
			<digest>
				Unbind the internal mesh buffers
			</digest>
			<description>
				Unbinds the internal mesh buffers after drawing.
			</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="export_material" />
		<jittermethod name="exportattrs" />
		<jittermethod name="exportsummary" />
		<jittermethod name="getattributes" />
		<jittermethod name="getstate" />
		<jittermethod name="jit_matrix" />
		<jittermethod name="import_material" />
		<jittermethod name="jit_gl_texture" />
		<jittermethod name="importattrs" />
		<jittermethod name="summary" />
		<jittermethod name="update_node" />
	</jittermethodlist>
	<!--ATTRIBUTES-->
	<attributelist>
		<attribute name="auto_bitangents" get="1" set="1" type="int" size="1">
			<digest>
				Automatic calculation of bitangent
			</digest>
			<description>
				Enables or disables the calculation of bitangent (aka binormal) directions (only available if texcoords and normals exist) (default = 0).
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Auto Bitangents" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="onoff" />
			</attributelist>
		</attribute>
		<attribute name="auto_colors" get="1" set="1" type="int" size="1">
			<digest>
				Automatic calculation of colors
			</digest>
			<description>
				Enables or disables the calculation of vertex colors (default = 0).
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Auto Colors" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="onoff" />
			</attributelist>
		</attribute>
		<attribute name="auto_normals" get="1" set="1" type="int" size="1">
			<digest>
				Automatic calculation of normal directions
			</digest>
			<description>
				Enables or disables the calculation of normal directions used for calculating lighting (default = 1).
				<br />
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Auto Normals" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="onoff" />
			</attributelist>
		</attribute>
		<attribute name="auto_tangents" get="1" set="1" type="int" size="1">
			<digest>
				Automatic calculation of tangent directions
			</digest>
			<description>
				Enables or disables the calculation of tangent directions (only available if texcoords and normals exist) (default = 0).
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Auto Tangents" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="onoff" />
			</attributelist>
		</attribute>
		<attribute name="cache_mode" get="1" set="1" type="symbol" size="1">
			<digest>
				Geometry cache mode
			</digest>
			<description>
				The mode to use for the geometry cache. (default = var) Supported modes are:
			</description>
			<attributelist>
				<attribute name="enumvals" get="1" set="1" type="atom" size="5">
					<enumlist>
						<enum name="auto">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="vertexarray">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="vertexbuffer">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="displaylist">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="none">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
					</enumlist>
				</attribute>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Cache Mode" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="enum" />
			</attributelist>
		</attribute>
		<attribute name="color_mode" get="1" set="1" type="symbol" size="1">
			<digest>
				Vertex colors mode
			</digest>
			<description>
				The mode to use for the calculating vertex colors. (default = position) Supported modes are:
			</description>
			<attributelist>
				<attribute name="enumvals" get="1" set="1" type="atom" size="7">
					<enumlist>
						<enum name="vertex">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="position">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="texcoord">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="normal">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="tangent">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="bitangent">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="edgeflag">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
					</enumlist>
				</attribute>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Color Mode" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="enum" />
			</attributelist>
		</attribute>
		<attribute name="draw_mode" get="1" set="1" type="symbol" size="1">
			<digest>
				Geometry rendering mode
			</digest>
			<description>
				The mode to use for rendering the geometry. (default = tri_grid) Supported modes are:
			</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="16">
					<enumlist>
						<enum name="tri_grid">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="quad_grid">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="points">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="lines">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="line_strip">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="line_loop">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="triangles">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="tri_fan">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="tri_strip">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="quads">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="quad_strip">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="polygon">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="lines_adjacency">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="line_strip_adjacency">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="triangles_adjacency">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="triangle_strip_adjacency">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
					</enumlist>
				</attribute>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Draw Mode" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="enum" />
			</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>
	</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="boundcalc" />
		<jitterattribute name="bounds" />
		<jitterattribute name="capture" />
		<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="drawbounds" />
		<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="tex_map" />
		<jitterattribute name="tex_plane_s" />
		<jitterattribute name="tex_plane_t" />
		<jitterattribute name="texanchor" />
		<jitterattribute name="texrotate" />
		<jitterattribute name="texture" />
		<jitterattribute name="texzoom" />
		<jitterattribute name="transform_reset" />
		<jitterattribute name="two_sided" />
		<jitterattribute name="viewalign" />
	</jitterattributelist>
	<!--EXAMPLE-->
	<examplelist>
		<example img="jit.gl.mesh.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.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.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>
		Matrices feed into inlets represent (from left to right): vertex, texcoord, normal, color, specular, edgeflag, tangent, bitangent, and index data.
		<br />
		The <o>jit.gl.mesh</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>
