1 – Release Notes
This new version of GeeXLab is available for Windows 64-bit, Linux 64-bit and Raspberry Pi OS 32-bit. I compiled the Linux version on Linux Mint 21 and the consequence is that GeeXLab for Linux is now linked with GLIBC 2.35.
GeeXLab 0.48.3.0 is a maintenance release and updates several libraries like Assimp, cglft, Python, SQLite 3 and FFmpeg. I’m currently working on the support of Intel Arc GPUs in the GPU monitoring plugin, that’s why new functions like get_gpu_eus() are popping up in the gh_gml library (GML = Gpu Monitoring Library). They are not functional yet but it’s just a matter of time…
GeeXLab 0.48.2.0 fixes and improves the drag and drop on Linux. I tested GeeXLab on the latest Kali Linux 2022.3 and I wasn’t able to drag and drop demos from Thunar (default file manager on Kali). I debugged my code during several hours and I finally found the bug in the management of the XdndEnter message (a pointer was incorrectly cast). I wonder how this code was able to work with other file managers… Now, the drag and drop should work anywhere. I tested with Thunar 4.16.2 (Kali Linux), with Dolphin 22.04.2 (Linux Garuda) and with PCManFM 1.3.2.
GeeXLab 0.48.1.0 for Linux has been compiled on Linux Mint 20.3, then GeeXLab is now linked again with GLIBC 2.31. Why ? Because I wanted to test GeeXLab on the new Kali Linux 2022.3 and it didn’t work because Kali uses GLIBC 2.33…
GeeXLab 0.48 comes with new functions to render 3D models with transparent surfaces in the gh_model lib: update_meshes_lists(), render_opaque_meshes() and render_transparent_meshes(). Thanks to these functions, you can render transparent surfaces after opaque ones and have a better control on the depth test and color blending when rendering transparent surfaces.
The OpenGL renderer supports features like GL_ARB_create_context_robustness or GL_ARB_create_context_no_error. To enable these features, just add to the XML window node the following attributes:
I updated some OpenGL 3 shaders (in Lua and Python libs) to make them running with Radeon GPUs + Adrenalin 22.7.1.
And nice news, the Vulkan plugin works on Raspberry Pi 4! More on this news in an upcoming article.
2 – Changelog
This changelog is intended for all versions of GeeXLab.
Full changelog from beginning of time is available HERE.
Version 0.48.3.0 - 2022.09.14 ! (2022.09.14) updated Assimp plugin with Assimp 5.2.5. ! (2022.09.14) updated cgltf core plugin with version 1.13. ! (2022.08.14) (win64) updated Python 3.10 plugin with latest Python 3.10.7. ! (2022.09.14) updated SQLite engine with latest version 3.39.3 ! (2022.09.14) (win64) updated glslangValidator.exe in spirv/ folder + (2022.09.06) added get_gpu_eus() to gh_gml lib. ! (2022.09.02) updated FFmpeg plugin with FFmpeg 5.1.1 SDK. * (2022.08.17) fixed a bug in the FFmpeg plugin that prevented a video from looping. Version 0.48.2.0 - 2022.08.12 * (2022.08.12) (linux64) fixed drag and drop. Now the drag and drop from file managers like Thunar works fine. ! (2022.08.12) the log file is no longer cleared between demos. Version 0.48.1.0 - 2022.08.08 ! (2022.08.08) (Windows) improved audio video synchronization and seeking in FFmpeg plugin. ! (2022.08.04) (Windows) updated Python 3.10 plugin with latest Python 3.10.6. + (2022.08.04) (Windows only) added ini_file_read() and ini_file_write() to gh_utils. + (2022.08.04) added file_check() and file_create() to gh_utils. Version 0.48.0.0 - 2022.08.08 ! (2022.07.31) (Windows, Linux) updated FFmpeg plugin with latest FFmpeg 5.1 SDK. + (2022.07.30) added support of GL_ARB_create_context_robustness, GL_ARB_create_context_no_error and GL_KHR_context_flush_control on Windows and Linux. New attributes in the XML window node: gl_context_no_error, gl_context_robustness and gl_context_release_none. * (2022.07.30) added a workaround for OpenGL 3+ in lua/libfont1.lua and lua/libfont2.lua shaders to make AMD Radeon GPUs and Adrenalin 22.7.1+ happy. ! (2022.07.27) updated GPU monitoring plugin with AMD ADL 17.0. ! (2022.07.13) GPU monitoring: improved detection of Radeon GPUs. ! (2022.07.13) GPU monitoring: added support of Radeon RX 6700. + (2022.07.05) added new functions to gh_model: update_meshes_lists, render_opaque_meshes, render_transparent_meshes, get_num_opaque_meshes, get_num_transparent_meshes, render_opaque_mesh and render_transparent_mesh. + (2022.07.05) added new functions to gh_material: get_material, set_opacity, get_opacity, set_shininess, get_shininess, set_ambient, get_ambient, set_diffuse, get_diffuse, set_specular and get_specular. + (2022.07.04) added load_textures_v2() and load_textures_from_zip_v2() to gh_model with new argument to specify pixel format. + (2022.07.02) added NVIDIA NVML Python library to python3.