<?xml version="1.0" encoding="UTF-8" ?>
<class name="CubeMap" inherits="Resource" version="3.3">
	<brief_description>
		A CubeMap is a 6-sided 3D texture.
	</brief_description>
	<description>
		A 6-sided 3D texture typically used for faking reflections. It can be used to make an object look as if it's reflecting its surroundings. This usually delivers much better performance than other reflection methods.
	</description>
	<tutorials>
	</tutorials>
	<methods>
		<method name="get_height" qualifiers="const">
			<return type="int">
			</return>
			<description>
				Returns the [CubeMap]'s height.
			</description>
		</method>
		<method name="get_side" qualifiers="const">
			<return type="Image">
			</return>
			<argument index="0" name="side" type="int" enum="CubeMap.Side">
			</argument>
			<description>
				Returns an [Image] for a side of the [CubeMap] using one of the [enum Side] constants.
			</description>
		</method>
		<method name="get_width" qualifiers="const">
			<return type="int">
			</return>
			<description>
				Returns the [CubeMap]'s width.
			</description>
		</method>
		<method name="set_side">
			<return type="void">
			</return>
			<argument index="0" name="side" type="int" enum="CubeMap.Side">
			</argument>
			<argument index="1" name="image" type="Image">
			</argument>
			<description>
				Sets an [Image] for a side of the [CubeMap] using one of the [enum Side] constants.
			</description>
		</method>
	</methods>
	<members>
		<member name="flags" type="int" setter="set_flags" getter="get_flags" default="7">
			The render flags for the [CubeMap]. See the [enum Flags] constants for details.
		</member>
		<member name="lossy_storage_quality" type="float" setter="set_lossy_storage_quality" getter="get_lossy_storage_quality" default="0.7">
			The lossy storage quality of the [CubeMap] if the storage mode is set to [constant STORAGE_COMPRESS_LOSSY].
		</member>
		<member name="storage_mode" type="int" setter="set_storage" getter="get_storage" enum="CubeMap.Storage" default="0">
			The [CubeMap]'s storage mode. See [enum Storage] constants.
		</member>
	</members>
	<constants>
		<constant name="STORAGE_RAW" value="0" enum="Storage">
			Store the [CubeMap] without any compression.
		</constant>
		<constant name="STORAGE_COMPRESS_LOSSY" value="1" enum="Storage">
			Store the [CubeMap] with strong compression that reduces image quality.
		</constant>
		<constant name="STORAGE_COMPRESS_LOSSLESS" value="2" enum="Storage">
			Store the [CubeMap] with moderate compression that doesn't reduce image quality.
		</constant>
		<constant name="SIDE_LEFT" value="0" enum="Side">
			Identifier for the left face of the [CubeMap].
		</constant>
		<constant name="SIDE_RIGHT" value="1" enum="Side">
			Identifier for the right face of the [CubeMap].
		</constant>
		<constant name="SIDE_BOTTOM" value="2" enum="Side">
			Identifier for the bottom face of the [CubeMap].
		</constant>
		<constant name="SIDE_TOP" value="3" enum="Side">
			Identifier for the top face of the [CubeMap].
		</constant>
		<constant name="SIDE_FRONT" value="4" enum="Side">
			Identifier for the front face of the [CubeMap].
		</constant>
		<constant name="SIDE_BACK" value="5" enum="Side">
			Identifier for the back face of the [CubeMap].
		</constant>
		<constant name="FLAG_MIPMAPS" value="1" enum="Flags">
			Generate mipmaps, to enable smooth zooming out of the texture.
		</constant>
		<constant name="FLAG_REPEAT" value="2" enum="Flags">
			Repeat (instead of clamp to edge).
		</constant>
		<constant name="FLAG_FILTER" value="4" enum="Flags">
			Turn on magnifying filter, to enable smooth zooming in of the texture.
		</constant>
		<constant name="FLAGS_DEFAULT" value="7" enum="Flags">
			Default flags. Generate mipmaps, repeat, and filter are enabled.
		</constant>
	</constants>
</class>
