CppCon 2016 has ended
Back To Schedule
Wednesday, September 21 • 9:00am - 10:00am
Optimally Shooting Furry Balls out of Vulkanoes

Log in to save this to your schedule, view media, leave feedback and see who's attending!

Real-time 3D graphics rendering is commonly agreed upon as one of the more interesting haunting grounds for a programmer. Similarly, whether by way of presentations or canonical books, experts in the field talk about using C++ for rendering beautiful scenes. It is just that when looking at the “C++” bits they don’t quite seem…right. In effect, they frequently look like anything but what has come to be accepted as idiomatic, modern, good quality C++. And this was before the advent of a new generation of graphics APIs whose claim to fame is being “low-level”, and thus, in some sense, even more abstraction adverse. One must wonder, is this the only way to get pixels on our HiDPI screens to light up in pleasing patterns?
Having been on the receiving end of more than one “this uses modern C++, and no function-like macros, how can it possibly work for what we do?” tirades, the talk’s author thinks that a better way exists. Attendees will see that it is possible to write beautiful, clean, portable C++ that yields beautiful graphics by leveraging the recently released Vulkan API. Using bottoms-up design, a minimal yet sufficient set of generic abstractions emerges, freeing programmers from the burden of dealing with API idiosyncrasies. The best part? These abstractions will be derived live, by the audience and the presenter, and we will see that the essence of things is straightforward, and not some mysterious ineffable quantity only known to a handful of gurus.

avatar for Alexandru Voicu

Alexandru Voicu

Until recently, I was a Senior Software Engineer at Imagination Technologies, where I did my best to drive GPUs towards painting the prettiest pixels imaginable in no more than 16.6 milliseconds per masterpiece. A large part of my work concerned itself with obtaining generic C++ abstractions... Read More →

Wednesday September 21, 2016 9:00am - 10:00am PDT
Kantner (Room 403) Meydenbauer Center