| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Vulkan.Extensions.VK_EXT_line_rasterization
Description
Name
VK_EXT_line_rasterization - device extension
VK_EXT_line_rasterization
- Name String
VK_EXT_line_rasterization
- Extension Type
- Device extension
- Registered Extension Number
- 260
- Revision
- 1
- Ratification Status
- Not ratified
- Extension and Version Dependencies
- VK_KHR_get_physical_device_properties2 or Vulkan Version 1.1
- Deprecation State
Promoted to VK_KHR_line_rasterization extension
- Which in turn was promoted to Vulkan 1.4
- Special Use
- Contact
Other Extension Metadata
- Last Modified Date
- 2019-05-09
- IP Status
- No known IP claims.
- Contributors
- Jeff Bolz, NVIDIA
- Allen Jensen, NVIDIA
- Faith Ekstrand, Intel
Description
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.
Promotion to VK_KHR_line_rasterization
All functionality in this extension is included in
VK_KHR_line_rasterization, with the suffix changed to KHR. The
original enum names are still available as aliases of the KHR
functionality.
New Commands
New Structures
Extending
PhysicalDeviceProperties2:Extending
PipelineRasterizationStateCreateInfo:
New Enums
New Enum Constants
EXT_LINE_RASTERIZATION_SPEC_VERSIONExtending
DynamicState:Extending
LineRasterizationMode:Extending
StructureType:
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
See Also
No cross-references are available
Document Notes
For more information, see the Vulkan Specification.
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Documentation
pattern DYNAMIC_STATE_LINE_STIPPLE_EXT :: DynamicState Source #
cmdSetLineStippleEXT :: MonadIO io => CommandBuffer -> ("lineStippleFactor" ::: Word32) -> ("lineStipplePattern" ::: Word16) -> io () Source #
type PhysicalDeviceLineRasterizationPropertiesEXT = PhysicalDeviceLineRasterizationProperties Source #
type PipelineRasterizationLineStateCreateInfoEXT = PipelineRasterizationLineStateCreateInfo Source #
type EXT_LINE_RASTERIZATION_SPEC_VERSION = 1 Source #
pattern EXT_LINE_RASTERIZATION_SPEC_VERSION :: Integral a => a Source #
type EXT_LINE_RASTERIZATION_EXTENSION_NAME = "VK_EXT_line_rasterization" Source #
pattern EXT_LINE_RASTERIZATION_EXTENSION_NAME :: (Eq a, IsString a) => a Source #