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
指示创建过程中的一些动作
stageCount
VkPipelineShaderStageCreateInfo* pStages
sType
VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO
pNext
flags
VkShaderStageFlagBits stage
VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT
VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT
VK_SHADER_STAGE_GEOMETRY_BIT
VK_SHADER_STAGE_FRAGMENT_BIT
VK_SHADER_STAGE_COMPUTE_BIT
module
VkShaderModule pName
VkSpecializationInfo* pSpecializationInfo
VkPipelineVertexInputStateCreateInfo* pVertexInputState
sType
VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO
pNext
flags
vertexBindingDescriptionCount
VkVertexInputBindingDescription* pVertexBindingDescriptions
binding
stride
VkVertexInputRate inputRate
VK_VERTEX_INPUT_RATE_VERTEX
VK_VERTEX_INPUT_RATE_INSTANCE
vertexAttributeDescriptionCount
VkVertexInputAttributeDescription* pVertexAttributeDescriptions
location
binding
format
offset
VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState
sType
VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO
pNext
flags
VkPrimitiveTopology topology
VK_PRIMITIVE_TOPOLOGY_POINT_LIST
VK_PRIMITIVE_TOPOLOGY_LINE_LIST
VK_PRIMITIVE_TOPOLOGY_LINE_STRIP
VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST
VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP
VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN
VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY
VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY
VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY
VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY
VK_PRIMITIVE_TOPOLOGY_PATCH_LIST
bool primitiveRestartEnable
VkPipelineTessellationStateCreateInfo* pTessellationState
sType
VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO
pNext
flags
patchControlPoints
VkPipelineViewportStateCreateInfo* pViewportState
sType
VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO
pNext
VkPipelineViewportStateCreateFlags flags
viewportCount
VkViewport* pViewports
float x
float y
float width
float height
float minDepth
float maxDepth
scissorCount
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
VK_POLYGON_MODE_POINT
VkCullModeFlags cullMode
VK_CULL_MODE_NONE
VK_CULL_MODE_FRONT_BIT
VK_CULL_MODE_BACK_BIT
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
flags
VkSampleCountFlagBits rasterizationSamples
VK_SAMPLE_COUNT_1_BIT
VK_SAMPLE_COUNT_2_BIT
VK_SAMPLE_COUNT_4_BIT
VK_SAMPLE_COUNT_8_BIT
VK_SAMPLE_COUNT_16_BIT
VK_SAMPLE_COUNT_32_BIT
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
VK_COMPARE_OP_NEVER
VK_COMPARE_OP_LESS
VK_COMPARE_OP_EQUAL
VK_COMPARE_OP_LESS_OR_EQUAL
VK_COMPARE_OP_GREATER
VK_COMPARE_OP_NOT_EQUAL
VK_COMPARE_OP_GREATER_OR_EQUAL
VK_COMPARE_OP_ALWAYS
bool depthBoundsTestEnable
bool stencilTestEnable
VkStencilOpState front
VkStencilOp failOp
VK_STENCIL_OP_KEEP
VK_STENCIL_OP_ZERO
VK_STENCIL_OP_REPLACE
VK_STENCIL_OP_INCREMENT_AND_CLAMP
VK_STENCIL_OP_DECREMENT_AND_CLAMP
VK_STENCIL_OP_INVERT
VK_STENCIL_OP_INCREMENT_AND_WRAP
VK_STENCIL_OP_DECREMENT_AND_WRAP
VkStencilOp passOp
VkStencilOp depthFailOp
VkCompareOp compareOp
compareMask
writeMask
reference
VkStencilOpState back
float minDepthBounds
float maxDepthBounds
VkPipelineColorBlendStateCreateInfo* pColorBlendState
sType
VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO
pNext
flags
bool logicOpEnable
VkLogicOp logicOp
VK_LOGIC_OP_CLEAR
VK_LOGIC_OP_AND
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
VK_LOGIC_OP_EQUIVALENT
VK_LOGIC_OP_INVERT
VK_LOGIC_OP_OR_REVERSE
VK_LOGIC_OP_COPY_INVERTED
VK_LOGIC_OP_OR_INVERTED
VK_LOGIC_OP_NAND
VK_LOGIC_OP_SET
attachmentCount
VkPipelineColorBlendAttachmentState* pAttachments
bool blendEnable
VkBlendFactor srcColorBlendFactor
VK_BLEND_FACTOR_ZERO
VK_BLEND_FACTOR_ONE
VK_BLEND_FACTOR_SRC_COLOR
VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR
VK_BLEND_FACTOR_DST_COLOR
VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR
VK_BLEND_FACTOR_SRC_ALPHA
VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA
VK_BLEND_FACTOR_DST_ALPHA
VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA
VK_BLEND_FACTOR_CONSTANT_COLOR
VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR
VK_BLEND_FACTOR_CONSTANT_ALPHA
VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA
VK_BLEND_FACTOR_SRC_ALPHA_SATURATE
VK_BLEND_FACTOR_SRC1_COLOR
VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR
VK_BLEND_FACTOR_SRC1_ALPHA
VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA
VkBlendFactor dstColorBlendFactor
VkBlendOp colorBlendOp
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
VkBlendFactor dstAlphaBlendFactor
VkBlendOp alphaBlendOp
VkColorComponentFlags colorWriteMask
VK_COLOR_COMPONENT_R_BIT
VK_COLOR_COMPONENT_G_BIT
VK_COLOR_COMPONENT_B_BIT
VK_COLOR_COMPONENT_A_BIT
float blendConstants[4]
VkPipelineDynamicStateCreateInfo* pDynamicState
sType
VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO
pNext
flags
dynamicStateCount
pDynamicStates
VK_DYNAMIC_STATE_VIEWPORT
VK_DYNAMIC_STATE_SCISSOR
VK_DYNAMIC_STATE_LINE_WIDTH
......
VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT
layout
vkCreatePipelineLayout的结果
renderPass
vkCreateRenderPass2KHR/vkCreateRenderPass 的结果
subpass
basePipelineHandle
basePipelineIndex
0 条评论
下一页