Vireo  0.0
Vireo 3D Rendering Hardware Interface
GraphicPipelineConfiguration Struct Reference

Detailed Description

Full description of a graphics pipeline passed to Vireo.create_graphic_pipeline().

Lua full name: vireo.GraphicPipelineConfiguration

Properties

PipelineResources resources
 Pipeline layout (descriptor set layouts + push-constant ranges).
 
ImageFormat[] color_render_formats
 Pixel formats of the color render target attachments, in order.
 
ColorBlendDesc[] color_blend_desc
 Per-attachment color blend states, in the same order as color_render_formats.
 
VertexInputLayout|nil vertex_input_layout
 Vertex attribute layout (nil for pipelines without vertex buffers).
 
ShaderModule|nil vertex_shader
 Vertex shader module (nil for mesh-shader pipelines).
 
ShaderModule|nil fragment_shader
 Fragment shader module (nil for depth-only passes).
 
ShaderModule|nil hull_shader
 Hull (tessellation control) shader module (nil if unused).
 
ShaderModule|nil domain_shader
 Domain (tessellation evaluation) shader module (nil if unused).
 
ShaderModule|nil geometry_shader
 Geometry shader module (nil if unused).
 
PrimitiveTopology primitive_topology
 Input assembly topology for vertex grouping.
 
MSAA msaa
 Multisampling level (NONE disables MSAA).
 
CullMode cull_mode
 Face culling mode applied during rasterization.
 
PolygonMode polygon_mode
 Polygon fill mode (FILL or WIREFRAME).
 
boolean front_face_counter_clockwise
 True if counter-clockwise winding order defines front faces.
 
ImageFormat depth_stencil_image_format
 Pixel format of the depth/stencil attachment (UNDEFINED if none is used).
 
boolean depth_test_enable
 True to enable the per-fragment depth test.
 
boolean depth_write_enable
 True to write depth values when the depth test passes.
 
CompareOp depth_compare_op
 Comparison function for the depth test.
 
boolean depth_bias_enable
 True to enable depth biasing (useful to avoid z-fighting in shadow maps).
 
number depth_bias_constant_factor
 Constant depth bias added to every fragment's depth.
 
number depth_bias_clamp
 Maximum (or minimum, if negative) depth bias allowed on any fragment.
 
number depth_bias_slope_factor
 Depth bias scaled by the fragment's depth slope.
 
boolean stencil_test_enable
 True to enable the per-fragment stencil test.
 
StencilOpState front_stencil_op_state
 Stencil test and write operations for front-facing polygons.
 
StencilOpState back_stencil_op_state
 Stencil test and write operations for back-facing polygons.
 
boolean logic_op_enable
 True to enable logical operations on color attachments instead of blending.
 
LogicOp logic_op
 Logical operation applied to color attachment values when logic_op_enable is true.
 
boolean alpha_to_coverage_enable
 True to derive a per-sample coverage mask from the fragment alpha value (requires MSAA).
 

Property Documentation

PipelineResources resources

Pipeline layout (descriptor set layouts + push-constant ranges).

ImageFormat[] color_render_formats

Pixel formats of the color render target attachments, in order.

ColorBlendDesc[] color_blend_desc

Per-attachment color blend states, in the same order as color_render_formats.

VertexInputLayout|nil vertex_input_layout

Vertex attribute layout (nil for pipelines without vertex buffers).

ShaderModule|nil vertex_shader

Vertex shader module (nil for mesh-shader pipelines).

ShaderModule|nil fragment_shader

Fragment shader module (nil for depth-only passes).

ShaderModule|nil hull_shader

Hull (tessellation control) shader module (nil if unused).

ShaderModule|nil domain_shader

Domain (tessellation evaluation) shader module (nil if unused).

ShaderModule|nil geometry_shader

Geometry shader module (nil if unused).

PrimitiveTopology primitive_topology

Input assembly topology for vertex grouping.

MSAA msaa

Multisampling level (NONE disables MSAA).

CullMode cull_mode

Face culling mode applied during rasterization.

PolygonMode polygon_mode

Polygon fill mode (FILL or WIREFRAME).

boolean front_face_counter_clockwise

True if counter-clockwise winding order defines front faces.

ImageFormat depth_stencil_image_format

Pixel format of the depth/stencil attachment (UNDEFINED if none is used).

boolean depth_test_enable

True to enable the per-fragment depth test.

boolean depth_write_enable

True to write depth values when the depth test passes.

CompareOp depth_compare_op

Comparison function for the depth test.

boolean depth_bias_enable

True to enable depth biasing (useful to avoid z-fighting in shadow maps).

number depth_bias_constant_factor

Constant depth bias added to every fragment's depth.

number depth_bias_clamp

Maximum (or minimum, if negative) depth bias allowed on any fragment.

number depth_bias_slope_factor

Depth bias scaled by the fragment's depth slope.

boolean stencil_test_enable

True to enable the per-fragment stencil test.

StencilOpState front_stencil_op_state

Stencil test and write operations for front-facing polygons.

StencilOpState back_stencil_op_state

Stencil test and write operations for back-facing polygons.

boolean logic_op_enable

True to enable logical operations on color attachments instead of blending.

LogicOp logic_op

Logical operation applied to color attachment values when logic_op_enable is true.

boolean alpha_to_coverage_enable

True to derive a per-sample coverage mask from the fragment alpha value (requires MSAA).