Fortnightly: GPGPU and Vectra Exhibition

Fortnightly ish. I may have missed one.

It’s been a decent month! I’ve been insanely busy at work so haven’t had much time for coding until this long weekend, but some things were done!

I was asked by a friend to give a Vive demo at an event he was setting up. Since the event was music-focused, I decided to make Vectra what I’d show. There was a fair bit to do to get Vectra ‘demo-proof’. The main thing was that I needed to add a UI. A few days of furious hacking later, I wound up with a pretty rubbish radial UI controlled with the touchpads, a little more polish, and some more sophisticated sound options. Calling it version 0.2, it was a pretty decent success (people seemed to enjoy themselves), and in a state where I’d consider it ready to be downloaded.

Before I post a build though, I’ll need to package it up all nicely, make some screenshots, a demo video, etc. I’m going to try and get that done sometime in the next few days.

But this long weekend has been great – in exploring options to improve Vectra’s performance, I decided it was finally time to knuckle down and teach myself GPGPU programming. For those unfamiliar, the elevator pitch for GPGPU (General Purpose Graphics Processing Unit – which is a bit of an oxymoron!) coding is rather than having the GPU take in mesh data and render pixels to the screen, you can use the massively parallelized GPU architecture to do programming tasks well suited to many small operations insanely quickly. Typically┬áthousands of times faster than a CPU can do it. Some classic examples are image processing, cryptography and physics simulations.

Saturday was spent figuring out the basics – and then I spent Sunday writing my first test GPU app for VR – a simple GPU voxel-particle simulation with the Vive controllers outputting gravitational fields. Turns out it’s preeettty sweet, so I took a video and some screenshots, and will upload a build the moment this post is done.

Now that I understand how compute shaders work, I feel that a whole new beautiful world is open to me! :’)

Anyway, that’s all for now folks. Take care!

Leave a Reply

Your email address will not be published. Required fields are marked *