【发布时间】:2016-02-21 13:05:01
【问题描述】:
假设 Vulkan 已经初始化,你正在录制到命令缓冲区,你有一个帧缓冲区和一个渲染通道,如何使用 Vulkan 绘制原始 2D 几何形状?
vkCmdBeginRenderPass(command_buffer, &render_pass_info, VK_SUBPASS_CONTENTS_INLINE);
// Draw primitives here
vkCmdEndRenderPass(command_buffer);
【问题讨论】:
-
Stack Overflow 不是一个教程网站。回答这个问题需要解释:着色器和着色器编译、管道状态对象、管道、内存分配、内存同步、内存上传、用于顶点输入的缓冲区,以及可能的描述符集和/或推送常量。这对 SO 来说太过分了。那里有很多示例代码; Vulkan SDK 自带一些。
-
我还没有探索所有可用的 Vulkan 示例。但是我第一次在 Google 上搜索“Vulkan 单三角形示例”时出现了this,这似乎非常有用。如果您无法解决此示例包含颜色数据的事实,那么我怀疑您正在寻找可以复制并粘贴到代码中的内容,而不是您可以实际学习的内容。
-
网络上有大量的例子。至少看看官方网站:khronos.org/registry/vulkankhronos.org/vulkan 别忘了 LunarG 和供应商网站(例如 Nvidia)
标签: c++ graphics rendering vulkan