{{newin|[[11.0]]|110|type=function}}
Creates a new [[TextureType|cubemap]] [[Image]].
{{newobjectnotice}}

Cubemap images have 6 faces (sides) which represent a cube. They can't be rendered directly, they can only be used in [[Shader]] code (and sent to the shader via [[Shader:send]]).

To use a cubemap image in a Shader, it must be declared as a <code>CubeImage</code> or <code>samplerCube</code> type (instead of <code>Image</code> or <code>sampler2D</code>). The <code>Texel(CubeImage image, vec3 direction)</code> shader function must be used to get pixel colors from the cubemap. The vec3 argument is a normalized direction from the center of the cube, rather than explicit texture coordinates.

Each face in a cubemap image must have square dimensions.

For variants of this function which accept a single image containing multiple cubemap faces, they must be laid out in one of the following forms in the image:
<source lang="lua">
   +y
+z +x -z
   -y
   -x
</source>
or:
<source lang="lua">
   +y
-x +z +x -z
   -y
</source>
or:
<source lang="lua">
+x
-x
+y
-y
+z
-z
</source>
or:
<source lang="lua">
+x -x +y -y +z -z
</source>

== Function ==
Creates a cubemap Image given a single image file containing multiple cube faces.
=== Synopsis ===
<source lang="lua">
image = love.graphics.newCubeImage( filename, settings )
</source>
=== Arguments ===
{{param|string|filename|The filepath to a cubemap image file (or a [[File]], [[FileData]], or [[ImageData]]).}}
{{param|table|settings (nil)|Optional table of settings to configure the cubemap image, containing the following fields:}}
{{subparam|boolean|mipmaps (false)|True to make the image use mipmaps, false to disable them. Mipmaps will be automatically generated if the image isn't a [[PixelFormat|compressed texture]] format.}}
{{subparam|boolean|linear (false)|True to treat the image's pixels as linear instead of sRGB, when [[love.graphics.isGammaCorrect|gamma correct rendering]] is enabled. Most images are authored as sRGB.}}

=== Returns ===
{{param|Image|image|An cubemap Image object.}}

== Function ==
Creates a cubemap Image given a different image file for each cube face.
=== Synopsis ===
<source lang="lua">
image = love.graphics.newCubeImage( faces, settings )
</source>
=== Arguments ===
{{param|table|faces|A table containing 6 filepaths to images (or [[File]], [[FileData]], [[ImageData]], or [[CompressedImageData]] objects), in an array. Each face image must have the same dimensions. A table of tables can also be given, where each sub-table contains all mipmap levels for the cube face index of that sub-table.}}
{{param|table|settings (nil)|Optional table of settings to configure the cubemap image, containing the following fields:}}
{{subparam|boolean|mipmaps (false)|True to make the image use mipmaps, false to disable them. Mipmaps will be automatically generated if the image isn't a [[PixelFormat|compressed texture]] format.}}
{{subparam|boolean|linear (false)|True to treat the image's pixels as linear instead of sRGB, when [[love.graphics.isGammaCorrect|gamma correct rendering]] is enabled. Most images are authored as sRGB.}}
=== Returns ===
{{param|Image|image|An cubemap Image object.}}

== See Also ==
* [[parent::love.graphics]]
* [[Constructs::Image]]
* [[TextureType]]
[[Category:Functions]]
[[Sub-Category::Object Creation| ]]
{{#set:Description=Creates a new [[TextureType|cubemap]] [[Image]].}}
== Other Languages ==
{{i18n|love.graphics.newCubeImage}}