Skip to main content

CubemapArray

Inherits: ImageTextureLayered < TextureLayered < Texture < Resource < RefCounted < Object

An array of Cubemap\ s, stored together and with a single reference.

Description

CubemapArray\ s are made of an array of Cubemap\ s. Like Cubemap\ s, they are made of multiple textures, the amount of which must be divisible by 6 (one for each face of the cube).

The primary benefit of CubemapArray\ s is that they can be accessed in shader code using a single texture reference. In other words, you can pass multiple Cubemap\ s into a shader using a single CubemapArray. Cubemap\ s are allocated in adjacent cache regions on the GPU, which makes CubemapArray\ s the most efficient way to store multiple Cubemap\ s.

Redot uses CubemapArray\ s internally for many effects, including the Sky if you set ProjectSettings.rendering/reflections/sky_reflections/texture_array_reflections to true.

To create such a texture file yourself, reimport your image files using the Redot Editor import presets. To create a CubemapArray from code, use ImageTextureLayered.create_from_images() on an instance of the CubemapArray class.

The expected image order is X+, X-, Y+, Y-, Z+, Z- (in Redot's coordinate system, so Y+ is "up" and Z- is "forward"). You can use one of the following templates as a base:

Multiple layers are stacked on top of each other when using the default vertical import option (with the first layer at the top). Alternatively, you can choose a horizontal layout in the import options (with the first layer at the left).

\ Note: CubemapArray is not supported in the Compatibility renderer due to graphics API limitations.

Methods

Resourcecreate_placeholder\ (\ ) const

Method Descriptions

Resource create_placeholder\ (\ ) const 🔗

Creates a placeholder version of this resource (PlaceholderCubemapArray).