public class QCOMFramebufferFoveated
extends java.lang.Object
Foveated rendering is a technique that aims to reduce fragment processing workload and bandwidth by reducing the average resolution of a framebuffer. Perceived image quality is kept high by leaving the focal point of rendering at full resolution.
It exists in two major forms:
Traditionally foveated rendering involves breaking a framebuffer'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 framebuffer's resolution. When these regions are mapped back to the original framebuffer, 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 framebuffer.
| Modifier and Type | Field and Description |
|---|---|
static int |
GL_FOVEATION_ENABLE_BIT_QCOM
Allowed in the config input in FramebufferFoveationConfigQCOM.
|
static int |
GL_FOVEATION_SCALED_BIN_METHOD_BIT_QCOM
Allowed in the config input in FramebufferFoveationConfigQCOM.
|
| Modifier and Type | Method and Description |
|---|---|
static void |
glFramebufferFoveationConfigQCOM(int fbo,
int numLayers,
int focalPointsPerLayer,
int requestedFeatures,
int[] providedFeatures)
Array version of:
FramebufferFoveationConfigQCOM |
static void |
glFramebufferFoveationConfigQCOM(int fbo,
int numLayers,
int focalPointsPerLayer,
int requestedFeatures,
java.nio.IntBuffer providedFeatures) |
static void |
glFramebufferFoveationParametersQCOM(int fbo,
int layer,
int focalPoint,
float focalX,
float focalY,
float gainX,
float gainY,
float foveaArea) |
static void |
nglFramebufferFoveationConfigQCOM(int fbo,
int numLayers,
int focalPointsPerLayer,
int requestedFeatures,
long providedFeatures) |
public static final int GL_FOVEATION_ENABLE_BIT_QCOM
public static final int GL_FOVEATION_SCALED_BIN_METHOD_BIT_QCOM
public static void nglFramebufferFoveationConfigQCOM(int fbo,
int numLayers,
int focalPointsPerLayer,
int requestedFeatures,
long providedFeatures)
public static void glFramebufferFoveationConfigQCOM(int fbo,
int numLayers,
int focalPointsPerLayer,
int requestedFeatures,
java.nio.IntBuffer providedFeatures)
public static void glFramebufferFoveationParametersQCOM(int fbo,
int layer,
int focalPoint,
float focalX,
float focalY,
float gainX,
float gainY,
float foveaArea)
public static void glFramebufferFoveationConfigQCOM(int fbo,
int numLayers,
int focalPointsPerLayer,
int requestedFeatures,
int[] providedFeatures)
FramebufferFoveationConfigQCOMCopyright LWJGL. All Rights Reserved. License terms.