Vulkan on Android
Get going quickly with Vulkan on Android using NVIDIA's extensive developer materials and the ultimate Android development platform, NVIDIA SHIELD.
Getting Started with Vulkan on Android
Vulkan is the latest and most cutting edge 3D programming API for Android games and 3D applications. Built by experts from across the industry working together through Khronos, the Vulkan API provides common low level access to 3D hardware on a range of operating systems. To learn how to use Vulkan on Android and for all the latest Vulkan techniques, check out NVIDIA's developer information below and NVIDIA's main Vulkan developer hub.
We have been using NVIDIA hardware and drivers on both Windows and Android for Vulkan development, and the reductions in CPU overhead have been impressive.John Carmack, Chief Technology Officer, Oculus
Vulkan Readiness on Android & NVIDIA SHIELD
NVIDIA is the world leader in visual computing and is supporting Vulkan with information, developer guides and drivers across a large range of NVIDIA graphics cards for the desktop and NVIDIA SHIELD devices.
Vulkan 1.0 is supported on NVIDIA SHIELD TV (OTA 3.0.0), SHIELD TABLET K1 (OTA 1.2.0), and SHIELD TABLET (OTA 4.1.0) with Android 6.0 “Marshmallow” and later.
Vulkan driver updates and additional extensions have been regularly delivered via subsequent OTAs.
Vulkan 1.1 is supported on NVIDIA SHIELD TV, with Android 8.0 “Oreo” and later (Shield Experience 7.0 OTA).
SHIELD ANDROID TV is the latest offering in the SHIELD family and is powered by the advanced NVIDIA Tegra X1 processor. Running Android TV and offering the highest Android performance, full game controller input and highly tuned audio, the SHIELD ANDROID TV offers developers the ultimate Android development platform and a new way to engage with users directly in their living rooms.
To check the SHIELD OS version, boot the device, go to Settings->About->Version. If your device has not yet recieved the required OTA, click the "Check for Updates" option in Settings->About, or check the SHIELD forums, Vulkan forums or SHIELD support site for more information.
Vulkan Android Development
Android developers wanting to begin with Vulkan and start taking advantage of the new API, you can start now! Using a Vulkan ready device (see above) you can setup a Vulkan application and start making API calls to the device's 3D hardware straight away. To do so, refer to the "Using the Vulkan API on NVIDIA SHIELD" document to correctly setup Vulkan in Android and on NVIDIA SHIELD devices.
Google now provides documentation detailing how to use Vulkan on Android on the official Android NDK documentation site. Vulkan will be officially supported in Android commencing with Android "N" but you can use Vulkan now on SHIELD using the techniques in the SHIELD documentation listed above.
Vulkan Android Samples
To assist developers getting up to speed with Vulkan and to demonstrate some of the benefits of the Vulkan API, NVIDIA's developer support engineers have prepared several samples. These samples are included along with the OpenGL and OpenGL ES samples and together form the NVIDIA GameWorks Graphics Samples. For a full listing of samples, documentation and source code, refer to NVIDIA's main GameWorks samples page.
Vulkan Threaded Rendering
- Category: Performance, Visuals
This sample uses the Vulkan API to render an aquarium of fish with multi-threaded rendering to animate the scene. It also optionally makes use of instanced meshes to render a high number of moving objects with minimal draw calls and includes a second OpenGL ES 3 rendering pipeline that the user can toggle to in real-time. NVIDIA has also created an accompanying sample that takes advantage of OpenGL with AZDO extensions. The source code for both samples is available on GitHub and from the NVIDIA GameWorks Vulkan and OpenGL Samples page.
- Category: Performance, Visuals
The Chopper demo uses the Vulkan API to render dozens of high quality helicopters at high framerate and low CPU overhead. The demo is available on launch day for Windows, Linux and Embedded (L4T) and will be available in the coming days for Android.
More Vulkan Information
Vulkan is a cutting-edge, industry supported, cross-platform 3D API. NVIDIA's developer support division has prepared a wealth of documentation and sample code to get you up to speed as quickly as possible. For more information on Vulkan generally and for drivers and installation guides for Windows, Linux and Linux4Tegra, check out the specific platform pages and NVIDIA's main Vulkan developer hub.