我听说过vulkan会统一不同操作系统的初始化。这是否意味着vulkan创建窗口,处理鼠标/键盘事件,以便我可以避免使用特定于os的编程?
答案 0 :(得分:8)
不会。窗口创建将是特定于平台的,并且WSI扩展将允许您将窗口链接到可以推送到屏幕的可渲染图像。
根据已经发布的演示文稿中收集的信息,我希望您将使用特定于平台的WSI扩展来为您的窗口创建Swapchain。
然后,每当您想要将一个框架推到屏幕上时,您需要从交换链中获取一个可呈现的图像;渲染它然后呈现它。
从幻灯片109开始查看this slide pack。
答案 1 :(得分:5)
不,Vulkan是用于访问GPU的低级API。它不处理窗口和输入。事实上,它可以很容易地以“无头”方式使用,根本没有视觉输出。
答案 2 :(得分:3)
可能不是,Vulkan API是一个很像OpenGL的图形库。
Linux中的位置Ubuntu OpenGL用于Unity中桌面的动画效果,可以用Vulkan替换以获得更好的性能。
但我不认为Windows会改变它,因为他们拥有自己的DirectX图形库,如果他们使用别的东西而不是他们自己的软件会很奇怪。
大多数将从Vulkan中受益的应用程序是游戏和其他使用2D或3D渲染的软件。 大多数游戏很可能会改为Vulkan,因为它是跨平台的,因此他们将获得更多的用户,这相当于更多的利润。
Khronos(Vulkan API开发人员)也推出了大量将您的应用程序从OpenGL或DX12移植到Vulkan的工具,因此需要从软件开发人员那里进行较少的开发/移植。
所以... 窗口创建,可能。 (虽然窗口后面的代码是CPU端,但是在屏幕上绘制窗口的库可能正在使用Vulkan) - 这与您正在处理的操作系统,发行版和版本有很大不同。
鼠标/键盘事件,不,因为这不需要任何图形计算,只需CPU计算。