总结

至此,我们已经具有了不错的Vulkan使用基础。可以开始深入探索Vulkan的更多特性,比如:

  • Push常量

  • 实例渲染

  • 动态uniform

  • 分离图像和采样器描述符

  • 管线缓存

  • 多线程指令缓冲生成

  • 多子流程

  • 计算着色器

我们可以在现有的程序上扩展支持许多特性,比如Blinn-Phong、后期处理、实时阴影。这些内容的实现方法可以在其它图形API的教程中找到,然后移植为Vulkan的API调用实现。

本章节代码:

C++:

https://vulkan-tutorial.com/code/28_mipmapping.cpp

Vertex Shader:

https://vulkan-tutorial.com/code/26_shader_depth.vert

Fragment Shader:

https://vulkan-tutorial.com/code/26_shader_depth.frag