[ANN] Golang Bindings for Vulkan API with demos

558 views
Skip to first unread message

Maxim Kupriianov

unread,
Aug 16, 2016, 6:51:37 PM8/16/16
to golang-nuts
Hi everyone!

I'd start from a little story. On 3rd March a Reddit user itsmontoya, a friend of mine, besides an ex-coworker, challenged me to do Go bindings for the Vulkan API that has been released officially that day. It was a fun idea since vulkan.h is a big chunk of a typical header code and I decided to accept it. In a couple of hours I got ~17KLOC of binding code for that header. Well, I had no idea where to get the implementation..

So it turned out that the implementation is a vendor-specific thing, and the fastest way to get it is to buy an android tablet from Nvidia. So I did that and after a couple of months (the parcel has been lost twice, so I reordered) the table tablet was mine. In order to be able create apps for android using the Android NDK without any fancy stuff being done with ANativeWindow, I dedicated some time in May to create the well discussed freamework http://github.com/xlab/android-go. It works cool with EGL/GLES/GLES2 but of course that was a side-effect. What I really did was the first Vulkan run on a device that got me the surface properties.

Since May my binding generator improved a lot due to feedback and bugs I got while binding those two beasts,
so in August I found some time on a weekend to create examples. And now I'm glad to announce the release.

Package github.com/vulkan-go/vulkan [1] provides Go bindings for Vulkan [2] — a low-overhead, cross-platform 3D graphics and compute API. And some demo apps [3] for Android for those who have got the supported devices.


Cheers!
- Max

P.S. still no generator release, but I may assure it's 99.9% ready now, after all this :P

Mirolim Mirzakhmedov

unread,
Aug 17, 2016, 6:53:09 AM8/17/16
to golang-nuts
This is nice, thanks for sharing!
Reply all
Reply to author
Forward
0 new messages