This extension provides additional orthogonally aligned "window rectangles" specified in window-space coordinates that restrict rasterization of all primitive types (geometry, images, paths) and framebuffer clears.
When rendering to the framebuffer of an on-screen window, these window rectangles are ignored so these window rectangles apply to rendering to non-zero framebuffer objects only.
From zero to an implementation-dependent limit (specified by MAX_WINDOW_RECTANGLES_EXT) number of window rectangles can be operational at once. When
one or more window rectangles are active, rasterized fragments can either survive if the fragment is within any of the operational window rectangles
(INCLUSIVE_EXT mode) or be rejected if the fragment is within any of the operational window rectangles (EXCLUSIVE_EXT mode).
These window rectangles operate orthogonally to the existing scissor test functionality.
This extension has specification language for both OpenGL and ES so EXT_window_rectangles can be implemented and advertised for either or both
API contexts.
Requires GLES30 or EXT_multiview_draw_buffers.
| Modifier and Type | Field and Description |
|---|---|
| public static final int | GL_EXCLUSIVE_EXT
Accepted by the |
| public static final int | GL_INCLUSIVE_EXT
Accepted by the |
| public static final int | GL_MAX_WINDOW_RECTANGLES_EXT
Accepted by the |
| public static final int | GL_NUM_WINDOW_RECTANGLES_EXT
Accepted by the |
| public static final int | GL_WINDOW_RECTANGLE_EXT
Accepted by the |
| public static final int | GL_WINDOW_RECTANGLE_MODE_EXT
Accepted by the |
| Access | Constructor and Description |
|---|---|
| protected |
| Modifier and Type | Method and Description | ||
|---|---|---|---|
| public static void | glWindowRectanglesEXT(int
the rectangle mode. One of: mode, IntBuffer
an array of box)4*count window rectangle coordinatesSets the active window rectangles. | ||
| public static void | |||
| public static native void | nglWindowRectanglesEXT(int mode, int
the number of active window rectangles. Must be between zero and the value of count, long box)MAX_WINDOW_RECTANGLES_EXT.Unsafe version of: |
| GL_EXCLUSIVE_EXT | back to summary |
|---|---|
| public static final int GL_EXCLUSIVE_EXT Accepted by the | |
| GL_INCLUSIVE_EXT | back to summary |
|---|---|
| public static final int GL_INCLUSIVE_EXT Accepted by the | |
| GL_MAX_WINDOW_RECTANGLES_EXT | back to summary |
|---|---|
| public static final int GL_MAX_WINDOW_RECTANGLES_EXT Accepted by the | |
| GL_NUM_WINDOW_RECTANGLES_EXT | back to summary |
|---|---|
| public static final int GL_NUM_WINDOW_RECTANGLES_EXT Accepted by the | |
| GL_WINDOW_RECTANGLE_EXT | back to summary |
|---|---|
| public static final int GL_WINDOW_RECTANGLE_EXT Accepted by the | |
| GL_WINDOW_RECTANGLE_MODE_EXT | back to summary |
|---|---|
| public static final int GL_WINDOW_RECTANGLE_MODE_EXT Accepted by the | |
| EXTWindowRectangles | back to summary |
|---|---|
| protected EXTWindowRectangles() | |
| glWindowRectanglesEXT | back to summary | ||
|---|---|---|---|
| public static void glWindowRectanglesEXT(int mode, IntBuffer box) Sets the active window rectangles. When the Each four elements corresponds to the ith window rectangle indicating a box of pixels specified with window-space coordinates. Each window
rectangle box The Each rasterized or cleared fragment with a window-space position
When the window rectangles mode is When the window rectangles mode is When the bound framebuffer object is zero, the window rectangles test always passes.
| |||
| glWindowRectanglesEXT | back to summary |
|---|---|
| public static void glWindowRectanglesEXT(int mode, int[] box) Array version of: | |
| nglWindowRectanglesEXT | back to summary |
|---|---|
| public static native void nglWindowRectanglesEXT(int mode, int count, long box) Unsafe version of:
| |