Researchers at CMU and NVIDIA have developed an open source shading language and compiler framework named Spire enhanced to support shader components for high-performance rendering. The Spire compiler can generate either GLSL or SPIR-V output for use with OpenGL and Vulkan based engines. The work interfaces with a modernmini 3D engine that supports equivalent back-ends for both OpenGL and Vulkan. The researchers will present this year’s work at SIGGRAPH next week which builds on a paper from last year’s SIGGRAPH.
The glTF working group has announced that the Blender glTF 2.0 exporter documentation is complete… for now. Take a look, and if anything is not clear, or you see errors or improvements, please create a pull request or raise an issue on Github.
Attending SIGGRAPH 2017 next week? OpenGL developers should attend this free NVIDIA session on Monday, July 31 to get the most out of OpenGL on Quadro, GeForce, and Tegra GPUs. Hear from an OpenGL expert at NVIDIA how the OpenGL continues to evolve. See how NVIDIA’s Nsight developer tools make OpenGL development easier for you. Learn how your application can benefit from NVIDIA advancing OpenGL as a cross-platform, open industry standard. See this schedule for a complete list of NVIDIA content at SIGGRAPH.
With help from Khronos member Collabora, employee Alexandros Frantzis created vkmark, which aims to provide an extensible suite of targeted, configurable benchmarking scenes for Vulkan. Most scenes exercise specific Vulkan features or usage patterns (e.g., desktop 2.5D scenarios), although we are also happy to have more complex, visually intriguing scenes. vkmark Vulkan benchmark is available on GitHub.
One of the key differences between OpenGL and Vulkan -and something that needs careful consideration when porting to Vulkan, is the coordinate system. Vulkan requires the right hand NDC space compared to GL that requires the left hand. Learn about the KHR_VK_maintainance1 extension and see how AnKi is flipping the viewport.
The newest Apple iMac 21.5-inch with Retina 4K display (mid-2017) has scored quite well on the CineBench R15 OpenGL benchmark. The 2015 21.5-inch iMac managed 47fps while the new 2017 model scored 94 fps.
Intel has released their Graphics Driver 15.46 to provide launch support, as well as bugfixes, feature updates, Computer Vision and AI application development support, and support for Windows 10 Creator’s Update features. The driver is only for Windows 10 64-bit. Intel has enabled additional OpenCL media extensions, as well as a few preview extensions. In addition, 15.46 brings support for OpenGL v4.5, Vulkan v1.0.38, and programmable sample positions in Direct3D12.
Stephanie Hurlburt, one founder of Khronos member Binomial recently put out a call for beginner-friendly ways to learn Vulkan. The result is a nicely curated list of Vulkan Tutorials that one can call beginner level. Read more about Stephanie’s thoughts on learning Vulkan, and then dive in yourself.
ArrayFire announced the release of ArrayFire v3.5, an open source library of parallel computing functions supporting CUDA, OpenCL, and CPU devices. This new version of ArrayFire improves features and performance for applications in machine learning, computer vision, signal processing, statistics, finance, and more. Release notes are available and the source code can be found on Github.
LunarG has released an update to their SDK for Vulkan 188.8.131.52. Lots of changes include new groups of extension functionality: external fence extensions, external semaphore extensions, external memory extensions, storage memory extensions and additional vendor and cross-vendor extensions. Learn more about the LunarG Vulkan SDK.
In collaboration with Google, Codeplay is proud to announce the release of a new open-source tool allowing the compilation of OpenCL C language kernels to run on the Vulkan API. The tool, named ‘clspv’, allows a subset of the OpenCL C language to be targeted at the Vulkan API. This tool allows developers to port code containing more than a million lines of OpenCL C to run on the Vulkan API. The source is available on Github.
Shenzhen Goke Semiconductor Co., Ltd (SGKS) has selected VeriSilicon Vivante GC7000UL-VX for the SGKS6802X Advanced Driver-Assistance Systems (ADAS) chip, part of SGKS’s ADAS product line used by automotive electronic components partners. The GC7000UL-VX is uniquely suitable for ADAS products with deep and efficient integration of vision and graphic processing in one IP that provides comprehensive and unified software stack support including OpenVX, OpenCV, OpenCL, OpenGL ES 3.1, and Vulkan 1.0.
Starting with v3.0, Babylon.js supports rendering using WebGL1 and WebGL2 contexts. The support is transparent for developers. By default the engine tries to get a WebGL2 context. If none is available then a WebGL1 one is retrieved. Learn more about Babylon.js v3.0 or get started on Github.
The Vulkan working group has released a major Vulkan 1.0 specification update that adds eighteen new KHR extensions. They include KHR replacements for the experimental KHX_external_memory_* and KHX_external_semaphore_* extensions released earlier this year, incorporating changes based on developer and implementer feedback. The release also adds a set of KHR_external_fence_* extensions. Together, these extensions allow applications to share memory and synchronization primitives across process and API boundaries. Two new extensions, KHR_dedicated_allocation and KHR_get_memory_requirements2, provide more expressive and extensible ways for applications to optimize their GPU memory allocation policies. KHR_16bit_storage, KHR_storage_buffer_storage_class, and KHR_variable_pointer allow Vulkan implementations to accept shader programs containing new programming constructs recently added to the SPIR-V intermediate shading language.
The new extensions are accompanied by a new release of the Vulkan 1.0 conformance test that checks that the new extensions are implemented correctly, and a new Vulkan SDK that provides loader and validation support and a snapshot of a compatible release of the GLSLang shader compiler. All of the new extensions are supported in the latest NVIDIA drivers, and support from other GPU vendors is in progress.
For more information, see the Vulkan Changelog
Microsoft announced updates to Paint 3D: Magic select enhancements & drawing tools. Paint 3D also now supports a new industry-wide open standard for 3D file sharing called GLB, a part of gLTF (GL Transmission Format). This allows for faster and more efficient transfer of 3D assets by outputting only one container for all assets, minimizing the file size and the ability to use the files across other programs as a universal format. glTF (GL Transmission Format) is a royalty-free specification for the efficient transmission and loading of 3D scenes and models by applications. The glTF specification is managed by the Khronos Group.