We have rolled out a big upgrade to our GameWorks graphics API samples (formerly known as the OpenGL Samples) – we’ve added support for Vulkan in the framework on all platforms: Windows, Android, desktop Linux and Linux 4 Tegra! The source code and documentation are available today. Check them out at:
As a part of the samples pack, we’ve also released the source to the popular ThreadedRenderingVk Vulkan demo (often called “The Fish Demo”), originally debuted at GDC 16 and shown at Khronos Group events since then https://twitter.com/nvidiadeveloper/status/715240963321503745. In addition to some more basic Vulkan samples for new developers, this sample pack demonstrates multithreaded rendering in Vulkan, including multithreaded command buffer creation.
The ThreadedRenderingVk sample shows how Vulkan makes it possible to render millions of independent objects per second with multithreaded rendering. Not only can applications animate their objects from multiple threads, but they can even render them in parallel from multiple threads, creating independent command buffers. The techniques used in the sample are detailed in our GDC 2016 session, “High-Performance, Low-Overhead Rendering with OpenGL and Vulkan” (https://developer.nvidia.com/gdc-2016). On NVIDIA-based systems, you can even switch between OpenGL- and Vulkan-based rendering of the same scene on the fly!
In addition to the new Vulkan samples, we’ve added samples that demonstrate some of the latest OpenGL features and extensions, including; single-pass, efficient cubemap generation, OpenGL command lists, and antialiasing in a deferred shading engine.
Finally, we’ve continued our move toward GitHub by moving the web-based documentation to GitHub Pages, joining the existing source code repo. So check out the documentation for the new release at http://nvidiagameworks.github.io/GraphicsSamples/ and clone and try the source at https://github.com/NVIDIAGameWorks/GraphicsSamples !
Stay tuned for even more new samples and features as we move toward more frequent, targeted updates on GitHub!