Cinder + Vulkan

At 6am PST today, both the Vulkan API and Cinder's first pass at support for it were released. The Khronos Group's work on the Vulkan API marks a genuine milestone in the progress of realtime graphics. This is the first open API designed around modern GPU's, and will expose performance opportunities through significantly reduced driver overhead and multithreading in particular.

The relevant Cinder code is available on the vulkan branch of our Github repository. The vast majority of this work is due to the incomparable Hai Nguyen.


Several samples have already been ported from OpenGL and are available in the samples/_vulkan and samples/_vulkan_explicit directories. Among these samples you'll also see Fish Tornado, a piece donated to the Vulkan effort by our own Robert Hodgin.

Please note that this release marks a very preliminary API design, and is an open invitation to the Cinder community (and beyond) to participate in designing ci::vk from the ground up. Many of the concepts in Vulkan have been previously inaccessible to user-level applications, and were instead solely the domain of the graphics drivers. Vulkan is by no means a panacea. Its usage is quite complex as compared to OpenGL, and we think finding the right balance between power and ease-of-use is an exciting challenge for the Cinder community to tackle head-on.

For the time being, our support for Vulkan is limited to Windows, but we're hoping to be making more platform-related announcements in the near future. To get started with this release, please read this Cinder forum post.