我目前正在寻找一种在Swing上下文中显示Vulkan渲染的方法
我已经注意到,JOGL的GLJPanel允许我获得基础的原生表面,这是为Vulkan提供要渲染的表面所必需的,我以为可以在其中显示Vulkan,但我当我调用vkGetPhysicalDeviceSurfaceFormat时,在vulkan-1.dll中获得EXCEPTION_ACCESS_VIOLATION
显然我不认为会这么简单,但是仍然令我惊讶的是,当我处理一个本机表面时,会发生此问题,而本机表面例如由glfw生成时效果很好
有什么我想念的吗?
答案 0 :(得分:1)
JOGL允许我获取基础的原生表面,这是将曲面提供给Vulkan渲染所需要的
...
vkGetPhysicalDeviceSurfaceFormat
您是否建议您将JOGL所获得的表面信息直接传递给vkGetPhysicalDeviceSurfaceFormat
?那行不通。您需要使用列出的here中的一种表面创建功能,并且需要确保在创建实例时,您请求了适当的扩展,即VK_KHR_SURFACE_EXTENSION_NAME
以及您需要的平台特定扩展,例如{{1 }}或VK_KHR_WIN32_SURFACE_EXTENSION_NAME
等
不包括您正在使用的代码,即可创建表面并将其传递给VK_KHR_ANDROID_SURFACE_EXTENSION_NAME
,因此无法进行更多的诊断。