Class NVViewportArray
- java.lang.Object
-
- org.lwjgl.opengles.NVViewportArray
-
public class NVViewportArray extends java.lang.Object
Native bindings to the NV_viewport_array extension.OpenGL ES is modeled on a pipeline of operations. The final stage in this pipeline before rasterization is the viewport transformation. This stage transforms vertices from view space into window coordinates and allows the application to specify a rectangular region of screen space into which OpenGL should draw primitives. Unextended OpenGL implementations provide a single viewport per context. In order to draw primitives into multiple viewports, the OpenGL viewport may be changed between several draw calls. With the advent of Geometry Shaders, it has become possible for an application to amplify geometry and produce multiple output primitives for each primitive input to the Geometry Shader. It is possible to direct these primitives to render into a selected render target. However, all render targets share the same, global OpenGL viewport.
This extension enhances OpenGL by providing a mechanism to expose multiple viewports. Each viewport is specified as a rectangle. The destination viewport may be selected per-primitive by the geometry shader. This allows the Geometry Shader to produce different versions of primitives destined for separate viewport rectangles on the same surface. Additionally, when combined with multiple framebuffer attachments, it allows a different viewport rectangle to be selected for each. This extension also exposes a separate scissor rectangle for each viewport. Finally, the viewport bounds are now floating point quantities allowing fractional pixel offsets to be applied during the viewport transform.
Requires
GLES 3.1
andEXT_geometry_shader
.
-
-
Field Summary
Fields Modifier and Type Field Description static int
GL_MAX_VIEWPORTS_NV
GL_VIEWPORT_BOUNDS_RANGE_NV
GL_VIEWPORT_INDEX_PROVOKING_VERTEX_NV
GL_VIEWPORT_SUBPIXEL_BITS_NVAccepted by thepname
parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetInteger64v.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static void
glDepthRangeArrayfvNV(int first, float[] v)
Array version of:DepthRangeArrayfvNV
static void
glDepthRangeArrayfvNV(int first, java.nio.FloatBuffer v)
static void
glDepthRangeIndexedfNV(int index, float n, float f)
static void
glDisableiNV(int target, int index)
static void
glEnableiNV(int target, int index)
static void
glGetFloati_vNV(int target, int index, float[] data)
Array version of:GetFloati_vNV
static void
glGetFloati_vNV(int target, int index, java.nio.FloatBuffer data)
static float
glGetFloatiNV(int target, int index)
static boolean
glIsEnablediNV(int target, int index)
static void
glScissorArrayvNV(int first, int[] v)
Array version of:ScissorArrayvNV
static void
glScissorArrayvNV(int first, java.nio.IntBuffer v)
static void
glScissorIndexedNV(int index, int left, int bottom, int width, int height)
static void
glScissorIndexedvNV(int index, int[] v)
Array version of:ScissorIndexedvNV
static void
glScissorIndexedvNV(int index, java.nio.IntBuffer v)
static void
glViewportArrayvNV(int first, float[] v)
Array version of:ViewportArrayvNV
static void
glViewportArrayvNV(int first, java.nio.FloatBuffer v)
static void
glViewportIndexedfNV(int index, float x, float y, float w, float h)
static void
glViewportIndexedfvNV(int index, float[] v)
Array version of:ViewportIndexedfvNV
static void
glViewportIndexedfvNV(int index, java.nio.FloatBuffer v)
static void
nglDepthRangeArrayfvNV(int first, int count, long v)
static void
nglGetFloati_vNV(int target, int index, long data)
static void
nglScissorArrayvNV(int first, int count, long v)
static void
nglScissorIndexedvNV(int index, long v)
static void
nglViewportArrayvNV(int first, int count, long v)
static void
nglViewportIndexedfvNV(int index, long v)
-
-
-
Field Detail
-
GL_MAX_VIEWPORTS_NV, GL_VIEWPORT_SUBPIXEL_BITS_NV, GL_VIEWPORT_BOUNDS_RANGE_NV, GL_VIEWPORT_INDEX_PROVOKING_VERTEX_NV
Accepted by thepname
parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetInteger64v.
-
-
Method Detail
-
nglViewportArrayvNV
public static void nglViewportArrayvNV(int first, int count, long v)
-
glViewportArrayvNV
public static void glViewportArrayvNV(int first, java.nio.FloatBuffer v)
-
glViewportIndexedfNV
public static void glViewportIndexedfNV(int index, float x, float y, float w, float h)
-
nglViewportIndexedfvNV
public static void nglViewportIndexedfvNV(int index, long v)
-
glViewportIndexedfvNV
public static void glViewportIndexedfvNV(int index, java.nio.FloatBuffer v)
-
nglScissorArrayvNV
public static void nglScissorArrayvNV(int first, int count, long v)
-
glScissorArrayvNV
public static void glScissorArrayvNV(int first, java.nio.IntBuffer v)
-
glScissorIndexedNV
public static void glScissorIndexedNV(int index, int left, int bottom, int width, int height)
-
nglScissorIndexedvNV
public static void nglScissorIndexedvNV(int index, long v)
-
glScissorIndexedvNV
public static void glScissorIndexedvNV(int index, java.nio.IntBuffer v)
-
nglDepthRangeArrayfvNV
public static void nglDepthRangeArrayfvNV(int first, int count, long v)
-
glDepthRangeArrayfvNV
public static void glDepthRangeArrayfvNV(int first, java.nio.FloatBuffer v)
-
glDepthRangeIndexedfNV
public static void glDepthRangeIndexedfNV(int index, float n, float f)
-
nglGetFloati_vNV
public static void nglGetFloati_vNV(int target, int index, long data)
-
glGetFloati_vNV
public static void glGetFloati_vNV(int target, int index, java.nio.FloatBuffer data)
-
glGetFloatiNV
public static float glGetFloatiNV(int target, int index)
-
glEnableiNV
public static void glEnableiNV(int target, int index)
-
glDisableiNV
public static void glDisableiNV(int target, int index)
-
glIsEnablediNV
public static boolean glIsEnablediNV(int target, int index)
-
glViewportArrayvNV
public static void glViewportArrayvNV(int first, float[] v)
Array version of:ViewportArrayvNV
-
glViewportIndexedfvNV
public static void glViewportIndexedfvNV(int index, float[] v)
Array version of:ViewportIndexedfvNV
-
glScissorArrayvNV
public static void glScissorArrayvNV(int first, int[] v)
Array version of:ScissorArrayvNV
-
glScissorIndexedvNV
public static void glScissorIndexedvNV(int index, int[] v)
Array version of:ScissorIndexedvNV
-
glDepthRangeArrayfvNV
public static void glDepthRangeArrayfvNV(int first, float[] v)
Array version of:DepthRangeArrayfvNV
-
glGetFloati_vNV
public static void glGetFloati_vNV(int target, int index, float[] data)
Array version of:GetFloati_vNV
-
-