Class NVFragmentShaderBarycentric


  • public final class NVFragmentShaderBarycentric
    extends java.lang.Object
    This extension adds support for the following SPIR-V extension in Vulkan:
    • SPV_NV_fragment_shader_barycentric

    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.

    Name String
    VK_NV_fragment_shader_barycentric
    Extension Type
    Device extension
    Registered Extension Number
    204
    Revision
    1
    Extension and Version Dependencies
    Contact
    Last Modified Date
    2018-08-03
    IP Status
    No known IP claims.
    Interactions and External Dependencies
    • Requires the SPV_NV_fragment_shader_barycentric SPIR-V extension.
    • Requires the GL_NV_fragment_shader_barycentric extension for GLSL source languages.
    Contributors
    • Pat Brown, NVIDIA
    • Daniel Koch, NVIDIA
    • Field Detail

      • VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION

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

        public static final java.lang.String VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME
        The extension name.
        See Also:
        Constant Field Values
      • 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:
        Constant Field Values