Class NVViewportSwizzle

java.lang.Object
org.lwjgl.vulkan.NVViewportSwizzle

public final class NVViewportSwizzle extends 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 cube map 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 cube map rendering example in the “Issues” section below.

VK_NV_viewport_swizzle
Name String
VK_NV_viewport_swizzle
Extension Type
Device extension
Registered Extension Number
99
Revision
1
Contact
Other Extension Metadata
Last Modified Date
2016-12-22
Interactions and External Dependencies
  • This extension requires multiViewport and geometryShader features to be useful.
Contributors
  • Daniel Koch, NVIDIA
  • Jeff Bolz, NVIDIA