Class NVFragmentShaderBarycentric

java.lang.Object
org.lwjgl.vulkan.NVFragmentShaderBarycentric

public final class NVFragmentShaderBarycentric extends Object
This extension adds support for the following SPIR-V extension in Vulkan:

The extension provides access to three additional fragment shader variable decorations in SPIR-V:

  • PerVertexNV, which indicates that a fragment shader input will not have interpolated values, but instead must be accessed with an extra array index that identifies one of the vertices of the primitive producing the fragment
  • BaryCoordNV, which indicates that the variable is a three-component floating-point vector holding barycentric weights for the fragment produced using perspective interpolation
  • BaryCoordNoPerspNV, which indicates that the variable is a three-component floating-point vector holding barycentric weights for the fragment produced using linear interpolation

When using GLSL source-based shader languages, the following variables from GL_NV_fragment_shader_barycentric maps to these SPIR-V built-in decorations:

  • in vec3 gl_BaryCoordNV;BaryCoordNV
  • in vec3 gl_BaryCoordNoPerspNV;BaryCoordNoPerspNV

GLSL variables declared using the __pervertexNV GLSL qualifier are expected to be decorated with PerVertexNV in SPIR-V.

Promotion to VK_KHR_fragment_shader_barycentric

All functionality in this extension is included in VK_KHR_fragment_shader_barycentric, with the suffix changed to KHR.

Name String
VK_NV_fragment_shader_barycentric
Extension Type
Device extension
Registered Extension Number
204
Revision
1
Extension and Version Dependencies
VK_KHR_get_physical_device_properties2 or Version 1.1
SPIR-V Dependencies
Deprecation State
Contact
Other Extension Metadata
Last Modified Date
2018-08-03
IP Status
No known IP claims.
Interactions and External Dependencies
Contributors
  • Pat Brown, NVIDIA
  • Daniel Koch, NVIDIA
  • Field Details

    • VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION

      public static final int VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION
      The extension specification version.
      See Also:
    • VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME

      public static final String VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME
      The extension name.
      See Also:
    • VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV

      public static final int VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV
      Extends VkStructureType.
      See Also: