vulkan画正方形--Apple的学习笔记

官网的example是画三角形的二维彩色图片。然后官网的教程我还没有看到索引缓冲器,那个章节会将三角形变为正方形二维彩色图片。
而我今天要做的是画线。之前以为vulkan的base图形只有三角形。原来还是有线的。

画正方形

我通过目前的vulkan spec及sample教程学习,验证下我否有能力画正方形了吗?试下吧

修改代码
1.inputAssembly.topology = VK_PRIMITIVE_TOPOLOGY_LINE_STRIP;//VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST;
2.vkCmdDraw(commandBuffers[i], 5, 1, 0, 0);中原来为3个点,改成5个点。
3.由于我还添加了一句,否则验证层会报警。deviceFeatures.fillModeNonSolid = 1; //by apple

  1. 修改shader.vert如下
    vec2 positions[5] = vec2[](
    vec2(0.0,0.0),
    vec2(1.0,0.0),
    vec2(1.0,1.0),
    vec2(0.0,1.0),
    vec2(0.0,0.0)
    );
  2. 由于我不填充,所有颜色改成红色。修改shader.frag如下
    outColor = vec4(1.0, 0.0, 0.0, 1.0);//vec4(fragColor, 1.0);

测试成功,心想事成V

画矩形.png

你可能感兴趣的:(vulkan画正方形--Apple的学习笔记)