Top Description Fields Constructors Methods
org.lwjgl.opengles

public final Class EXTShaderPixelLocalStorage

extends Object
Class Inheritance

Native bindings to the EXT_shader_pixel_local_storage extension.

Techniques such as deferred shading and deferred lighting are often implemented by attaching multiple color render targets to a framebuffer object, rendering the required intermediate data, and then sampling from this data as textures. While flexible, this approach consumes a large amount of external memory bandwidth, which is at a premium on mobile devices.

Observing that the intermediate or "G-buffer" data is often only written to and read by shaders executing for the same pixel position, tile-based renderers can offer a more efficient alternative by keeping the data on-GPU. This allows large amounts of data to be kept per-pixel, with zero external memory bandwidth impact.

This extension provides a way for applications to pass information between fragment shader invocations covering the same pixel by introducing the concept of pixel local storage. Pixel local storage is an on-chip memory storage that can be efficiently accessed by fragments being processed by the GL. The format of data stored in the pixel local storage is independent of the format of the currently attached framebuffer. The data in pixel local storage is not written back to main memory. Access to pixel local storage is controlled via glEnable and glDisable. If commands that implicitly or explicitly flush the GL command stream are issued when pixel local storage is enabled then the contents of the pixel local storage becomes undefined for subsequent commands.

Requires GLES 3.0.

Field Summary

Modifier and TypeField and Description
public static final int
GL_MAX_SHADER_PIXEL_LOCAL_STORAGE_FAST_SIZE_EXT

Accepted by the pname parameters of GetBooleanv, GetIntegerv, GetInteger64v, or GetFloatv.

public static final int
GL_MAX_SHADER_PIXEL_LOCAL_STORAGE_SIZE_EXT

Accepted by the pname parameters of GetBooleanv, GetIntegerv, GetInteger64v, or GetFloatv.

public static final int
GL_SHADER_PIXEL_LOCAL_STORAGE_EXT

Accepted by the pname parameters of IsEnabled, GetBooleanv, GetIntegerv, GetInteger64v, or GetFloatv.

Constructor Summary

AccessConstructor and Description
private

Method Summary

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

GL_MAX_SHADER_PIXEL_LOCAL_STORAGE_FAST_SIZE_EXTback to summary
public static final int GL_MAX_SHADER_PIXEL_LOCAL_STORAGE_FAST_SIZE_EXT

Accepted by the pname parameters of GetBooleanv, GetIntegerv, GetInteger64v, or GetFloatv.

GL_MAX_SHADER_PIXEL_LOCAL_STORAGE_SIZE_EXTback to summary
public static final int GL_MAX_SHADER_PIXEL_LOCAL_STORAGE_SIZE_EXT

Accepted by the pname parameters of GetBooleanv, GetIntegerv, GetInteger64v, or GetFloatv.

GL_SHADER_PIXEL_LOCAL_STORAGE_EXTback to summary
public static final int GL_SHADER_PIXEL_LOCAL_STORAGE_EXT

Accepted by the pname parameters of IsEnabled, GetBooleanv, GetIntegerv, GetInteger64v, or GetFloatv.

Constructor Detail

EXTShaderPixelLocalStorageback to summary
private EXTShaderPixelLocalStorage()