Class EXTSparseTexture

java.lang.Object
org.lwjgl.opengles.EXTSparseTexture

public class EXTSparseTexture extends Object
Native bindings to the EXT_sparse_texture extension.

Recent advances in application complexity and a desire for higher resolutions have pushed texture sizes up considerably. Often, the amount of physical memory available to a graphics processor is a limiting factor in the performance of texture-heavy applications. Once the available physical memory is exhausted, paging may occur bringing performance down considerably - or worse, the application may fail. Nevertheless, the amount of address space available to the graphics processor has increased to the point where many gigabytes - or even terabytes of address space may be usable even though that amount of physical memory is not present.

This extension allows the separation of the graphics processor's address space (reservation) from the requirement that all textures must be physically backed (commitment). This exposes a limited form of virtualization for textures. Use cases include sparse (or partially resident) textures, texture paging, on-demand and delayed loading of texture assets and application controlled level of detail.

Requires GLES 3.1.

  • Field Details

    • GL_TEXTURE_SPARSE_EXT

      public static final int GL_TEXTURE_SPARSE_EXT
      Accepted by the pname parameter to TexParameter{if}{v}, GetTexParameter{if}v, TexParameterI{u}ivOES, GetTexParameterI{u}ivOES TexParameterI{u}ivEXT, and GetTexParameterI{u}ivEXT.
      See Also:
    • GL_VIRTUAL_PAGE_SIZE_INDEX_EXT

      public static final int GL_VIRTUAL_PAGE_SIZE_INDEX_EXT
      Accepted by the pname parameter to TexParameter{if}{v}, GetTexParameter{if}v, TexParameterI{u}ivOES, GetTexParameterI{u}ivOES TexParameterI{u}ivEXT, and GetTexParameterI{u}ivEXT.
      See Also:
    • GL_NUM_SPARSE_LEVELS_EXT

      public static final int GL_NUM_SPARSE_LEVELS_EXT
      Accepted by the pname parameter of GetTexParameter{if}v, GetTexParameterIi{u}vOES, and GetTexParameterIi{u}vEXT.
      See Also:
    • GL_NUM_VIRTUAL_PAGE_SIZES_EXT

      public static final int GL_NUM_VIRTUAL_PAGE_SIZES_EXT
      Accepted by the pname parameter to GetInternalformativ.
      See Also:
    • GL_VIRTUAL_PAGE_SIZE_X_EXT

      public static final int GL_VIRTUAL_PAGE_SIZE_X_EXT
      Accepted by the pname parameter to GetInternalformativ.
      See Also:
    • GL_VIRTUAL_PAGE_SIZE_Y_EXT

      public static final int GL_VIRTUAL_PAGE_SIZE_Y_EXT
      Accepted by the pname parameter to GetInternalformativ.
      See Also:
    • GL_VIRTUAL_PAGE_SIZE_Z_EXT

      public static final int GL_VIRTUAL_PAGE_SIZE_Z_EXT
      Accepted by the pname parameter to GetInternalformativ.
      See Also:
    • GL_TEXTURE_2D

      public static final int GL_TEXTURE_2D
      Accepted by the target parameter to GetInternalformativ.
      See Also:
    • GL_TEXTURE_2D_ARRAY

      public static final int GL_TEXTURE_2D_ARRAY
      Accepted by the target parameter to GetInternalformativ.
      See Also:
    • GL_TEXTURE_CUBE_MAP

      public static final int GL_TEXTURE_CUBE_MAP
      Accepted by the target parameter to GetInternalformativ.
      See Also:
    • GL_TEXTURE_CUBE_MAP_ARRAY_OES

      public static final int GL_TEXTURE_CUBE_MAP_ARRAY_OES
      Accepted by the target parameter to GetInternalformativ.
      See Also:
    • GL_TEXTURE_3D

      public static final int GL_TEXTURE_3D
      Accepted by the target parameter to GetInternalformativ.
      See Also:
    • GL_MAX_SPARSE_TEXTURE_SIZE_EXT

      public static final int GL_MAX_SPARSE_TEXTURE_SIZE_EXT
      Accepted by the pname parameter to GetIntegerv, GetFloatv, GetInteger64v, and GetBooleanv.
      See Also:
    • GL_MAX_SPARSE_3D_TEXTURE_SIZE_EXT

      public static final int GL_MAX_SPARSE_3D_TEXTURE_SIZE_EXT
      Accepted by the pname parameter to GetIntegerv, GetFloatv, GetInteger64v, and GetBooleanv.
      See Also:
    • GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_EXT

      public static final int GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_EXT
      Accepted by the pname parameter to GetIntegerv, GetFloatv, GetInteger64v, and GetBooleanv.
      See Also:
    • GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_EXT

      public static final int GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_EXT
      Accepted by the pname parameter to GetIntegerv, GetFloatv, GetInteger64v, and GetBooleanv.
      See Also:
  • Method Details

    • glTexPageCommitmentARB

      public static void glTexPageCommitmentARB(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, boolean commit)