快捷搜索:  汽车  科技

vulkan怎么获取支持(Vulkan基础1)

vulkan怎么获取支持(Vulkan基础1)Vulkan完全按照现代图形架构设计,给开发者提供了更加详细的API ,大大减少了驱动程序的开销,允许多个线程并行创建和提交指令,使用标准化的着色器字节码,并且将图形和计算功能API进行统一。最后,过去的APIs对多线程的支持也非常不足,可能导致CPU方面的瓶颈。以往许多图形API采用固定功能渲染管线设计,程序员必须按照标准格式提供顶点数据,并且在光照和着色选项受GPU制造商的支配。首先,随着显卡架构逐渐成熟,提供了越来越多的可编程功能,这些功能被集成到原有的API中。使得驱动程序要做的工作越来越复杂,应用程序开发者要处理的兼容性问题也越来越多。其次,过去十年移动设备配备了功能强大的图形硬件,移动GPU基于他们的功耗和空间限制拥有不同的架构,例如Tied-rendering可以通过给程序员提供更多的GPU控制功能来提升效率。

关于

Vulkan是Khronos组织(以OpenGL闻名)发布的新一代图形API。这一新的API可以更好地抽象了当前主流的显卡,并且相比于OpenGL 和Direct3D,拥有更好的性能,更轻便的驱动程序。Vulkan 在设计上类似于Direct3D 12 和Metal,但比之后两者,Vulkan是跨平台的,可以在Windows,Linux和Android平台上使用。

vulkan怎么获取支持(Vulkan基础1)(1)

然而更精准的控制,意味着更繁琐的细节。这就需要我们在应用程序中正确地做更多的工作,其中包括创建初始时使用的帧缓冲,及对缓冲和纹理图像的内存管理。

Vulkan并非适合所有人,它是为追求计算机图形性能极限程序员设计的。如果你对游戏开发更感兴趣,或许OpenGL或者Direct3D更适合你,它们在短期内仍然会是主流,另外一种可选方案是使用Unreal或是Unity引擎,他们可以使用Vulkan且给你提供了更高级别的API。目前还有大量的设备尚未支持Vulkan。


vulkan怎么获取支持(Vulkan基础1)(2)

Vulkan起源

以往许多图形API采用固定功能渲染管线设计,程序员必须按照标准格式提供顶点数据,并且在光照和着色选项受GPU制造商的支配。

首先,随着显卡架构逐渐成熟,提供了越来越多的可编程功能,这些功能被集成到原有的API中。使得驱动程序要做的工作越来越复杂,应用程序开发者要处理的兼容性问题也越来越多。

其次,过去十年移动设备配备了功能强大的图形硬件,移动GPU基于他们的功耗和空间限制拥有不同的架构,例如Tied-rendering可以通过给程序员提供更多的GPU控制功能来提升效率。

最后,过去的APIs对多线程的支持也非常不足,可能导致CPU方面的瓶颈。

Vulkan完全按照现代图形架构设计,给开发者提供了更加详细的API ,大大减少了驱动程序的开销,允许多个线程并行创建和提交指令,使用标准化的着色器字节码,并且将图形和计算功能API进行统一。

必要前提

为了上手Vulkan应用开发,需要具备些条件:

• 支持Vulkan 的显卡以及驱动程序(NVIDIA,AMD,Intel ARM Qualcomm)

• C 编程知识(c 11 熟悉RAII)

• 编译器(Visual Studio 2013 ,GCC 4.8 ,Android Studio)

• 计算机图形学基础


学习资源:

•帮助了解图形学方面的知识:https://learnopengl.com/

•如何使用Vulkan基本图形和计算API:https://vulkan-tutorial.com/

•Vulkan应用示例源码:https://github.com/SaschaWillems/Vulkan

•下载一份Vulkan规范:https://www.khronos.org/registry/vulkan/


拓展知识:

Khronos Group 是由其成员所提供之基金支持的行业协会,专注于创立开放标准,免授权费的移动设备接口程序API 用以实现多样化平台及设备上的高质量动态多媒体创作和加速。其设立的部分标准:


vulkan怎么获取支持(Vulkan基础1)(3)

猜您喜欢: