| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Vulkan.Extensions.VK_KHR_line_rasterization
Description
Name
VK_KHR_line_rasterization - device extension
VK_KHR_line_rasterization
- Name String
VK_KHR_line_rasterization
- Extension Type
- Device extension
- Registered Extension Number
- 535
- Revision
- 1
- Ratification Status
- Ratified
- Extension and Version Dependencies
- VK_KHR_get_physical_device_properties2 or Vulkan Version 1.1
- Deprecation State
- Promoted to Vulkan 1.4
- Contact
Other Extension Metadata
- Last Modified Date
- 2023-06-08
- 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.
New Commands
New Structures
Extending
PhysicalDeviceProperties2:Extending
PipelineRasterizationStateCreateInfo:
New Enums
New Enum Constants
KHR_LINE_RASTERIZATION_SPEC_VERSIONExtending
DynamicState:Extending
LineRasterizationMode:Extending
StructureType:
Promotion to Vulkan 1.4
Functionality in this extension is included in core Vulkan 1.4 with the KHR suffix omitted. The original type, enum, and command names are still available as aliases of the core functionality.
When Version 1.4 is supported, the bresenhamLines feature must be supported.
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_KHR :: DynamicState Source #
cmdSetLineStippleKHR :: MonadIO io => CommandBuffer -> ("lineStippleFactor" ::: Word32) -> ("lineStipplePattern" ::: Word16) -> io () Source #
type PhysicalDeviceLineRasterizationPropertiesKHR = PhysicalDeviceLineRasterizationProperties Source #
type PipelineRasterizationLineStateCreateInfoKHR = PipelineRasterizationLineStateCreateInfo Source #
type KHR_LINE_RASTERIZATION_SPEC_VERSION = 1 Source #
pattern KHR_LINE_RASTERIZATION_SPEC_VERSION :: Integral a => a Source #
type KHR_LINE_RASTERIZATION_EXTENSION_NAME = "VK_KHR_line_rasterization" Source #
pattern KHR_LINE_RASTERIZATION_EXTENSION_NAME :: (Eq a, IsString a) => a Source #