arrayOfTextures

 

Tag: arrayOfTextures
Parent tag: arraysOfTextures
Attributes: name (string)

Child tags:

  • TEXTURE_COUNT (uint) – the number of textures in te array
  • WIDTH (int)
  • HEIGHT (int)
  • DEPTH (int) – for 3D textures
  • INTERNAL_FORMAT (enum) – the format of the texture. Possible values are {R8, R16, R16F, R32F, R8I, R16I, R32I, R8UI, R16UI, R32UI, RG8, RG16, RG16F, RG32F, RG8I, RG16I, RG32I, RG8UI, RG16UI, RG32UI, RGBA, RGBA, RGBA16, RGBA16F, RGBA32F, RGBA8I, RGBA16I, RGBA32I, RGBA8UI, RGBA16UI, RGBA32UI}.
  • LEVELS (int) – the number of mipmap levels to create (default = 1)
  • LAYERS (int)
  • SAMPLES (int)
  • MIPMAP (bool) – When set to true it will create a texture will all mipmap levels (default = false)
  • CREATE_BUFFER (bool) – if true then a buffer with texture pointers will be created. This can then be used as a buffer of bindless textures in a shader.

This tag defines an app managed array of textures. Besides allowing a convenient way of creating a set of textures with the same features, it will also create a buffer with the set of respective texture pointers. The buffer can later be used in a material.

In the example below an array with 7 textures is created, together with a buffer with texture pointers (these can later be used in a shader as bindless textures). The buffer will have the same name as the array.

Example:

	
<arraysOfTextures>
	<arrayOfTextures name="T">
		<TEXTURE_COUNT value= 7 />
		<WIDTH value="128"/>
		<HEIGHT value="128" />
		<INTERNAL_FORMAT value="RGBA" />
		<CREATE_BUFFER value=true />
	</arrayOfTextures>
</arraysOfTextures>