Class QCOMTextureFoveated
Foveated rendering is a technique that aims to reduce fragment processing workload and bandwidth by reducing the average resolution of a render target. Perceived image quality is kept high by leaving the focal point of rendering at full resolution.
It exists in two major forms:
- Static foveated (lens matched) rendering: where the gaze point is fixed with a large fovea region and designed to match up with the lens characteristics.
- Eye-tracked foveated rendering: where the gaze point is continuously tracked by a sensor to allow a smaller fovea region (further reducing average resolution)
Traditionally foveated rendering involves breaking a render target's area into smaller regions such as bins, tiles, viewports, or layers which are rendered to individually. Each of these regions has the geometry projected or scaled differently so that the net resolution of these layers is less than the original render target's resolution. When these regions are mapped back to the original render target, they create a rendered result with decreased quality as pixels get further from the focal point.
Foveated rendering is currently achieved by large modifications to an applications render pipelines to manually implement the required geometry amplifications, blits, and projection changes. This presents a large implementation cost to an application developer and is generally inefficient as it can not make use of a platforms unique hardware features or optimized software paths. This extension aims to address these problems by exposing foveated rendering in an explicit and vendor neutral way, and by providing an interface with minimal changes to how an application specifies its render targets.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
Accepted as a value toparam
for the TexParameter{if} and toparams
for the TexParameter{if}v commands with apname
ofTEXTURE_FOVEATED_FEATURE_BITS_QCOM
; returned as possible values forparams
when GetTexParameter{if}v is queried with apname
ofTEXTURE_FOVEATED_FEATURE_BITS_QCOM
.static final int
Accepted as a value toparam
for the TexParameter{if} and toparams
for the TexParameter{if}v commands with apname
ofTEXTURE_FOVEATED_FEATURE_BITS_QCOM
; returned as possible values forparams
when GetTexParameter{if}v is queried with apname
ofTEXTURE_FOVEATED_FEATURE_BITS_QCOM
.static final int
Returned byCheckFramebufferStatus
.static final int
Accepted as a value forpname
for the TexParameter{if} and TexParameter{if}v commands and for thepname
parameter of GetTexParameter{if}v.static final int
Accepted as thepname
parameter of GetTexParameter{if}v.static final int
Accepted as a value forpname
for the TexParameter{if} and TexParameter{if}v commands and for thepname
parameter of GetTexParameter{if}v.static final int
Accepted as thepname
parameter of GetTexParameter{if}v. -
Method Summary
Modifier and TypeMethodDescriptionstatic void
glTextureFoveationParametersQCOM
(int texture, int layer, int focalPoint, float focalX, float focalY, float gainX, float gainY, float foveaArea)
-
Field Details
-
GL_TEXTURE_FOVEATED_FEATURE_BITS_QCOM
public static final int GL_TEXTURE_FOVEATED_FEATURE_BITS_QCOMAccepted as a value forpname
for the TexParameter{if} and TexParameter{if}v commands and for thepname
parameter of GetTexParameter{if}v.- See Also:
-
GL_TEXTURE_FOVEATED_MIN_PIXEL_DENSITY_QCOM
public static final int GL_TEXTURE_FOVEATED_MIN_PIXEL_DENSITY_QCOMAccepted as a value forpname
for the TexParameter{if} and TexParameter{if}v commands and for thepname
parameter of GetTexParameter{if}v.- See Also:
-
GL_TEXTURE_FOVEATED_FEATURE_QUERY_QCOM
public static final int GL_TEXTURE_FOVEATED_FEATURE_QUERY_QCOMAccepted as thepname
parameter of GetTexParameter{if}v.- See Also:
-
GL_TEXTURE_FOVEATED_NUM_FOCAL_POINTS_QUERY_QCOM
public static final int GL_TEXTURE_FOVEATED_NUM_FOCAL_POINTS_QUERY_QCOMAccepted as thepname
parameter of GetTexParameter{if}v.- See Also:
-
GL_FOVEATION_ENABLE_BIT_QCOM
public static final int GL_FOVEATION_ENABLE_BIT_QCOMAccepted as a value toparam
for the TexParameter{if} and toparams
for the TexParameter{if}v commands with apname
ofTEXTURE_FOVEATED_FEATURE_BITS_QCOM
; returned as possible values forparams
when GetTexParameter{if}v is queried with apname
ofTEXTURE_FOVEATED_FEATURE_BITS_QCOM
.- See Also:
-
GL_FOVEATION_SCALED_BIN_METHOD_BIT_QCOM
public static final int GL_FOVEATION_SCALED_BIN_METHOD_BIT_QCOMAccepted as a value toparam
for the TexParameter{if} and toparams
for the TexParameter{if}v commands with apname
ofTEXTURE_FOVEATED_FEATURE_BITS_QCOM
; returned as possible values forparams
when GetTexParameter{if}v is queried with apname
ofTEXTURE_FOVEATED_FEATURE_BITS_QCOM
.- See Also:
-
GL_FRAMEBUFFER_INCOMPLETE_FOVEATION_QCOM
public static final int GL_FRAMEBUFFER_INCOMPLETE_FOVEATION_QCOMReturned byCheckFramebufferStatus
.- See Also:
-
-
Method Details
-
glTextureFoveationParametersQCOM
public static void glTextureFoveationParametersQCOM(int texture, int layer, int focalPoint, float focalX, float focalY, float gainX, float gainY, float foveaArea)
-