Tessellation involves three pipeline stages. First, a tessellation control shader transforms control points of a patch and can produce per-patch data. Second, a fixed-function tessellator generates multiple primitives corresponding to a tessellation of the patch in (u,v) or (u,v,w) parameter space. Third, a tessellation evaluation shader transforms the vertices of the tessellated patch, for example to compute their positions and attributes as part of the tessellated surface. The tessellator is enabled when the pipeline contains both a tessellation control shader and a tessellation evaluation shader.


Tessellator Patch Discard

Tessellator Spacing

Tessellation Primitive Ordering

Tessellator Vertex Winding Order

Triangle Tessellation

Quad Tessellation

Isoline Tessellation

Tessellation Point Mode

Tessellation Pipeline State

typedef struct VkPipelineTessellationStateCreateInfo { VkStructureType const void* VkPipelineTessellationStateCreateFlags uint32_t } VkPipelineTessellationStateCreateInfo; sType; pNext; flags; patchControlPoints;

bool FVulkanPipelineStateCacheManager::CreateGfxPipelineFromEntry(FVulkanRHIGraphicsPipelineState* PSO, FVulkanShader* Shaders[ShaderStage::NumStages], VkPipeline* Pipeline)



原创技术文章,撰写不易,转载请注明出处:电子设备中的画家|王烁 于 2021 年 5 月 10 日发表,原文链接(http://geekfaner.com/shineengine/blog20_Vulkanv1.2_6.html)