Package org.lwjgl.vulkan
Class NVViewportSwizzle
- java.lang.Object
-
- org.lwjgl.vulkan.NVViewportSwizzle
-
public final class NVViewportSwizzle extends java.lang.Object
This extension provides a new per-viewport swizzle that can modify the position of primitives sent to each viewport. New viewport swizzle state is added for each viewport, and a new position vector is computed for each vertex by selecting from and optionally negating any of the four components of the original position vector.This new viewport swizzle is useful for a number of algorithms, including single-pass cubemap rendering (broadcasting a primitive to multiple faces and reorienting the vertex position for each face) and voxel rasterization. The per-viewport component remapping and negation provided by the swizzle allows application code to re-orient three-dimensional geometry with a view along any of the X, Y, or Z axes. If a perspective projection and depth buffering is required,
1/W
buffering should be used, as described in the single-pass cubemap rendering example in the "Issues
" section below.- Name String
VK_NV_viewport_swizzle
- Extension Type
- Device extension
- Registered Extension Number
- 99
- Revision
- 1
- Extension and Version Dependencies
- Requires Vulkan 1.0
- Contact
- Piers Daniell pdaniell-nv
- Last Modified Date
- 2016-12-22
- Interactions and External Dependencies
- This extension requires
multiViewport
andgeometryShader
features to be useful.
- This extension requires
- Contributors
- Daniel Koch, NVIDIA
- Jeff Bolz, NVIDIA
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME
The extension name.static int
VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION
The extension specification version.static int
VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV
ExtendsVkStructureType
.static int
VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV
VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV
VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV
VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV
VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV
VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV
VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV
VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NVVkViewportCoordinateSwizzleNV - Specify how a viewport coordinate is swizzled
-
-
-
Field Detail
-
VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION
The extension specification version.
-
VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME
The extension name.
-
VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV
ExtendsVkStructureType
.
-
VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV, VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV, VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV, VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV, VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV, VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV, VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV, VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV
VkViewportCoordinateSwizzleNV - Specify how a viewport coordinate is swizzledDescription
These values are described in detail in Viewport Swizzle.
See Also
Enum values:
VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV
VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV
VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV
VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV
VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV
VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV
VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV
VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV
-
-