教程结构
我们首先简要介绍Vulkan的工作原理,然后介绍如何使用Vulkan在屏幕上绘制一个三角形。接着,我们介绍如何配置开发环境来使用Vulkan SDK,在这里,我们还引入了GLM库来进行线性代数运算,引入了GLFW库来进行窗口的创建。教程包含了在Windows上使用Visual Studio的配置方法,在Ubuntu上使用GCC的配置方法。
之后,我们将会实现Vulkan绘制三角形的必要部分。每一章节大致遵循下面的结构:
-
介绍新概念,以及它的用途
-
将与之相关的API调用集成到我们的程序中去
-
封装辅助函数
尽管章节的组织有一定顺序,但对于部分章节,完全可以独立阅读,作为一个Vulkan特性的介绍。也就是说,除了作为教程外,本书可以作为Vulkan的一个参考手册,当作字典来查询。书中所有Vulkan函数和类型都被超链接到了Vulkan规范,可以通过鼠标点击,获取它们更加详细的信息。由于Vulkan是一个非常新的API,它的规范文档可能存在许多不足,读者可以提交反馈给Khronos的Github仓库。
之前提到,为了更精准地控制硬件,使用Vulkan需要处理大量细节。这造成许多很基础的操作也需要编写很多代码才能完成。为了简化这类操作的处理,我们会编写一些辅助函数。
每一章节也都包含了总结,以及到此为止的完整代码的超链接。如果读者存在疑惑的地方,可以参考这些代码。这些代码经过了多个不同厂商的显卡测试。
Vulkan是一个非常新的图形API,有关它的最佳实践尚未建立。如果你对本书有任何建议,可以提交反馈到Github仓库。
完成使用Vulkan绘制三角形的程序后,我们将对其进行扩展,引入线性变换,纹理和三维模型。
如果读者在之前使用过图形API,应该知道在几何体显示到屏幕之前,需要经过很多步骤。使用Vulkan同样是这样,但这些步骤很容易理解,并且每一步都不多余。绘制三维模型采取的步骤并不比绘制三角形所采取的步骤多很多。
如果在实践本书的过程中遇到问题,读者可以先查看本书的FAQ,是否存在关于这一问题的解决方案,没有的话,欢迎在相关章节进行评论来寻求帮助。
准备好体验高性能次世代图形API了吗?让我们开始吧!