<?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.cubemap" module="jit" category="Jitter OpenGL">
	<digest>
		Manage a cubemap texture target
	</digest>
	<description>
		Maintains a cubemap texture target in an OpenGL context. It has 6 inputs -- one for each face of the cube. Cubemaps are typically used to map an environment for material effects such as reflection and refraction. When sent a texture to any inlet, jit.gl.cubemap adapts to the input type of the texture.
	</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>
				Positive X Matrix
			</digest>
			<description>
				Sets the cube face on the positive X side of the cube.
			</description>
		</inlet>
		<inlet id="1" type="INLET_TYPE">
			<digest>
				Negative X Matrix
			</digest>
			<description>
				Sets the cube face on the negative X side of the cube.
			</description>
		</inlet>
		<inlet id="2" type="INLET_TYPE">
			<digest>
				Positive Y Matrix
			</digest>
			<description>
				Sets the cube face on the positive Y side of the cube.
			</description>
		</inlet>
		<inlet id="3" type="INLET_TYPE">
			<digest>
				Negative Y Matrix
			</digest>
			<description>
				Sets the cube face on the negative Y side of the cube.
			</description>
		</inlet>
		<inlet id="4" type="INLET_TYPE">
			<digest>
				Positive Z Matrix
			</digest>
			<description>
				Sets the cube face on the positive Z side of the cube.
			</description>
		</inlet>
		<inlet id="5" type="INLET_TYPE">
			<digest>
				Negative Z Matrix
			</digest>
			<description>
				Sets the cube face on the negative Z side of the cube.
			</description>
		</inlet>
	</inletlist>
	<!--OUTLETS-->
	<outletlist>
		<outlet id="0" type="OUTLET_TYPE">
			<digest>
				matrix output if enabled
			</digest>
			<description>
				This outlet is not used by <o>jit.gl.cubemap</o> 
			</description>
		</outlet>
		<outlet id="1" type="OUTLET_TYPE">
			<digest>
				dumpout
			</digest>
			<description>
				Outputs the results of 'get' messages.
			</description>
		</outlet>
	</outletlist>
	<objarglist>
		<objarg name="OBJARG_NAME" optional="0" type="OBJARG_TYPE">
			<digest>
				TEXT_HERE
			</digest>
			<description>
				TEXT_HERE
			</description>
		</objarg>
	</objarglist>
	<!--OB3D-->
	<OB3D />
	<!--MESSAGES-->
	<methodlist>
		<method name="(drag)">
			<digest>
				TEXT_HERE
			</digest>
			<description>
				TEXT_HERE
			</description>
		</method>
		<method name="bind">
			<arglist />
			<digest>
				Bind cubemap to texture geometry
			</digest>
			<description>
				Sets binding of the cubemap to texture geometry.
			</description>
		</method>
		<method name="equirect_matrix">
			<arglist />
			<digest>
				TEXT_HERE
			</digest>
			<description>
				TEXT_HERE
			</description>
		</method>
		<method name="panorama_matrix">
			<arglist />
			<digest>
				Load a panorama formatted matrix
			</digest>
			<description>
				Load a matrix formatted in a cross shape containing every face of the cubemap. The panorama matrix layout is a cross shape holding the 6 faces of the cube.  The faces are in a 4x3 grid where the rows are formatted as follows:
				<ol>
					<li>
						** py ** **
					</li>
					<li>
						nx pz px nz
					</li>
					<li>
						** ny ** **
					</li>
				</ol>
			</description>
		</method>
		<method name="read">
			<arglist />
			<digest>
				Read in a panorama formatted image file.
			</digest>
			<description>
				TEXT_HERE
			</description>
		</method>
		<method name="unbind">
			<arglist />
			<digest>
				Unbind the cubemap
			</digest>
			<description>
				Unbinds the cubemap after a bind operation.
			</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="get_shader" />
		<jittermethod name="getattributes" />
		<jittermethod name="getstate" />
		<jittermethod name="importattrs" />
		<jittermethod name="jit_gl_texture" />
		<jittermethod name="jit_matrix" />
		<jittermethod name="summary" />
		<jittermethod name="update_node" />
	</jittermethodlist>
	<!--ATTRIBUTES-->
	<attributelist>
		<attribute name="adapt" get="1" set="1" type="int" size="1">
			<digest>
				Enable adapt to input
			</digest>
			<description>
				Enable adapt to input (default = 1). When enabled the texture output dimensions will match the input dimensions.
			</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="autotype" get="1" set="0" type="symbol" size="1">
			<digest>
				Autotype
			</digest>
			<description>
				TEXT_HERE
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Autotype" />
			</attributelist>
		</attribute>
		<attribute name="bordercolor" get="1" set="1" type="float" size="4">
			<digest>
				Texture border color
			</digest>
			<description>
				Sets the texture bordercolor
			</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="Border Color" />
			</attributelist>
		</attribute>
		<attribute name="edge_length" get="1" set="1" type="int" size="1">
			<digest>
				Cube edge length
			</digest>
			<description>
				The length in pixels of a cube edge. Each face of the sube will be edge_length*edge_length in dimension.
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Edge Length" />
			</attributelist>
		</attribute>
		<attribute name="file" get="1" set="1" type="symbol" size="1">
			<digest>
				Sets an image file to read that is in panorama format
			</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="filter" get="1" set="1" type="symbol" size="1">
			<digest>
				Texture filter
			</digest>
			<description>
				Filter applied to the texture.
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Filter" />
			</attributelist>
		</attribute>
		<attribute name="gamma_correct" get="1" set="1" type="int" size="1">
			<digest>
				TEXT_HERE
			</digest>
			<description>
				TEXT_HERE
			</description>
			<attributelist>
				<attribute name="invisible" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="obsolete" get="1" set="1" type="int" size="1" value="1" />
			</attributelist>
		</attribute>
		<attribute name="gamma_correction" get="1" set="1" type="int" size="1">
			<digest>
				Gamma Correction
			</digest>
			<description>
				TEXT_HERE
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Gamma Correction" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="onoff" />
			</attributelist>
		</attribute>
		<attribute name="level" get="1" set="1" type="int" size="1">
			<digest>
				Mipmap Level to Write
			</digest>
			<description>
				Specify mipmap level to write input data (default = 0). When level is non-zero inputs will overwrite the mipmap image at the specified mipmap level, where 1 is the largest resolution/nearest level. If necessary the data will be scaled for the appropriate level. The height and width of each level in the mipmap is a factor of two smaller than the previous level.
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Mipmap Level" />
			</attributelist>
		</attribute>
		<attribute name="matrix_name" get="1" set="0" type="symbol" size="6">
			<digest>
				Named matrix
			</digest>
			<description>
				The named matrix to access (default = none)
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Matrix Name" />
			</attributelist>
		</attribute>
		<attribute name="mipmap" get="1" set="1" type="symbol" size="1">
			<digest>
				Texture mipmap interpolation style
			</digest>
			<description>
				Texture mipmap interpolation style (default = none). A mipmap is a pre-calculated sequence of images, each of which is a progressively lower resolution. Mipmap interpolation is used for minification filtering, a technique for increasing efficiency by changing the amount of texture information displayed based on the position of the textured object in a 3D scene. When the area of the fragment in texture space is larger than a texel, a filtered (reduced size) copy of the texture is used instead. Thus objects that are close can use the highest resolution image, then swap for lower resolution copies as the object gets farther away. Setting mipmap to bilinear (better performance) or trilinear (better image quality) will enable automatic mipmap generation whenever the texture is updated.
			</description>
			<attributelist>
				<attribute name="enumvals" get="1" set="1" type="atom" size="5">
					<enumlist>
						<enum name="none">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="nearest">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="linear">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="bilinear">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="trilinear">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
					</enumlist>
				</attribute>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Mipmap" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="enum" />
			</attributelist>
		</attribute>
		<attribute name="type" get="1" set="1" type="symbol" size="1">
			<digest>
				Texture Type
			</digest>
			<description>
				Force incoming textures to a particular type. If set to auto, jit.gl.cubemap will adapt to the incoming type, otherwise they will be forced to the type specified.
			</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="4">
					<enumlist>
						<enum name="auto">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="char">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="float16">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="float32">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
					</enumlist>
				</attribute>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Texture Type" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="enum" />
			</attributelist>
		</attribute>
		<attribute name="wrap" get="1" set="1" type="symbol" size="3">
			<digest>
				Texture wrapping mode
			</digest>
			<description>
				Texture wrapping mode.
			</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="Wrap" />
			</attributelist>
		</attribute>
	</attributelist>
	<jitterattributelist>
		<jitterattribute name="anchor" />
		<jitterattribute name="anim" />
		<jitterattribute name="animmode" />
		<jitterattribute name="automatic" />
		<jitterattribute name="axes" />
		<jitterattribute name="drawto" />
		<jitterattribute name="enable" />
		<jitterattribute name="filterclass" />
		<jitterattribute name="layer" />
		<jitterattribute name="material" />
		<jitterattribute name="name" />
		<jitterattribute name="position" />
		<jitterattribute name="shader" />
	</jitterattributelist>
	<!--EXAMPLE-->
	<examplelist>
		<example img="jit.gl.cubemap.png" />
	</examplelist>
	<!--SEEALSO-->
	<seealsolist>
		TEXT_HERE
	</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>
