Java 在Swing中显示vulkan渲染

Java 在Swing中显示vulkan渲染,java,jogl,vulkan,Java,Jogl,Vulkan,我目前正在寻找一种在Swing上下文中显示Vulkan渲染的方法 我注意到,JOGL的GLJPanel允许我获得底层的本机曲面,这是为Vulkan提供要渲染的曲面所需的,我认为我可以在其中显示Vulkan,但在调用vkGetPhysicalDeviceSurfaceFormat时,我在Vulkan-1.dll中遇到异常访问冲突 显然,我并不认为它会那么简单,但仍然让我感到惊讶的是,这个问题发生在我操作本机曲面时,而本机曲面在使用glfw生成时效果非常好 我错过了什么吗 JOGL允许我获得底层的本

我目前正在寻找一种在Swing上下文中显示Vulkan渲染的方法

我注意到,JOGL的GLJPanel允许我获得底层的本机曲面,这是为Vulkan提供要渲染的曲面所需的,我认为我可以在其中显示Vulkan,但在调用vkGetPhysicalDeviceSurfaceFormat时,我在Vulkan-1.dll中遇到异常访问冲突

显然,我并不认为它会那么简单,但仍然让我感到惊讶的是,这个问题发生在我操作本机曲面时,而本机曲面在使用glfw生成时效果非常好

我错过了什么吗

JOGL允许我获得底层的本机曲面,这是为Vulkan提供要渲染的曲面所需的

vkGetPhysicalDeviceSurfaceFormat

您是否建议将从JOGL获得的曲面直接传递给
vkGetPhysicalDeviceSurfaceFormat
?那不行。您需要使用列出的曲面创建函数之一,并且需要确保在创建实例时,您请求了适当的扩展,例如,
VK\u KHR\u SURFACE\u EXTENSION\u NAME
以及您需要的任何特定于平台的扩展,如
VK\u KHR\u WIN32\u SURFACE\u EXTENSION\u NAME
VK\u KHR\u ANDROID\u SURFACE\u EXTENSION\u NAME
,等等


如果不包含正在使用的代码,则无法创建曲面并将其传递给
vkGetPhysicalDeviceSurfaceFormat
,这样就无法再进行诊断

JOGL是否已经创建了任何OpenGL上下文?如果存在,可能会有问题,因为规范不允许其他API使用相同的曲面/窗口。但我不确定硬件供应商如何处理这一问题,以及这是否会导致此类问题。但这是我们应该记住的。JOGL目前还不支持Vulkan,但请随意贡献:)是的,这是我一直在尝试的,我并不期待它能很好地工作,但我认为值得一试:)