include::meta/VK_EXT_line_rasterization.txt[] *Last Modified Date*:: 2019-05-09 *IP Status*:: No known IP claims. *Contributors*:: - Jeff Bolz, NVIDIA - Allen Jensen, NVIDIA - Jason Ekstrand, Intel This extension adds some line rasterization features that are commonly used in CAD applications and supported in other APIs like OpenGL. Bresenham-style line rasterization is supported, smooth rectangular lines (coverage to alpha) are supported, and stippled lines are supported for all three line rasterization modes. === New Enum Constants * Extending elink:VkStructureType: ** ename:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT ** ename:VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT * Extending elink:VkDynamicState: ** ename:VK_DYNAMIC_STATE_LINE_STIPPLE_EXT === New Enums * elink:VkLineRasterizationModeEXT === New Structures * slink:VkPhysicalDeviceLineRasterizationFeaturesEXT * slink:VkPipelineRasterizationLineStateCreateInfoEXT === New Functions * flink:vkCmdSetLineStippleEXT === Issues (1) Do we need to support Bresenham-style and smooth lines with more than one rasterization sample? i.e. the equivalent of glDisable(GL_MULTISAMPLE) in OpenGL when the framebuffer has more than one sample? RESOLVED: Yes. For simplicity, Bresenham line rasterization carries forward a few restrictions from OpenGL, such as not supporting per-sample shading, alpha to coverage, or alpha to one. === Version History * Revision 1, 2019-05-09 (Jeff Bolz) - Initial draft