We have updated the X-Plane plugin SDK and related documentation for X-Plane 11.50. Here are some links:

New Plugin SDK: version 3.02 adds the new modern 3-d drawing callback for OpenGL/Vulkan, and deprecates the drawing callbacks that are unavailable in Vulkan/Metal. Download it here.

(Updating to the new SDK is not mandatory for your add-on to be Vulkan-compatible, but it can help catch drawing callbacks that will not work, and it is necessary to use the new 3-d drawing tech.)

Plugin Compatibility Guide: a short guide that focuses on issues existing plugins might have with X-Plane 11.50. If you are updating a plugin, read this!

OpenGL Drawing Guide: complete documentation for all aspects of drawing using OpenGL with X-Plane. If your plugin uses OpenGL, this is a must-read.

Drawing Over 3-d in 2-d: this sample code shows how to draw in a 2-d window or drawing callback with coordinates that match the 3-d world. Many 3-d plugins that draw need this kind of drawing, e.g. to label routes or aircraft with UI that matches the 3-d world.

Instancing Example Plugin: a sample plugin that draws objects using the XPLMInstancing APIs. Many add-ons will need to transition from object drawing to instancing to be compatible with Vulkan. We strongly recommend moving to instancing – it provides the fastest, most compatible drawing path, particle system support, and in the future will support FMOD sound.

Instancing is actually much easier to use than XPLMDrawObject and bypasses a lot of complexity and chaos. Instancing works with all versions of X-Plane 11, and the sample has everything you need.

About Ben Supnik

Ben is a software engineer who works on X-Plane; he spends most of his days drinking coffee and swearing at the computer -- sometimes at the same time.

6 comments on “Updated Plugin SDK, Docs and Sample Code for Vulkan/Metal

  1. Ben,

    I’m not a developer but fly X-Plane on Vatsim. Have you heard anything about developer using CSL’s with Vulkan?

    Dan

    1. I believe that all of the pilot client developers are aware that they need to migrate from XPLMDrawObject to XPLMInstancing to be Vulkan compatible.

  2. Hi Ben, hope you’re doing good in these difficult times. I’d like to ask if there’s a new beta-build on its way as mentioned (concerning the black screen e.g.)?

    1. No, they stopped working on that. Turned out that only people that like to ask off-topic questions in the Laminar dev blog comments are affected by that!

  3. Unrelated to Vulkan specifically, but will particle systems ever have a sound emitter added? I ask because while “guns” have a sound associated with them (i.e. “gun.wav”), none of the other weapons have “wav” sound counterparts (or at least, no documented “wav” sound counterparts). In my recently released TP-5J, which is a COVID-19 parody of the BD-5J, I added a couple of 20 mm cannons and I used particle systems to emit flame from the cannons. Couldn’t figure an easy way to add a sound for them without depending on code from my plugin. I could add sound via the plugin, of course, but since I don’t do Windows, only Linux and Mac would be supported. I’d like to have a “code-less” solution for adding cannon sounds.

Comments are closed.