Vulkanized version of GeeXLab available for Windows and Linux


A new version of GeeXLab is ready and one of the most important new features is the support of Vulkan.

Like for Direct3D 12, the Vulkan support is far from complete, but most of the basic functionalities are available. You can render meshes, loading textures, creating pipeline objects and GPU buffers, loading SPIR-V shaders. You can check this thread on Geeks3D forums for latest news about Vulkan support in GeeXLab.


It’s incredible to see the number of lines of code you need just to draw a RGB triangle in Vulkan. The low level nature of these APIs (VK and D3D12) explains why it takes a lot of time to get the most out of Direct3D 12 and Vulkan. New features (render targets, shadow mapping, multi-GPU rendering, etc.) will be added as soon as possible.

I will post details about how to vulkanize a GeeXLab demo, but now, if you want to play with Vulkan, several code samples are available in the vk/ folder of the code sample pack.


GeeXLab + TrueType fonts + Vulkan
GeeXLab + Linux + Vulkan + True Type fonts

 

GeeXLab + Torus mesh + Vulkan
A phong textured mesh in Vulkan

 
All Vulkan code samples work fine with NVIDIA GPUs (tested with latest R364.91 on Windows 10 and with R364.12 on Linux). Most of the code samples work with Intel GPUs (tested with Intel v4404 graphics driver). Some code samples do not work and crash with AMD GPUs (tested with latest Crimson 16.4.1 on Windows 10). Do not hesitate to post feedbacks here or in the forum, that will help me to improve the Vulkan plugin.

The Vulkan support is not the only change in GeeXLab 0.10.x. Here are the main:
– a new startup scene
– a fully revamped code sample pack
– a new True Type font lib
– the support of STL objects
– bugfixes and improvements (vertex pool initialization)

These changes are important ingredients of this new version. All details about GeeXLab 0.10.0 can be found in THIS POST.


GeeXLab

 
The Mac OS X, Raspberry Pi and Windows 32-bit versions of GeeXLab will be released shortly with an up to date reference guide (my nightmare!).

You can download GeeXLab 0.10.0.0 and the code sample pack from THIS PAGE.



One comment

  • sfsdf

    Good improvements.
    “– the support of STL objects”
    Could you look into glTF, it’s a very interesting format for your uses:
    https://www.khronos.org/gltf
    “Efficient, Interoperable Transmission of 3D Scenes and Models

    glTF™ 1.0 (GL Transmission Format) is a royalty-free specification for the efficient transmission and loading of 3D scenes and models by applications. glTF minimizes both the size of 3D assets, and the runtime processing needed by applications using WebGL™ and OpenGL®-family APIs to unpack and use those assets. glTF defines a common publishing format for 3D content tools and services that streamlines authoring workflows and enables interoperable use of content across the industry.”

    https://github.com/KhronosGroup/glTF
    glTF – the runtime asset format for WebGL, OpenGL ES, and OpenGL.

    KhronosGroup/glTF/COLLADA2GLTF/
    https://github.com/KhronosGroup/glTF/tree/master/COLLADA2GLTF