VkGraphicsPipelineCreateInfo
2024-10-24 17:01:53 0 举报
AI智能生成
VkGraphicsPipelineCreateInfo是一个用于描述图形渲染管线创建信息的结构体。它包含了一系列子结构体,用于定义图形管线的状态、输入布局、顶点输入描述、管线的视图port和深度的范围以及搅拌子过程等等。这些子结构体都定义了管线的不同部分,使得在绘制图形时能够进行有效的处理。例如,VkPipelineInputAssemblyStateCreateInfo用于定义顶点的装配方式,VkPipelineViewportStateCreateInfo用于定义管线的视图port,VkPipelineRasterizationStateCreateInfo用于定义光栅化处理,VkPipelineMultisampleStateCreateInfo用于定义多重采样等等。每个子结构体都包含了不同的参数和设置,用于调整管线的性能和效果。通过VkGraphicsPipelineCreateInfo,开发者可以在Vulkan API中创建一个高效的图形管线,从而实现各种复杂的图形渲染任务。
作者其他创作
大纲/内容
sType
VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO
pNext
VkPipelineCreateFlagBits flags<br>
<font color="#e0c431"><i>指示创建过程中的一些动作</i></font>
stageCount
VkPipelineShaderStageCreateInfo* pStages<br>
sType
VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO
pNext<br>
flags
VkShaderStageFlagBits stage
VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT<br>
VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT<br>
VK_SHADER_STAGE_GEOMETRY_BIT<br>
VK_SHADER_STAGE_FRAGMENT_BIT<br>
VK_SHADER_STAGE_COMPUTE_BIT<br>
module
VkShaderModule pName
VkSpecializationInfo* pSpecializationInfo
VkPipelineVertexInputStateCreateInfo* pVertexInputState<br>
sType
VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO
pNext
flags
vertexBindingDescriptionCount
VkVertexInputBindingDescription* pVertexBindingDescriptions
binding<br>
stride<br>
VkVertexInputRate inputRate
VK_VERTEX_INPUT_RATE_VERTEX<br>
VK_VERTEX_INPUT_RATE_INSTANCE
vertexAttributeDescriptionCount
VkVertexInputAttributeDescription* pVertexAttributeDescriptions
location<br>
binding
format
offset
VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState<br>
sType
VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO
pNext
flags<br>
VkPrimitiveTopology topology
VK_PRIMITIVE_TOPOLOGY_POINT_LIST<br>
VK_PRIMITIVE_TOPOLOGY_LINE_LIST<br>
VK_PRIMITIVE_TOPOLOGY_LINE_STRIP<br>
VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST<br>
VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP<br>
VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN<br>
VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY<br>
VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY<br>
VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY<br>
VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY<br>
VK_PRIMITIVE_TOPOLOGY_PATCH_LIST
bool primitiveRestartEnable
VkPipelineTessellationStateCreateInfo* pTessellationState
sType
VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO
pNext<br>
flags<br>
patchControlPoints
VkPipelineViewportStateCreateInfo* pViewportState
sType
VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO
pNext<br>
VkPipelineViewportStateCreateFlags flags
viewportCount
VkViewport* pViewports
float x
float y
float width
float height
float minDepth
float maxDepth
scissorCount<br>
VkRect2D* pScissors
VkOffset2D offset
int32_t x
int32_t y
VkExtent2D extent
uint32_t width
uint32_t height
VkPipelineRasterizationStateCreateInfo* pRasterizationState
sType
VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO
pNext
flags
bool depthClampEnable
bool rasterizerDiscardEnable
VkPolygonMode polygonMode
VK_POLYGON_MODE_FILL
VK_POLYGON_MODE_LINE<br>
VK_POLYGON_MODE_POINT
VkCullModeFlags cullMode
VK_CULL_MODE_NONE
VK_CULL_MODE_FRONT_BIT<br>
VK_CULL_MODE_BACK_BIT<br>
VK_CULL_MODE_FRONT_AND_BACK
VkFrontFace frontFace
VK_FRONT_FACE_COUNTER_CLOCKWISE
VK_FRONT_FACE_CLOCKWISE
bool depthBiasEnable
float depthBiasConstantFactor
float depthBiasClamp
float depthBiasSlopeFactor
float lineWidth
VkPipelineMultisampleStateCreateInfo* pMultisampleState
sType
VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO
pNext<br>
flags
VkSampleCountFlagBits rasterizationSamples<br>
VK_SAMPLE_COUNT_1_BIT<br>
VK_SAMPLE_COUNT_2_BIT<br>
VK_SAMPLE_COUNT_4_BIT<br>
VK_SAMPLE_COUNT_8_BIT<br>
VK_SAMPLE_COUNT_16_BIT<br>
VK_SAMPLE_COUNT_32_BIT<br>
VK_SAMPLE_COUNT_64_BIT
bool sampleShadingEnable
float minSampleShading
VkSampleMask* pSampleMask
bool alphaToCoverageEnable
bool alphaToOneEnable
VkPipelineDepthStencilStateCreateInfo* pDepthStencilState
sType
VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO
pNext
flags
bool depthTestEnable
bool depthWriteEnable
VkCompareOp depthCompareOp<br>
VK_COMPARE_OP_NEVER<br>
VK_COMPARE_OP_LESS<br>
VK_COMPARE_OP_EQUAL<br>
VK_COMPARE_OP_LESS_OR_EQUAL<br>
VK_COMPARE_OP_GREATER<br>
VK_COMPARE_OP_NOT_EQUAL<br>
VK_COMPARE_OP_GREATER_OR_EQUAL<br>
VK_COMPARE_OP_ALWAYS
bool depthBoundsTestEnable
bool stencilTestEnable
VkStencilOpState front
VkStencilOp failOp<br>
VK_STENCIL_OP_KEEP<br>
VK_STENCIL_OP_ZERO<br>
VK_STENCIL_OP_REPLACE<br>
VK_STENCIL_OP_INCREMENT_AND_CLAMP<br>
VK_STENCIL_OP_DECREMENT_AND_CLAMP<br>
VK_STENCIL_OP_INVERT<br>
VK_STENCIL_OP_INCREMENT_AND_WRAP<br>
VK_STENCIL_OP_DECREMENT_AND_WRAP
VkStencilOp passOp<br>
VkStencilOp depthFailOp<br>
VkCompareOp compareOp<br>
compareMask<br>
writeMask<br>
reference
VkStencilOpState back
float minDepthBounds
float maxDepthBounds
VkPipelineColorBlendStateCreateInfo* pColorBlendState
sType
VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO
pNext<br>
flags
bool logicOpEnable<br>
VkLogicOp logicOp
VK_LOGIC_OP_CLEAR
VK_LOGIC_OP_AND<br>
VK_LOGIC_OP_AND_REVERSE
VK_LOGIC_OP_COPY
VK_LOGIC_OP_AND_INVERTED
VK_LOGIC_OP_NO_OP
VK_LOGIC_OP_XOR
VK_LOGIC_OP_OR
VK_LOGIC_OP_NOR<br>
VK_LOGIC_OP_EQUIVALENT<br>
VK_LOGIC_OP_INVERT<br>
VK_LOGIC_OP_OR_REVERSE<br>
VK_LOGIC_OP_COPY_INVERTED<br>
VK_LOGIC_OP_OR_INVERTED<br>
VK_LOGIC_OP_NAND<br>
VK_LOGIC_OP_SET
attachmentCount
VkPipelineColorBlendAttachmentState* pAttachments
bool blendEnable
VkBlendFactor srcColorBlendFactor<br>
VK_BLEND_FACTOR_ZERO
VK_BLEND_FACTOR_ONE<br>
VK_BLEND_FACTOR_SRC_COLOR<br>
VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR<br>
VK_BLEND_FACTOR_DST_COLOR<br>
VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR<br>
VK_BLEND_FACTOR_SRC_ALPHA<br>
VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA<br>
VK_BLEND_FACTOR_DST_ALPHA<br>
VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA<br>
VK_BLEND_FACTOR_CONSTANT_COLOR<br>
VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR<br>
VK_BLEND_FACTOR_CONSTANT_ALPHA
VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA<br>
VK_BLEND_FACTOR_SRC_ALPHA_SATURATE<br>
VK_BLEND_FACTOR_SRC1_COLOR
VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR<br>
VK_BLEND_FACTOR_SRC1_ALPHA<br>
VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA
VkBlendFactor dstColorBlendFactor<br>
VkBlendOp colorBlendOp<br>
VK_BLEND_OP_ADD
VK_BLEND_OP_SUBTRACT
VK_BLEND_OP_REVERSE_SUBTRACT
VK_BLEND_OP_MIN
VK_BLEND_OP_MAX
.......
VK_BLEND_OP_BLUE_EXT
VkBlendFactor srcAlphaBlendFactor<br>
VkBlendFactor dstAlphaBlendFactor<br>
VkBlendOp alphaBlendOp<br>
VkColorComponentFlags colorWriteMask
VK_COLOR_COMPONENT_R_BIT
VK_COLOR_COMPONENT_G_BIT<br>
VK_COLOR_COMPONENT_B_BIT<br>
VK_COLOR_COMPONENT_A_BIT
float blendConstants[4]
VkPipelineDynamicStateCreateInfo* pDynamicState
sType
VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO
pNext
flags
dynamicStateCount<br>
pDynamicStates
VK_DYNAMIC_STATE_VIEWPORT
VK_DYNAMIC_STATE_SCISSOR
VK_DYNAMIC_STATE_LINE_WIDTH
......
VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT
layout
<font color="#e0c431"><i>vkCreatePipelineLayout的结果</i></font><br>
renderPass
<font color="#e0c431"><i>vkCreateRenderPass2KHR/vkCreateRenderPass 的结果</i></font>
subpass<br>
basePipelineHandle<br>
basePipelineIndex
0 条评论
下一页