Nun, Punkte sind VK_PRIMITIVE_TOPOLOGY_POINT_LIST
und Schnurzughauptkörpers VK_PRIMITIVE_TOPOLOGY_LINE_STRIP
von VkPrimitiveTopology
ist.
Sondergrößen müssen von GPU/Treiber unterstützt werden. I.e. es kann einfach gemacht werden, wenn largePoints
resp. wideLines
von VkPhysicalDeviceFeatures
werden unterstützt. Dann unterliegen sie weiteren Einschränkungen von VkPhysicalDeviceLimits
.
Dann können Sie die Punktgröße ändern, indem Sie gl_PointSize
(wenn Sie GLSL
verwenden) in einem Nicht-Fragment-Shader schreiben.
Die Leitungsgröße wird bei der Pipelineerstellung (vkCreateGraphicsPipelines
) in VkPipelineRasterizationStateCreateInfo
mit lineWidth
geändert. Oder Sie können einen dynamischen Status erstellen (VkPipelineDynamicStateCreateInfo
mit VK_DYNAMIC_STATE_LINE_WIDTH
). In diesem Fall können Sie die Größe später bei der Aufzeichnung des Befehlspuffers mit vkCmdSetLineWidth
ändern.
Es sollte eine relativ einfache Änderung Ihrer typischen hello triangle App mit der Änderung der oben genannten (und die Scheitelpunktdaten natürlich) sein.