然而,更精确的控制意味着更复杂的细节。这需要我们在应用程序中正确地做更多的工作,包括创建初始帧缓冲区和管理缓冲区和纹理图像的内存。
Vulkan并不适合所有人,它是为追求计算机图形性能极限的程序员设计的。如果你对游戏开发更感兴趣,或许OpenGL或者Direct3D更适合你,短期内它们依然会是主流。另一个选择是使用Unreal或者Unity engine,可以使用Vulkan,为你提供更高级别的API。目前有大量设备尚未支持Vulkan。
首先,随着显卡架构的成熟,提供了越来越多的可编程功能,这些功能集成到了原有的API中。它使得驱动程序的工作越来越复杂,应用程序开发人员不得不处理越来越多的兼容性问题。
其次,在过去的十年中,移动设备已经配备了强大的图形硬件,移动GPU基于其功耗和空间限制有不同的架构。例如,捆绑渲染可以通过为程序员提供更多的GPU控制功能来提高效率。
最后,过去API对多线程的支持也非常不足,可能会导致CPU瓶颈。
Vulkan完全按照现代图形架构设计,为开发者提供了更详细的API,大大降低了驱动的成本,允许多线程并行创建和提交指令,使用标准化的着色器字节码,统一了图形和计算功能API。
支持Vulkan的显卡和驱动程序(英伟达、AMD、英特尔、ARM、高通)。
c编程知识(c 11,熟悉RAII)
编译器(VisualStudio2013,GCC4.8,AndroidStudio)
计算机图形学基础
如何使用Vulkan基本图形和计算API:https://vulkan-tutorial.com/
Vulkan应用示例源代码:https://github.com/SaschaWillems/Vulkan
下载一个Vulkan规范:https://www.khronos.org/registry/vulkan/.
下一篇:梦见有人说我家里要死人了