VKFRONTFACE(3)

NAME
VkFrontFace - interpret polygon front-facing orientation

C SPECIFICATION

The first step of polygon rasterization is to determine whether the triangle is back-facing or front-facing. This determination is made based on the sign of the (clipped or unclipped) polygon’s area computed in framebuffer coordinates. One way to compute this area is:

    \[
      a = -{1 \over 2}\sum_{i=0}^{n-1}
            x_f^i y_f^{i \oplus 1} -
            x_f^{i \oplus 1} y_f^i \]

where [ $x_f^i$ ] and [ $y_f^i$ ] are the [ $x$ ] and [ $y$ ] framebuffer coordinates of the [ $i$ ]th vertex of the [ $n$ ]-vertex polygon (vertices are numbered starting at zero for the purposes of this computation) and [ $i

The interpretation of the sign of [ $a$ ] is determined by the VkPipelineRasterizationStateCreateInfo::frontFace property of the currently active pipeline, which takes the following values:

    typedef enum VkFrontFace {
        VK_FRONT_FACE_COUNTER_CLOCKWISE = 0,
        VK_FRONT_FACE_CLOCKWISE = 1,
    } VkFrontFace;

DESCRIPTION

If frontFace is set to VK_FRONT_FACE_COUNTER_CLOCKWISE, a triangle with positive area is considered front-facing. If it is set to VK_FRONT_FACE_CLOCKWISE, a triangle with negative area is considered front-facing. Any triangle which is not front-facing is back-facing, including zero-area triangles.

SEE ALSO

VkPipelineRasterizationStateCreateInfo

DOCUMENT NOTES

For more information, see the Vulkan Specification at URL

https://www.khronos.org/registry/vulkan/specs/1.0/xhtml/vkspec.html#VkFrontFace

This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification,not directly.

COPYRIGHT

Copyright (c) 2014-2016 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.

AUTHOR

Khronos Group
    Author.