Package org.lwjgl.vulkan
Class EXTLineRasterization
- java.lang.Object
-
- org.lwjgl.vulkan.EXTLineRasterization
-
public class EXTLineRasterization extends java.lang.Object
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.- Name String
VK_EXT_line_rasterization
- Extension Type
- Device extension
- Registered Extension Number
- 260
- Revision
- 1
- Extension and Version Dependencies
- Requires Vulkan 1.0
- Requires
VK_KHR_get_physical_device_properties2
- Contact
- Jeff Bolz jeffbolznv
- Last Modified Date
- 2019-05-09
- IP Status
- No known IP claims.
- Contributors
- Jeff Bolz, NVIDIA
- Allen Jensen, NVIDIA
- Jason Ekstrand, Intel
-
-
Field Summary
Fields Modifier and Type Field Description static int
VK_DYNAMIC_STATE_LINE_STIPPLE_EXT
ExtendsVkDynamicState
.static java.lang.String
VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME
The extension name.static int
VK_EXT_LINE_RASTERIZATION_SPEC_VERSION
The extension specification version.static int
VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT
VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT
VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT
VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXTVkLineRasterizationModeEXT - Line rasterization modesstatic int
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT
VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXTExtendsVkStructureType
.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static void
vkCmdSetLineStippleEXT(VkCommandBuffer commandBuffer, int lineStippleFactor, short lineStipplePattern)
Set the dynamic line width state.
-
-
-
Field Detail
-
VK_EXT_LINE_RASTERIZATION_SPEC_VERSION
The extension specification version.
-
VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME
The extension name.
-
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT, VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT
-
VK_DYNAMIC_STATE_LINE_STIPPLE_EXT
ExtendsVkDynamicState
.
-
VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT, VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT, VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT, VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT
VkLineRasterizationModeEXT - Line rasterization modesDescription
LINE_RASTERIZATION_MODE_DEFAULT_EXT
is equivalent toLINE_RASTERIZATION_MODE_RECTANGULAR_EXT
ifVkPhysicalDeviceLimits
::strictLines
isTRUE
, otherwise lines are drawn as non-strictLines
parallelograms. Both of these modes are defined in Basic Line Segment Rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_EXT
specifies lines drawn as if they were rectangles extruded from the lineLINE_RASTERIZATION_MODE_BRESENHAM_EXT
specifies lines drawn by determining which pixel diamonds the line intersects and exits, as defined in Bresenham Line Segment Rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT
specifies lines drawn if they were rectangles extruded from the line, with alpha falloff, as defined in Smooth Lines.
See Also
-
-
Method Detail
-
vkCmdSetLineStippleEXT
public static void vkCmdSetLineStippleEXT(VkCommandBuffer commandBuffer, int lineStippleFactor, short lineStipplePattern)
Set the dynamic line width state.C Specification
The line stipple factor and pattern are specified by the
VkPipelineRasterizationLineStateCreateInfoEXT
::lineStippleFactor
andVkPipelineRasterizationLineStateCreateInfoEXT
::lineStipplePattern
members of the currently active pipeline, if the pipeline was not created withDYNAMIC_STATE_LINE_STIPPLE_EXT
enabled.Otherwise, the line stipple factor and pattern are set by calling
vkCmdSetLineStippleEXT
:void vkCmdSetLineStippleEXT( VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern);
Valid Usage
- The bound graphics pipeline must have been created with the
DYNAMIC_STATE_LINE_STIPPLE_EXT
dynamic state enabled lineStippleFactor
must be in the range[1,256]
Valid Usage (Implicit)
commandBuffer
must be a validVkCommandBuffer
handlecommandBuffer
must be in the recording state- The
VkCommandPool
thatcommandBuffer
was allocated from must support graphics operations
Host Synchronization
- Host access to
commandBuffer
must be externally synchronized - Host access to the
VkCommandPool
thatcommandBuffer
was allocated from must be externally synchronized
Command Properties
Command Buffer Levels Render Pass Scope Supported Queue Types Pipeline Type Primary Secondary Both Graphics - Parameters:
commandBuffer
- the command buffer into which the command will be recorded.lineStippleFactor
- the repeat factor used in stippled line rasterization.lineStipplePattern
- the bit pattern used in stippled line rasterization.
- The bound graphics pipeline must have been created with the
-
-