Laminar Research: Cloud Addons to Work in Vulkan
Laminar Research has announced cloud addons are to work in Vulkan, which is coming in the next major version of X-Plane 11.
Posting to their developer blog, Ben Supnik opened by describing how they have a private test program in place, working with third-party developers. It was said this is so that developers can find the limits and bugs in the compatibility code.
"While the initial bridge to connect OpenGL-based plugins to X-Plane worked pretty well, compatibility wasn’t perfect and we had a few bugs," wrote Ben Supnik.
"We also realized that we needed to change the design of that bridge to get much better compatibility. That rework of the bridge is now done and things are looking quite a bit better on all fronts.
"We found one unexpected result from this redesign: when we finished rewriting the bridge, we ended up with code that could, in the case of Vulkan only, be used for 3-d drawing. This means we can now support OpenGL-based weather/cloud plugins from inside a Vulkan render, which we did not think was possible before."
Essentially, weather plugins that draw in OpenGL can now draw in Vulkan. However, Metal (which will run on Mac) is not able to use the technique described above.
"This isn’t something we can fix with some future bit of cleverness – it’s a limitation of OS X’s APIs. (We would revisit this if Apple introduced a new API but I do not expect this to happen.)
"To be clear: on Windows what we are supporting is 3-d OpenGL drawing by plugins inside the Vulkan renderer, not native Vulkan rendering by plugins inside the Vulkan renderer.
"Native Vulkan rendering by plugins is an incredibly complex SDK problem, and not something we are looking at for 11.50."
As has been reiterated many times over the couple of years Vulkan/Metal has been in development for, 2D drawing will "just work".
He continued: "By comparison, OpenGL drawing inside Vulkan is going to require plugin authors to sign up for a new 3-d drawing callback.
"We’re making this opt-in because, during the beta, we’ve found a lot of add-ons using 3-d drawing callbacks inappropriately, and 3-d drawing callbacks are no longer free.
"By requiring plugins to opt-in when they _really_ want 3-d drawing in Vulkan, we should get better performance."
Supnik closed out by saying this is only meant for custom drawing like clouds, and that adding objects to the sim and drawing markings are "better handled with other APIs".
"Our plan is to have detailed guidance on what technique is best for developers by the time we are ready for public beta."
Today's news follows on from an update at the end of last year, detailing some of the changes to be expected.
Vulkan and Metal are to run alongside OpenGL, in a similar fashion to X-Plane 10 supporting 32-bit and 64-bit.