demo | HackLAB https://www.geeks3d.com/hacklab 3D Programming, Prototyping and Gamedev with GeeXLab Sat, 05 Oct 2024 10:16:31 +0000 en-US hourly 1 https://wordpress.org/?v=6.7.1 GeeXLab 0.60 released for Windows, Linux and ARM64 (*** UPDATED: v0.60.2 for Windows ***) https://www.geeks3d.com/hacklab/20241001/geexlab-0-60-released-for-windows-linux-and-arm64/ https://www.geeks3d.com/hacklab/20241001/geexlab-0-60-released-for-windows-linux-and-arm64/#respond Tue, 01 Oct 2024 09:03:29 +0000 https://www.geeks3d.com/hacklab/?p=1754 GeeXLab 0.60.0, the best prototyping engine in the known universe and beyond, is out on Windows, Linux and Raspberry Pi platforms with bug fixes + improvements.

The post GeeXLab 0.60 released for Windows, Linux and ARM64 (*** UPDATED: v0.60.2 for Windows ***) first appeared on HackLAB.]]>

1 – Downloads



Downloads

 

2 – Release Notes

GeeXLab 0.60.0 is available for Windows 32/64-bit, Linux 64-bit (GLIBC 2.31) and ARM64 (GLIBC 2.36).

This new version of GeeXLab brings many small changes, bug fixes and improvements.

Updated libraries

The following libraries have been updated to their latest versions:

Core libraries:
Lua engine: version 5.4.7 (all platforms)
Dear ImGui: version 1.91.1 (all platforms)
SQLite engine: version 3.46.1 (all platforms)
curl: version 8.10.0 (windows)
LuaSocket: version 3.1.0 (all platforms)

Plugin libraries:
FFmpeg: version 7.0.2 (windows – other platforms: 7.0)
ASSIMP: version 5.4.2 (all platforms)
PhysX 5: version 5.4.0 (windows)
Python 3: version 3.12.6 (windows)

 
GeeXLab 0.60.0 is behind all the following applications: FurMark 2.4, GPU Shark 2.4, ASUS FurMark 2 ROG Edition 2.4, YAFFplayer 0.10.0, h4shg3n 0.5.5, MSI Kombustor 4.1.30 and MadView3D 0.5.0! That’s why this release took me a bit time to finalize.

 

arm64 / aarch64 and Raspberry Pi platforms

A word about arm64 / aarch64 platform. Now GeeXLab is available in two flavors for arm64: one pure arm64 version and one arm64 version for Raspberry Pi. Both versions have been compiled on Raspberry Pi OS Bookworm on a RPi 5 hardware. The pure arm64 version should work on any Linux for arm64 with GLIBC 2.36 or higher. I don’t have a non-RPi arm64 platform, so if you, dear reader, have such a platform, please try to launch GeeXLab and let me know if it works. The second version is still for arm64 but specifically for Raspberry Pi hardware / OS: this version has dependencies with the RGBA Led Matrix support and GPIO support using WiringPi.

A second word about arm64 versions. GLIBC 2.36 is now required because GeeXLab is now compiled on the Raspberry Pi 5 board with Raspberry Pi OS Bookworm (Debian 12). It’s now a pleasure to work with the RPi 5, this board is fast and everything run smoothly (except Xwayland that still does not work). The latest iteration of Raspberry Pi OS Bookworm (July 4th 2024) seems to work on all Raspberry Pi hardware (RPi3, RPi4 and RPi5) that’s why Debian 12 Bookworm is now my new OS for RPi development.

GeeXLab running on a arm64 platform (Raspberry Pi)

 

NVIDIA Vulkan driver on Windows

Let’s quickly talk about the gh_renderer.bind_render_window() added to GeeXLab 0.60.1. This function is called in the startup demo of GeeXLab (in the startup-demo/ folder in init.lua). The call to bind_render_window() deserves an explanation.

Without this call, the startup demo crashes if there are two NVIDIA graphics cards in the system. In my development machine, I have a GeForce RTX 2070 + GeForce GT 1030 drove by R561.09. If I remove the GT 1030, the demo works fine. With both cards, the demo crashes. This is an OpenGL demo that in middle of the init script, initializes Vulkan and reads Vulkan information (see InitVkInfo()). Any OpenGL call after InitVkInfo() leads to a crash (OpenGL function pointers seem correct but crash when we called them). After few hours of debugging, I had the feeling that the crash happened as if the OpenGL context was lost or not properly restored after Vulkan calls. That’s why I tested with bind_render_window() and… YES, that fixed the crash! The bind_render_window() function is a wrapper around wglMakeCurrent.

However, it’s not a victory. The crash is still there in 32-bit. With bind_render_window() the crash disappears in 64-bit but not in 32-bit.

Duplicated Vulkan devices

The other thing is that with 2 graphics cards, the NVIDIA Vulkan driver duplicates all Vulkan physical devices. Instead of detecting
two physical devices (the RTX 2070 and the GT 1030), the NVIDIA Vulkan driver returns:
– GPU 0: NVIDIA GeForce RTX 2070
– GPU 1: NVIDIA GeForce RTX 2070
– GPU 2: NVIDIA GeForce GT 1030
– GPU 3: NVIDIA GeForce GT 1030

There is probably a bug in the NV VK driver. I tried to uninstall it (I used the latest DDU 18.0.8 for that), reinstalled it, but no change, any Vulkan utility (GPU Shark 2, GPU Caps Viewer, Vulkan Capability Viewer, vkinfo, GLview) still displayed 4 devices…

Modern graphics programming is blood, sweat and pain!


Angry JeGX programming

 

3 – Changelog

This changelog is intended for all versions of GeeXLab.

Full changelog from beginning of time is available HERE.

Version 0.60.2.0 - 2024.10.03
* (2024.10.03) (lua) fixed a memory leak in gh_sqlite3.db_column_get_text() 
  and gh_sqlite3.db_column_get_text_v2().
! (2024.10.02) added return value to gh_utils.clipboard_set_text().
* (2024.10.02) (windows) fixed a bug in gh_utils.clipboard_set_text().

Version 0.60.1.0 - 2024.09.30
+ (2024.09.30) (windows / lua) added bind_render_window() to gh_renderer. 

Version 0.60.0.0 - 2024.09.27
+ (2024.09.22) added get_gpu_type() to gh_gml lib. This function returns the 
  type of the GPU: integrated or discrete.
+ (2024.09.22) added get_content_region_available() to gh_imgui.
* (2024.09.22) fixed bug in gh_imgui.begin_child_v2(). 
! (2024.09.17) updated curl support with latest version 8.10.0
! (2024.09.17) updated Python 3.12 plugin with latest Python 3.12.6.
* (2024.09.12) fixed a crash in gh_imgui.input_text() / input_text_multiline() if 
  initial_text is not valid.
+ (2024.09.11) added file_browser_is_opened() to to gh_imgui lib.
! (2024.09.10) updated imgui-filebrowser support (set of gh_imgui.file_browser_xxxxx() functions) 
  with latest version. 
* (2024.09.06) fixed a bug in load_textures_from_zip() and load_textures_from_zip_v2()
  of gh_model lib. The textures_dir parameter was not used.
! (2024.09.04) updated Dear ImGui support with latest version 1.91.1.
+ (2024.08.15) added text_link() and text_link_open_url() to gh_imgui lib.
! (2024.08.15) updated SQLite 3 engine with version 3.46.1.
! (2024.08.15) updated ASSIMP plugin with version 5.4.2.
! (2024.08.15) (Windows) updated GPU monitoring plugin with latest NVAPI R560.
! (2024.08.08) (Windows) updated FFmpeg plugin with latest FFmpeg 7.0.2 SDK.
! (2024.07.02) updated constants in {GeeXLab folder}/libs/lua/imgui.lua and {GeeXLab folder}/libs/python/imgui.py.
! (2024.07.02) (Windows) updated PhysX 5 plugin with latest PhysX 5.4.0 SDK.
! (2024.07.01) updated Lua engine with version 5.4.7.
! (2024.05.30) improved the management of Python 3 plugins (terminate and immediate mode execution on Windows).  
! (2024.05.27) (Windows) improved Intel GPU monitoring. The GPU monitoring is now loaded and initialized earlier in GeeXLab startup phase.
! (2024.05.14) (Windows) the menu bar is now disabled by default.
+ (2024.05.13) added init_v2() to gh_imgui with the possibility to disable ImGui ini file.
+ (2024.05.13) added new functions (v2) to gh_sqlite3 lib to deal with multiple SQLite statements.
! (2024.04.28) updated LuaSocket with version 3.1.0
+ (2024.04.28) gh_utils lib in Lua: added widechar versions (suffixed by _w) of sys_exec(), shell_exe(), shell_exe_v2(), process_create(), open_url() and trace().
+ (2024.04.28) Lua: added wprint(), widechar version of global function print().
* (2024.04.28) fixed a memory leak in gh_utils.clipboard_set_text().
* (2024.04.28) fixed a memory leak in gh_utils.buffer_read_string().
The post GeeXLab 0.60 released for Windows, Linux and ARM64 (*** UPDATED: v0.60.2 for Windows ***) first appeared on HackLAB.]]>
https://www.geeks3d.com/hacklab/20241001/geexlab-0-60-released-for-windows-linux-and-arm64/feed/ 0
GeeXLab 0.58 released for Windows and Linux https://www.geeks3d.com/hacklab/20240403/geexlab-0-58-released-for-windows-and-linux/ https://www.geeks3d.com/hacklab/20240403/geexlab-0-58-released-for-windows-and-linux/#respond Wed, 03 Apr 2024 13:17:25 +0000 https://www.geeks3d.com/hacklab/?p=1743 1 – Downloads Downloads GeeXLab 0.58.0 lite (win64)(210MB) GeeXLab 0.58.0 full (win64)(437MB) GeeXLab 0.58.0 nano (win64)(10MB) GeeXLab 0.58.0 (win32)(54MB) GeeXLab 0.58.0 (linux64)(GLIBC 2.31 – 187MB) All GeeXLab Downloads Forum thread Discord server   2 – Release Notes GeeXLab 0.58.0 is available for Windows 32/64-bit and Linux 64-bit (GLIBC 2.31). This new release is a maintenance version that brings updates and bug-fixes. See the changelog for … Continue reading GeeXLab 0.58 released for Windows and Linux »

The post GeeXLab 0.58 released for Windows and Linux first appeared on HackLAB.]]>

1 – Downloads



Downloads

 

2 – Release Notes

GeeXLab 0.58.0 is available for Windows 32/64-bit and Linux 64-bit (GLIBC 2.31). This new release is a maintenance version that brings updates and bug-fixes. See the changelog for more information. Several applications will be updated with this version: FurMark 2, GPU Shark 2, ASUS FurMark 2 ROG, YAFFplayer, h4shg3n, MSI Kombustor.

 

3 – Changelog

This changelog is intended for all versions of GeeXLab.

Full changelog from beginning of time is available HERE.

Version 0.58.0.0 - 2024.04.02
* (2024.04.02) fixed minor bugs in the GPU monitoring (for MTT S80).
* (2024.03.29) fixed minor bugs in the Vulkan renderer (acquire, command pool).
* (2024.03.29) fixed window offsets in conf.xml.
+ (2024.03.29) added get_cpu_name() and get_mac_address() to gh_utils lib.
! (2024.03.29) updated Python 3.11 plugin with Python 3.11.8.
+ (2024.03.06) added get_gpu_temperatures_v1() to gh_gml.
  This function allows to read the core hotspot temperature
  on NVIDIA and AMD GPUs.
* (2024.03.06) fixed bug in gh_gml.is_sensor_available() in Lua. 
  The function always returned 0.
+ (2024.03.06) GPU monitoring plugin - added support of 
  NVIDIA GeForce RTX 4090 D. 
+ (2024.03.06) GPU monitoring plugin - added commercial name:
  . ASRock RX 7900 GRE Steel Legend 16G
  . SAPPHIRE Pure RX 7900 GRE
  . SAPPHIRE Pulse RX 7900 GRE 16G
  . SAPPHIRE Nitro+ RX 7900 GRE 16G
  . XFX RX 7900 GRE 16G
  . MSI GTX 1050 Ti Gaming X 4G
  . Sparkle Arc A380 Genie 6G
  . Zotac RTX 4090 D PGF 24G
+ (2024.03.04) added set_font_global_scale() to gh_imgui.
! (2024.03.04) updated Dear ImGui with version 1.90.4.
+ (2024.03.04) added opengl_check_major and opengl_check_minor 
  attributes in init0.xml
! (2024.03.04) (Windows) updated GPU monitoring with NVAPI R550.
+ (2024.02.26) added dpi_scale attribute in init0.xml
! (2024.02.16) updated GPU monitoring DB for NVIDIA GeForce RTX 3050 6GB.
The post GeeXLab 0.58 released for Windows and Linux first appeared on HackLAB.]]>
https://www.geeks3d.com/hacklab/20240403/geexlab-0-58-released-for-windows-and-linux/feed/ 0
GeeXLab 0.57 released for Windows x32/x64 and Linux x64 https://www.geeks3d.com/hacklab/20240213/geexlab-0-57-released/ https://www.geeks3d.com/hacklab/20240213/geexlab-0-57-released/#comments Tue, 13 Feb 2024 10:18:09 +0000 https://www.geeks3d.com/hacklab/?p=1739 1 – Downloads Downloads GeeXLab 0.57.0 lite (win64)(210MB) GeeXLab 0.57.0 full (win64)(437MB) GeeXLab 0.57.0 nano (win64)(10MB) GeeXLab 0.57.0 (win32)(54MB) GeeXLab 0.57.0 (linux64)(GLIBC 2.31 – 187MB) All GeeXLab Downloads Forum thread Discord server   2 – Release Notes GeeXLab 0.57.0 is available for Windows 32/64-bit and Linux 64-bit (built with GLIBC 2.31). Bug fixes This new update of GeeXLab is more a maintenance release than a … Continue reading GeeXLab 0.57 released for Windows x32/x64 and Linux x64 »

The post GeeXLab 0.57 released for Windows x32/x64 and Linux x64 first appeared on HackLAB.]]>

1 – Downloads



Downloads

 

2 – Release Notes

GeeXLab 0.57.0 is available for Windows 32/64-bit and Linux 64-bit (built with GLIBC 2.31).

Bug fixes

This new update of GeeXLab is more a maintenance release than a version with new features. Several bugs have been fixed (in GPU monitoring for Intel Arc GPUs, in the Vulkan plugin, in the PhysX 5 plugin).

Dear ImGui

Dear ImGui has been updated with latest version 1.90.1 and list clipping functions have been updated (list clipping allows the handling of lists with large number of items, like 10’000 or 100’000 items — a code sample is available in the OpenGL 2.1 demopack: geexlab-demopack-gl21/d29-imgui/imgui-list-clipping/).

Python 3

The Python 3.12 plugin has been refreshed with latest Python 3.12.2.

And for those who don’t want to download and unzip a 200MB (or more) zip file just to run a shader effect demo, I added a nano version of GeeXLab (10MB). The nano version comes with 3 plugins only: Vulkan, FMOD and the GPU monitoring.

 

3 – Changelog

This changelog is intended for all versions of GeeXLab.

Full changelog from beginning of time is available HERE.

Version 0.57.0.0 - 2024.02.08
-----------------------------
! (2024.02.08) updated Python 3.12 plugin with latest Python 3.12.2.
* (2024.02.02) PhysX 5 plugin is now properly compiled with PhysX 5.3.1 SDK.
+ (2024.01.31) GPU monitoring plugin: added commercial name:
  - NVIDIA RTX 4080 SUPER Founders Edition
  - ASUS TUF Gaming RTX 4080 SUPER OC 16G
  - GIGABYTE RTX 4080 SUPER Gaming OC 16G
  - PNY RTX 4080 SUPER Verto OC 16G
  - Zotac RTX 4080 SUPER AMP Extreme Airo 16G
  - MSI RTX 4080 SUPER Expert 16G
  - Inno3D RTX 4080 SUPER X3 16G
+ (2024.01.31) GPU monitoring plugin: added support of GeForce RTX 4080 SUPER.
* (2024.01.28) fixed an old bug that prevented GeeXLab from properly stopping
  when used in monitoring mode (like GPU Shark 2). This bug was visible with Intel Arc GPUs.
+ (2024.01.25) GPU monitoring plugin: added commercial name:
  - PNY RTX 4070 Ti SUPER XLR8 Gaming 16G
  - ASUS ROG Strix RTX 4070 Ti SUPER OC 16G
  - Gainward RTX 4070 Ti SUPER Phoenix GS 16G
  - GIGABYTE RTX 4070 Ti SUPER Gaming OC 16G
  - ASRock RX 7600 XT Steel Legend 16G
  - XFX RX 7600 XT Qick 309 16G
  - MSI RTX 4070 Ti SUPER Ventus 3X 16G
  - Zotac RTX 4070 Ti SUPER Trinity 16G
  - PNY RTX 4070 Ti SUPER Verto OC 16G
  - Palit RTX 4070 Ti SUPER JetStream 16G
  - GIGABYTE RTX 4070 SUPER Aorus Master 12G
  - Palit RTX 4070 SUPER JetStream 12G
  - PowerColor RX 7600 XT Hellhound
  - Inno3D RTX 4070 Ti SUPER Twin X2 16G
+ (2024.01.25) GPU monitoring plugin: added support of GeForce RTX 4070 Ti SUPER
  and Radeon RX 7600 XT.
+ (2024.01.25) added get_gpu_pci_device_number() to gh_gml (for Intel Arc GPUs).
* (2024.01.25) fixed gh_vk.vk_driver_properties_khr_get_value() when argument is "driverID_str".
* (2024.01.25) Vulkan plugin: fixed a leftover of the bug related to VK_KHR_driver_properties. 
* (2024.01.19) GPU monitoring plugin: improved the reading of GPU usage sensor for Intel Arc GPUs. 
  Now the GPU usage is correct when multiple Arc GPUs are present (tested with two GPUs).
+ (2024.01.15) added new functions to gh_imgui lib to deal with ImGui 1.90.1 
  new list clipper: list_clipper_create(), list_clipper_kill(), list_clipper_begin(), 
  list_clipper_step() and list_clipper_end(). 
- (2024.01.15) gh_imgui.list_clipping_begin() and gh_imgui.list_clipping_end()
  are deprecated.
! (2024.01.15) updated Dear ImGui with version 1.90.1.
+ (2024.01.15) GPU monitoring plugin: added commercial name:
  - Sparkle Arc A770 Titan OC
  - NVIDIA RTX 4070 SUPER Founders Edition
  - Gainward RTX 4070 SUPER Ghost 12G
  - ASUS RTX 4070 SUPER Dual 12G
  - Zotac RTX 4070 SUPER Trinity 12G
  - PNY RTX 4070 SUPER Verto 12G
  - Inno3D RTX 4070 SUPER Twin X2 12G
  - ASUS TUF Gaming RTX 4070 SUPER OC 12G
+ (2024.01.15) GPU monitoring plugin: added support of GeForce RTX 4070 SUPER.
The post GeeXLab 0.57 released for Windows x32/x64 and Linux x64 first appeared on HackLAB.]]>
https://www.geeks3d.com/hacklab/20240213/geexlab-0-57-released/feed/ 1
GeeXLab 0.55 released https://www.geeks3d.com/hacklab/20231121/geexlab-0-55-released/ https://www.geeks3d.com/hacklab/20231121/geexlab-0-55-released/#respond Tue, 21 Nov 2023 19:17:16 +0000 https://www.geeks3d.com/hacklab/?p=1725 1 – Downloads Downloads GeeXLab 0.55.0 lite (win64) (210MB) GeeXLab 0.55.0 full (win64) (437MB) GeeXLab 0.55.0 (win32) (77MB) All GeeXLab Downloads Forum thread Discord server   2 – Release Notes GeeXLab 0.55.0 is available for Windows 32/64-bit. I will update Linux64, macOS and Raspberry Pi later (for the RPi, I’m waiting the for RPi 5…). GeeXLab 0.55 engine is behind latest versions of GPU Shark … Continue reading GeeXLab 0.55 released »

The post GeeXLab 0.55 released first appeared on HackLAB.]]>

1 – Downloads



Downloads

 

2 – Release Notes

GeeXLab 0.55.0 is available for Windows 32/64-bit. I will update Linux64, macOS and Raspberry Pi later (for the RPi, I’m waiting the for RPi 5…). GeeXLab 0.55 engine is behind latest versions of GPU Shark 2, FurMark 2, MSI Kombustor and FurMark ROG and YAFFplayer.

 
Here are the main changes:

FFmpeg plugin

The FFmpeg plugin has been updated with latest version 6.1.0 code-named Heaviside (Oliver Heaviside was a famous mathematician and physicist with important contributions in electromagnetism and electricity). I fixed many bugs in the FFmpeg plugin and updated the CUDA support (now its works!). FFmpeg 6.1 comes with the Vulkan support for some decoders like the H264 but as always with Vulkan, things are not easy to do. So no Vulkan support in the FFmpeg plugin. Maybe later.

 

Python 3 plugin

A new Python 3 plugin is available for Python 3.12. Now, GeeXLab supports all versions of Python 3 from Python 3.7 to the latest Python 3.12.

<geexlab>
  <window name="win3d01" title="Python 3.12 Sandbox" 
          width="800" height="600" 
          gl_version_major="2" gl_version_minor="1" />
  <script name="init_scene" run_mode="INIT" language="PYTHON_3_12" filename="init.py" />
  <script name="update_scene" run_mode="FRAME" language="PYTHON_3_12" filename="frame.py" livecoding="1" />
  <script name="terminate_scene" run_mode="TERMINATE" language="PYTHON_3_12" filename="terminate.py" />
  <script name="resize_scene" run_mode="SIZE" language="PYTHON_3_12" filename="size.py" />
</geexlab>

 

Dear ImGui

Dear ImGui has been updated to the latest version 1.90. This new version fixes bugs, brings improvements and add angled headers (new function in gh_imgui lib: table_angled_headers_row() –not tested yet, I hope this function works–).

 

GPU monitoring plugin

The GPU monitoring has been updated with latest NVAPI R545. I fixed a bug in the reading of the commercial name of Intel graphics cards: the function gh_gml.get_gpu_commercial_name() always returned an empty string for Intel GPUs. I also fixed a bug in gh_gml.get_vram_usage() for systems with graphics drivers prior to R520. Not tested the fix…

 

3 – Changelog

This changelog is intended for all versions of GeeXLab.

Full changelog from beginning of time is available HERE.

Version 0.55.0.0 - 2023.11.21
* (2023.11.21) GPU monitoring plugin: fixed a bug in the reading of commercial name with Intel GPUs.
+ (2023.11.19) added new Python 3.12 plugin.
+ (2023.11.19) updated curl support with version 8.4.0.
+ (2023.11.19) added begin_child_v2() and table_angled_headers_row() to gh_imgui lib.
! (2023.11.19) updated Dear ImGui with version 1.90.0.
+ (2023.11.19) added process_create(), process_is_running() and process_close()
  to gh_utils lib.
! (2023.11.19) GPU monitoring plugin: updated with NVAPI R545.
* (2023.11.18) FFmpeg plugin: fixed many small bugs (video without audio stream, audio file only)
  and improved CUDA acceleration support. 
+ (2023.11.15) added hw_device_check() and hw_decoder_is_initialized() to 
  gh_av_lib to check the support of hardware decoders when using FFmpeg plugin.
+ (2023.11.14) added video_init_texture_nv12() and video_update_texture_nv12()
  to gh_av lib.
* (2023.11.13) GPU monitoring plugin: fixed a bug in gh_gml.get_vram_usage() for NVIDIA GPUs.
  Now this function should work with GeForce driver >= 520 and < 520 (like 466.xx).
! (2023.11.11) FFmpeg plugin: updated with latest FFmpeg 6.1 "Heaviside".
* (2023.11.11) FFmpeg plugin: fixed a bug in initialization.
The post GeeXLab 0.55 released first appeared on HackLAB.]]>
https://www.geeks3d.com/hacklab/20231121/geexlab-0-55-released/feed/ 0
GeeXLab 0.54 released (*** UPDATED: v0.54.1.0 ***) https://www.geeks3d.com/hacklab/20231004/geexlab-0-54-released/ https://www.geeks3d.com/hacklab/20231004/geexlab-0-54-released/#respond Wed, 04 Oct 2023 10:22:08 +0000 https://www.geeks3d.com/hacklab/?p=1715 1 – Downloads Downloads GeeXLab 0.54.1 lite (win64) (207MB) GeeXLab 0.54.1 full (win64) (434MB) GeeXLab 0.54.1 (win32) (75MB) GeeXLab 0.54.1 linux 64-bit (188MB) All GeeXLab Downloads Forum thread Discord server   2 – Release Notes GeeXLab 0.54.0 is available for Windows 32/64-bit and Linux 64-bit. GeeXLab 0.54 engine powers all latest versions of GPU Shark 2, FurMark 2, MSI Kombustor and FurMark ROG. Other tools … Continue reading GeeXLab 0.54 released (*** UPDATED: v0.54.1.0 ***) »

The post GeeXLab 0.54 released (*** UPDATED: v0.54.1.0 ***) first appeared on HackLAB.]]>

1 – Downloads



Downloads

 

2 – Release Notes

GeeXLab 0.54.0 is available for Windows 32/64-bit and Linux 64-bit. GeeXLab 0.54 engine powers all latest versions of GPU Shark 2, FurMark 2, MSI Kombustor and FurMark ROG. Other tools like YAFFplayer or MadView3D will be update shortly. The public release of FurMark 2 is imminent, after what I’ll take time to update GeeXLab for Raspberry Pi (the RPi 5 is around the corner) and macOS versions.

Here are the main changes:

PhysX 5 plugin

The PhysX 5 plugin has been updated with latest PhysX 5.3.0 and is now available on Windows and Linux platforms.

ASSIMP plugin

The ASSIMP plugin has been updated with latest ASSIMP 5.3.1. This last version ASSIMP brings only minor changes (bugfixes) but updating to the latest version doesn’t hurt.

Vulkan plugin

I updated the Vulkan plugin and improved a bit the acquire / present part with better synchronization. I added the fullscreen exclusive mode support but I didn’t manage to get it work. According to the specs and the Vulkan SDK, the VK_KHR_get_surface_capabilities2 extension is required by the VK_EXT_full_screen_exclusive extension. But weirdly, VK_KHR_get_surface_capabilities2 is not exposed by latest NVIDIA, AMD or Intel drivers. Maybe I missed something. It doesn’t matter, the FSE support is there and I will update it as soon as possible.

GPU monitoring plugin

I added the support of latest Radeon RX 7800 XT / RX 7700 XT and I added a new function (gh_gml.get_gpu_commercial_name()) that retrieves the commercial name of a graphics card. For example get_gpu_commercial_name return MSI RTX 2070 Ventus 8G for my RTX 2070. I tried to support most of the GeForce RTX 30 / RTX 40, Radeon RX 6000 / RX 7000 and Intel Arc graphics cards.

Internal libraries updates

The following libraries have been updated to their latest versions:
– Python 3.11.6
– Dear ImGui 1.89.9
– SQLite 3.43.1
– ImPlot 0.16
– imspinner
– imgui-filebrowser
– Spout 2.007.012

Last thing, now, when a new version is available you will see a small dialog box showing the new version as well as the download button:
GeeXLab - check for new version

 

3 – Changelog

This changelog is intended for all versions of GeeXLab.

Full changelog from beginning of time is available HERE.

Version 0.54.1.0 - 2023.10.10
+ (2023.10.10) GPU monitoring plugin: added support of Intel Arc A580.
+ (2023.10.10) GPU monitoring plugin: added detection of EVGA RTX 3060 Ti FTW3 Ultra Gaming 8G (LHR).
* (2023.10.10) GPU monitoring plugin: fixed a bug in the commercial name for Sapphire 
  graphics cards (vendor ID was incorrect).


Version 0.54.0.0 - 2023.10.04
! (2023.10.04) (Windows) updated Python 3.11 plugin with latest Python 3.11.6.
! (2023.10.01) updated PhysX 5 plugin withg latest version 5.3.0.
  Support added to Linux 64-bit.
! (2023.10.01) updated ASSIMP plugin withg latest version 5.3.1.
! (2023.09.29) Vulkan plugin: minor improvements (command buffers, 
  fullscreen exclusive mode, synchronization), compilation with latest 1.3.265 headers.
! (2023.09.27) improved the loading of absolute / relative path for /demofile 
  command line parameter. /demofile_abs_path is no longer required.
+ (2023.09.22) GPU monitoring plugin: added Moore Threads MTT S80 detection.
! (2023.09.21) updated SQLite engine with latest version 3.43.1
! (2023.09.21) updated ImPlot lib with version 0.16.
! (2023.09.21) updated with latest version of imspinner.
! (2023.09.21) updated with latest version of imgui-filebrowser.
! (2023.09.21) updated Spout plugin withg latest version 2.007.012.
! (2023.09.21) check for new version: when a new version is detected, a small window
  is now opened with download information. 
+ (2023.09.20) added get_gpu_commercial_name() to gh_gml lib.
+ (2023.09.09) GPU monitoring plugin: added support of Radeon RX 7800 XT
  and Radeon RX 7700 XT.
! (2023.09.09) GPU monitoring plugin: updated with all latest versions
  of AMD SDKs (ADL v18.0, AGS 6.2.0 and ADLX 1.1).
! (2023.09.05) updated Dear ImGui with version 1.89.9.
The post GeeXLab 0.54 released (*** UPDATED: v0.54.1.0 ***) first appeared on HackLAB.]]>
https://www.geeks3d.com/hacklab/20231004/geexlab-0-54-released/feed/ 0
Shadertoy Demopack v23.3.28 https://www.geeks3d.com/hacklab/20230328/shadertoy-demopack-v23-3-28/ https://www.geeks3d.com/hacklab/20230328/shadertoy-demopack-v23-3-28/#respond Tue, 28 Mar 2023 08:32:12 +0000 https://www.geeks3d.com/hacklab/?p=1704 Downloads Shadertoy demopack Download GeeXLab Downloads Feedback thread / Forum (EN) A new version of the Shadertoy demopack is available to enjoy Shadertoy demos on your PC. The Shadertoy demopack is a selection of the coolest demos available on shadertoy website. New shadertoy demos are in the following folders: – gl-shadertoy-singlepass/ – gl-shadertoy-multipass/   Unzip the pack where you want, and drag and drop any … Continue reading Shadertoy Demopack v23.3.28 »

The post Shadertoy Demopack v23.3.28 first appeared on HackLAB.]]>


Downloads


A new version of the Shadertoy demopack is available to enjoy Shadertoy demos on your PC. The Shadertoy demopack is a selection of the coolest demos available on shadertoy website.

New shadertoy demos are in the following folders:
gl-shadertoy-singlepass/
gl-shadertoy-multipass/

 
Unzip the pack where you want, and drag and drop any demo (main.xml or demo.xml) into GeeXLab.

If you want to benchmark and log scores, you can do it via command line:

GeeXLab /width=1920 /height=1080 /fullscreen /demofile="absolute_path_to_the_demo.xml" /demofile_abs_path=1 /no_menubar /benchmark_duration_ms=10000 /benchmark_log_score

Many demos, if not all, are shipped with live-coding ready pixel shader. That means you can edit the shader file (shader_img.glsl in single pass demos) in your favorite text editor and any change is instantly visible.

 
New demos:

v2023.03.23
+ added gl-shadertoy-singlepass/hex-tile-transition-effect/
+ added gl-shadertoy-singlepass/synthwave-canyon/
+ added gl-shadertoy-singlepass/cable-nest/
+ added gl-shadertoy-singlepass/electric-eel-universe/
+ added gl-shadertoy-multipass/moominhouse/
+ added gl-shadertoy-multipass/apollonian-construction/
+ added gl-shadertoy-singlepass/meander-belts/
+ added gl-shadertoy-multipass/refractive-polyhedron/
+ added gl-shadertoy-multipass/pseudo-realtime-path-tracing/1
+ added gl-shadertoy-multipass/frooty/
+ added gl-shadertoy-singlepass/cavernic/
+ added gl-shadertoy-singlepass/desire_crystal/
+ added gl-shadertoy-singlepass/inercia2022-energetic-flyby/
+ added gl-shadertoy-singlepass/cubes-are-dancing/
+ added gl-shadertoy-singlepass/geometric-altar/
+ added gl-shadertoy-singlepass/inercia2022-glowing-fibers/
+ added gl-shadertoy-singlepass/inercia2022-royaliptic/
+ added gl-shadertoy-singlepass/inercia2022-intended-one/
+ added gl-shadertoy-singlepass/twitter-blue-check/
+ added gl-shadertoy-singlepass/walk-like-an-egyptian/
+ added gl-shadertoy-singlepass/high-voltage-tendencies/
+ added gl-shadertoy-singlepass/fractal-doodling/
+ added gl-shadertoy-singlepass/wednesday-messing-around/
+ added gl-shadertoy-singlepass/anti-aliased-texture-sampling/
+ added gl-shadertoy-singlepass/back-to-fractal-city/

Some screenshots:

Shadertoy demopack for GeeXLab

 
Shadertoy demopack for GeeXLab

 
Shadertoy demopack for GeeXLab

 
Shadertoy demopack for GeeXLab

 
Shadertoy demopack for GeeXLab

The post Shadertoy Demopack v23.3.28 first appeared on HackLAB.]]>
https://www.geeks3d.com/hacklab/20230328/shadertoy-demopack-v23-3-28/feed/ 0
(Demo) Knob and Toggle Widgets (Dear ImGui) https://www.geeks3d.com/hacklab/20230327/demo-knob-and-toggle-widgets-dear-imgui/ https://www.geeks3d.com/hacklab/20230327/demo-knob-and-toggle-widgets-dear-imgui/#respond Mon, 27 Mar 2023 15:40:12 +0000 https://www.geeks3d.com/hacklab/?p=1700 Downloads OpenGL 2.1 Demopack Demo: geexlab-demopack-gl21/d29-imgui/imgui-knob-toggle/ GeeXLab Downloads Forum thread (EN) Discord   Here is a small demo that shows how to use two new widgets added in the gh_imgui library (Lua and Python). This demo requires GeeXLab 0.50+ and is available in the OpenGL 2.1 demopack in the geexlab-demopack-gl21/d29-imgui/imgui-knob-toggle/ folder.   Here is a code snippet in Lua that shows how to use the … Continue reading (Demo) Knob and Toggle Widgets (Dear ImGui) »

The post (Demo) Knob and Toggle Widgets (Dear ImGui) first appeared on HackLAB.]]>



Downloads

 
Here is a small demo that shows how to use two new widgets added in the gh_imgui library (Lua and Python).

This demo requires GeeXLab 0.50+ and is available in the OpenGL 2.1 demopack in the geexlab-demopack-gl21/d29-imgui/imgui-knob-toggle/ folder.

GeeXLab demo - Dear ImGui - Knob and toggle widgets

 
Here is a code snippet in Lua that shows how to use the toggle widget:

GeeXLab demo - Dear ImGui - toggle widget

ImGuiToggleFlags_None                   = 0
ImGuiToggleFlags_Animated               = 1  
ImGuiToggleFlags_BorderedFrame          = 8  
ImGuiToggleFlags_BorderedKnob           = 16 
ImGuiToggleFlags_ShadowedFrame          = 32 
ImGuiToggleFlags_ShadowedKnob           = 64 
ImGuiToggleFlags_A11y                   = 256

size_x = 40
size_y = 20
toggle_flags = ImGuiToggleFlags_Animated
animation_duration = 0.1
frame_rounding = 1.0 
knob_rounding = 1.0 
label = "Horizontal drag"
DragHorizontal = gh_imgui.toggle(label, DragHorizontal, 
                                 size_x, size_y, toggle_flags, animation_duration, 
                                 frame_rounding, knob_rounding)

The original knob library in C/C++ for Dear ImGui is available HERE.

 
And a code snippet in Lua showing the use of the knob widget:
GeeXLab demo - Dear ImGui - Knob widget

ImGuiKnobVariant_Tick = 1
ImGuiKnobVariant_Dot = 2
ImGuiKnobVariant_Wiper = 4
ImGuiKnobVariant_WiperOnly = 8
ImGuiKnobVariant_WiperDot = 16
ImGuiKnobVariant_Stepped = 32
ImGuiKnobVariant_Space = 64 

ImGuiKnobFlags_NoTitle = 1
ImGuiKnobFlags_NoInput = 2
ImGuiKnobFlags_ValueTooltip = 4
ImGuiKnobFlags_DragHorizontal = 8
-- this is special flag fopr GeeXLab only.
ImGuiKnobFlags_ReadOnlyInput = 16 
-- this is special flag fopr GeeXLab only.
ImGuiKnobFlags_DisableMouse = 32 

knob_flags = 0 
v_min = 0.0
v_max = 100.0
speed = 0.5
format = "%.1f"
size = 100
steps = 0
ret = 0
value = 0

label = "Tick"
knob_type = ImGuiKnobVariant_Tick
value, ret = gh_imgui.knob(label, knob_value01, v_min, v_max, speed, format, knob_type, size, knob_flags, steps)
if (ret == 1) then
  -- value has changed
  knob_value01 = value
end

The original toggle library in C/C++ for Dear ImGui is available HERE.

The post (Demo) Knob and Toggle Widgets (Dear ImGui) first appeared on HackLAB.]]>
https://www.geeks3d.com/hacklab/20230327/demo-knob-and-toggle-widgets-dear-imgui/feed/ 0
GeeXLab 0.51 Released (*** Updated: v0.51.4.0 ***) https://www.geeks3d.com/hacklab/20230327/geexlab-0-51-released/ https://www.geeks3d.com/hacklab/20230327/geexlab-0-51-released/#respond Mon, 27 Mar 2023 08:46:45 +0000 https://www.geeks3d.com/hacklab/?p=1698 Downloads GeeXLab 0.51.4 lite (win64) (170MB) GeeXLab 0.51.4 full (win64) (397MB) GeeXLab 0.51.4 (win32) (77MB) GeeXLab 0.51.0 (linux64) (115MB) OpenGL 2.1 demopack (48MB) OpenGL 3.2 demopack (22MB) All GeeXLab Downloads Forum thread Discord server   GeeXLab 0.51.4 – Release Notes New Dear ImGui A new function has been added to draw spinners: gh_imgui.imspinner_spinner_rotate_wheel(). Updated GPU monitoring Added support of GeForce RTX 4070 and Radeon RX … Continue reading GeeXLab 0.51 Released (*** Updated: v0.51.4.0 ***) »

The post GeeXLab 0.51 Released (*** Updated: v0.51.4.0 ***) first appeared on HackLAB.]]>



Downloads

 

GeeXLab 0.51.4 – Release Notes

New Dear ImGui
A new function has been added to draw spinners: gh_imgui.imspinner_spinner_rotate_wheel().
Updated GPU monitoring
Added support of GeForce RTX 4070 and Radeon RX 7600M XT, RX 7700S and RX 7600S. The amount of VRAM used by GeForce GPUs is now monitored (via the following function: gh_gml.get_vram_usage()).


Dear ImGui
The Dear ImGui library has been updated with latest version 1.89.5 final.


SQLite 3
The SQLite 3 database engine has been updated with latest version 3.41.2.

 

GeeXLab 0.51.1 – Release Notes

Fixed Dear ImGui
The display of the value (always 0) in sliders with integers has been fixed: gh_imgui.slider_1i() and gh_imgui.vslider_1i().


Live Coding
The live coding option is now disabled for GLSL shaders that are stored in zip files.
Updated OpenGL Renderer
The vertex attributes binding has been improved and now works fine on Intel Arc and integrated GPUs. The bug was visible in MSI Kombustor (demo MSI-01).


Python 3
The Python 3.11 plugin has been updated with latest Python 3.11.3.

 

GeeXLab 0.51.0 – Release Notes

New PhysX 5 plugin

A plugin for PhysX 5 has been added. The PhysX 5 plugin exposes the same rigid body and joints functions than PhysX 4 plugin. The new funtions are related to the particle system.

Currently the PhysX 5 plugin is available on Windows 64-bit platform only (the PhysX 5 plugin should be available for Linux too in the future). The PhysX 5 plugin has been compiled with latest PhysX 5.1.3 SDK.


GPU monitoring plugin

Added support of laptop GPUs (GeForce RTX 4090/4080/4070/4060/4050 Laptop GPUs) as well as GeForce RTX 4070 Ti. Full monitoring and support has been added for AMD Radeon RX 7900 XTX and RX 7900 XT.

New functions have been added to gh_gml lib:
– gh_gml.get_revision_id() to the get the revision ID of a GPU
– get_vram_usage(): returns the VRAM usage in MB.
– gpu_power_get_current_value_v2() returns the total board power and the chip power.


Dear ImGui

New functions have been added to gh_imgui lib to draw knob and toggle widgets (gh_imgui.knob() and gh_imgui.toggle()).

Fixed GPU monitoring plugin

The detection of Radeon RX 5600 XT and RX 5700 XT has been fixed.


Dear ImGui

Fixed bug in gh_imgui.begin_table(): last parameter was overwritten by previous parameter.

Updated Windows platform

Improved compatibility with old versions of Windows (win7, win8). The AdjustWindowRectExForDpi() function is now loaded at runtime.


Windows / Linux platforms

Plugins folder re-organized. Several plugins have their own subfolders (FFmpeg, FMOD, PhysX 4, PhysX 5, etc.) while other like Vulkan stay in the root the of plugins folder.


Dear ImGui

Updated with latest Dear ImGui 1.89.4 final.


Python 3

The Python 3.11 plugin has been updated with latest Python 3.11.2.

Important change: now the PYTHON_3 constant in the XML script node refers to the first Python 3 plugin available. For example, if you have 2 Python 3 plugins (plugin_gxl_python3_9_x64 and plugin_gxl_python3_11_x64), GeeXLab will load the plugin_gxl_python3_9_x64 and use it as the default Python 3 plugin.


FFmpeg plugin

The FFmpeg plugin has been updated with latest FFmpeg SDK 6.0.0.


cURL

cURL has been updated with latest version 8.0.1


SQLite 3

The SQLite engine has been updated with latest version 3.41.1


Spout plugin

The Spout plugin has been updated with Spout2 SDK 2.007.009.


GPU monitoring plugin

Updated with AMD ADL 17.1 and NVAPI R530.

 
As usual, full changelog is available HERE


GeeXLab, the coolest and best prototyping engine for all graphics hackers!

The post GeeXLab 0.51 Released (*** Updated: v0.51.4.0 ***) first appeared on HackLAB.]]> https://www.geeks3d.com/hacklab/20230327/geexlab-0-51-released/feed/ 0 Flower Tweet Shader https://www.geeks3d.com/hacklab/20230111/flower-tweet-shader/ https://www.geeks3d.com/hacklab/20230111/flower-tweet-shader/#respond Wed, 11 Jan 2023 16:23:31 +0000 https://www.geeks3d.com/hacklab/?p=1685 Downloads OpenGL 3.2 Demopack Demo: geexlab-demopack-gl32/d30-twigl/twigl06.xml GeeXLab Downloads   Today, a new tweet shader made by yonatan using twigl.app (online editor for coding one tweet pixel shaders). This shader is very cool and I ported it to GeeXLab. for(float i,g,e,R,S;i++<1e2;o.rgb+=hsv(.4-.02/R,(e=max(e*R*1e4,.7)),.03/exp(e))){S=1.;vec3 p=vec3((FC.xy/r-.5)*g,g-.3)-i/2e5;p.yz*=rotate2D(.3);for(p=vec3(log(R=length(p))-t,e=asin(-p.z/R)-.1/R,atan(p.x,p.y)*3.);S<1e2;S+=S)e+=pow(abs(dot(sin(p.yxz*S),cos(p*S))),.2)/S;g+=e*R*.1;} pic.twitter.com/rKA0dGDCdr — yonatan (@zozuar) January 10, 2023   Original pixel shader: for(float i,g,e,R,S;i++

The post Flower Tweet Shader first appeared on HackLAB.]]>



Downloads

 
Today, a new tweet shader made by yonatan using twigl.app (online editor for coding one tweet pixel shaders). This shader is very cool and I ported it to GeeXLab.

 
Original pixel shader:

for(float i,g,e,R,S;i++<1e2;o.rgb+=hsv(.4-.02/R,(e=max(e*R*1e4,.7)),.03/exp(e))){S=1.;
vec3 p=vec3((FC.xy/r-.5)*g,g-.3)-i/2e5;p.yz*=rotate2D(.3);
for(p=vec3(log(R=length(p))-t,e=asin(-p.z/R)-.1/R,atan(p.x,p.y)*3.);
S<1e2;S+=S)e+=pow(abs(dot(sin(p.yxz*S),cos(p*S))),.2)/S;g+=e*R*.1;}

Here is the same pixel shader in the GeeXLab demo:

#version 150
uniform float time;
uniform float frame;
uniform vec2 resolution;
in vec4 v_texcoord;
out vec4 FragColor;

#define PI 3.14159265
#define FC gl_FragCoord

vec3 hsv(float h, float s, float v)
{
  vec4 t = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);
  vec3 p = abs(fract(vec3(h) + t.xyz) * 6.0 - vec3(t.w));
  return v * mix(vec3(t.x), clamp(p - vec3(t.x), 0.0, 1.0), s);
}

mat2 rotate2D(float r)
{
  return mat2(cos(r), sin(r), -sin(r), cos(r));
}

void main()
{
  vec2 r = resolution;
  float t = time;
  float f = frame;
  vec4 o = vec4(0.0);
  vec3 p = vec3(0.0);
  float i=0,g=0,e=0,R=0,S=0;
  for(; i++<1e2; o.rgb += hsv(.4-.02/R,(e=max(e*R*1e4,.7)),.03/exp(e)))
  {
    S=1.;
    vec3 p=vec3((FC.xy/r-.5)*g,g-.3)-i/2e5;
    p.yz*=rotate2D(.3);
    for(p=vec3(log(R=length(p))-t,e=asin(-p.z/R)-.1/R,atan(p.x,p.y)*3.);S<1e2;S+=S)
      e+=pow(abs(dot(sin(p.yxz*S),cos(p*S))),.2)/S;
    
    g+=e*R*.1;
  }

  FragColor = o;
}

The GeeXLab demo (just drop geexlab-demopack-gl32/d30-twigl/twigl06.xml in GeeXLab):
GeeXLab - Twigl flower shader

The shader is ready for live coding. Just edit the shader (d30-twigl/shaders/ps06.glsl) in your favorite text editor and save it to see the result in real time.

On a GeForce RTX 2070, this demo runs at 190 FPS (resolution: 800x800).

The post Flower Tweet Shader first appeared on HackLAB.]]>
https://www.geeks3d.com/hacklab/20230111/flower-tweet-shader/feed/ 0
GeeXLab 0.49 Released for Windows and Linux (Updated: v0.49.3) https://www.geeks3d.com/hacklab/20221130/geexlab-0-49-released-for-windows-and-linux/ https://www.geeks3d.com/hacklab/20221130/geexlab-0-49-released-for-windows-and-linux/#respond Wed, 30 Nov 2022 12:15:27 +0000 https://www.geeks3d.com/hacklab/?p=1680 Downloads GeeXLab 0.49.3 lite (win64) (126MB) GeeXLab 0.49.3 full (win64) (350MB) GeeXLab 0.49.2 (win32) (69MB) GeeXLab 0.49.3 (linux64) (113MB) GeeXLab 0.49.2 (macOS M1 / arm64) (16MB) All GeeXLab Downloads Forum thread Discord server   1 – Release Notes This new version of GeeXLab is available for Windows 64-bit, Windows 32-bit and Linux 64-bit (GLIBC 2.31). This version of GeeXLab is used as the foundation of … Continue reading GeeXLab 0.49 Released for Windows and Linux (Updated: v0.49.3) »

The post GeeXLab 0.49 Released for Windows and Linux (Updated: v0.49.3) first appeared on HackLAB.]]>



Downloads

 

1 – Release Notes

This new version of GeeXLab is available for Windows 64-bit, Windows 32-bit and Linux 64-bit (GLIBC 2.31). This version of GeeXLab is used as the foundation of several new GPU tools: GPU Shark 2, FurMark 2 and GPU Magick. All these tools will be released very shortly.

Here are the main changes in GeeXLab 0.49:

GPU Monitoring plugin

The GPU monitoring plugin comes with the support of recent NVIDIA GPUs: GeForce RTX 4090 and GeForce RTX 4080, GeForce RTX 3060 Ti GDDR6X and RTX 3060 GDDR6X. The fan speed reading has been improved for GeForce GPUs: all fans can bee now monitored (new functions in gh_gml library: get_num_fans() and get_fan_speed_v2()).

The major new feature in the GPU monitoring plugin is the support of Intel Arc GPUs: Arc A380, Arc A750 and Arc A770. All important hardware sensors can be monitored: GPU temperature, GPU usage, fan speed, chip power consumption, GPU and memory clock speed. The monitoring of Arc GPUs is only available on Windows 64-bit.

GPU Shark 2 (based on GeeXLab and soon available) has the monitoring of Intel Arc GPUs:
GPU Shark 2 - Intel Arc A750 monitoring

 

Python 3.11 Support

The latest version of Python 3 is now supported. GeeXLab can now execute scripts for Python 3.7, Python 3.8, Python 3.9, Python 3.10 and Python 3.11. The Python demopack contains a set of demos to check the support of all versions of Python (folder: geexlab-demopack-python3/general/01-system-info-v2/).

Python 3.11 support in GeeXLab

 
On the Windows version, Python 3.8 is the default Python version when you specify only PYTHON_3 in the XML script node. On Linux, the default Python version is now Python 3.10. GeeXLab allows you to specify the Python version in your scripts (PYTHON_3_7, PYTHON_3_10, etc.) as well as Python’s home directory.

 

Lua Engine

I slightly modified the Lua engine in order to display longer file names in error messages. By default, the length of file names is 60 bytes. The new length is now 512 bytes.

 

Vulkan plugin

The instance creation is now done with Vulkan 1.1 (VK_API_VERSION_1_1). For ray tracing, the version 1.2 is recommended. You can specify the Vulkan version (vulkan1.2 or vulkan1.3, default is vulkan1.1) in the XML window node:

  

The support of multi-sampling anti-aliasing has been added to the Vulkan plugin. You can enable this support in the window node:

  

In OpenGL, the MSAA support can be enabled or disabled at any moment in the frame script. This feature is not possible in Vulkan.

 

ImGui

GeeXLab 0.49 comes with the latest Dear ImGui 1.89 final. The ImPlot support has been updated with version 0.14 and some functions to draw plots have been updated with new parameters. A demo is available in the OpenGL 2.1 demopack: geexlab-demopack-gl21/d29-imgui/imgui-implot/.

GeeXLab ImPlot demo

 
I took the time to add a cool lib in GeeXLab to draw some spinners with ImGui. A demo is available in OpenGL 2.1 demopack: geexlab-demopack-gl21/d29-imgui/imgui-imspinner/.

GeeXLab ImSpinner demo

 

Libraries Update

The following libraries have been updated to their latest versions:
– Dear ImGui: 1.89.1
– ImPlot: 0.14
– SQlite: 3.40.0
– SDL2 (FFmpeg plugin): 2.0.26
– curl: 7.86.0
– Python 3.10: 3.10.8
– Python 3.11: 3.11.0

 

2 – Changelog

This changelog is intended for all versions of GeeXLab.

Full changelog from beginning of time is available HERE.

Version 0.49.3.0 - 2023.01.06
! (2023.01.06) Linux: the 3D window can now be resized or NOT (resizable
  attribute in the XML window node now works).
! (2023.01.04) GPU monitoring: added support of GeForce RTX 4070 Ti.
! (2023.01.04) updated imspinner with latest version (2023.01.03).
! (2023.01.04) updated SQLite engine with latest version 3.40.1

Version 0.49.2.0 - 2022.12.17
! (2022.12.17) updated parameters of gh_imgui.imspinner_spinner_dots() and 
  gh_imgui.imspinner_spinner_fluid().
+ (2022.12.16) added get_dpi_scale(), get_system_dpi(), get_dpi_for_window(), 
  get_dpi_for_monitor() and get_dpi_for_monitor_v2() to gh_utils lib. 
  These functions allow to deal with high DPI scale on Windows platform.
+ (2022.12.16) added kill_all_fonts() to gh_imgui lib.
+ (2022.12.16) added get_size_xml() to gh_window lib.
! (2022.12.16) Python 3 plugin updated with latest Python 3.11.1.
+ (2022.12.14) GPU monitoring plugin: preliminary support of the new 
  AMD ADLX library.
+ (2022.12.13) GPU monitoring plugin: added support of Radeon RX 7900 XTX 
  and RX 7900 XT.
* (2022.12.04) GPU monitoring plugin: fixed a bug in the detection of 
  Radeon GPUs.

Version 0.49.1.0 - 2022.11.30
! (2022.11.30) updated with Dear ImGui 1.89.1 bugfix release.

Version 0.49.0.0 - 2022.11.22
! (2022.11.22) updated FFmpeg plugin with SDL2 2.0.26 library.
+ (2022.11.22) [GPU monitoring] added get_num_fans() and get_fan_speed_v2() to 
  gh_gml libary.
! (2022.11.18) GPU monitoring plugin: updated with NVAPI R525. 
+ (2022.11.17) added a set of functions in gh_imgui to draw some spinners...
! (2022.11.17) updated with latest Dear ImGui 1.89 final.
! (2022.11.17) updated with latest SQLite 3.40.
! (2022.11.17) Lua engine: updated the maximum size for the 
  description of the source of a function in debug information
  from 60 bytes to 512 bytes.
+ (2022.11.15) GPU monitoring plugin: added support of GeForce RTX 4090 
  and RTX 4080.
* (2022.11.07) (Windows) GPU monitoring plugin: NVIDIA detection now uses 
  the nvml library shipped with the graphics driver.
! (2022.11.07) (Windows) improved resize message handling in 
  monitoring mode.
+ (2022.11.04) added support of Python 3.11.
! (2022.11.01) updated curl support with latest version 7.86.0.
! (2022.10.21) GPU monitoring plugin: updated Intel Arc GPU monitoring support:
  Intel Arc A770, Arc A750 and Arc A380.
! (2022.10.21) GPU monitoring plugin: updated with NVAPI R520.
* (2022.10.19) (windows) fixed a bug in the grab frame function of the webcam module.
  Fixed the return value of gh_utils.webcam_grab_frame().
+ (2022.10.16) added multisampling support in the Vulkan plugin (2X / 4X / 8X MSAA).
! (2022.10.15) a Vulkan instance is now created with version 1.1 (VK_API_VERSION_1_1).
  For raytracing, version 1.2 is recommended.
! (2022.10.12) updated Python 3.10 plugin with latest Python 3.10.8 binaries.
! (2022.10.12) GPU monitoring plugin: added support of GeForce RTX 3060 Ti GDDR6X, 
  RTX 3060 GDDR6X.
+ (2022.10.06) added implot_begin_plot_v2(), implot_setup_finish(), 
  implot_setup_axis(), implot_setup_axis_limits(), implot_setup_axis_format(),
  implot_setup_axis_scale(), implot_setup_legend(), 
  implot_setup_mouse_text() to gh_imgui.
! (2022.10.06) updated implot_draw_plotline(), implot_draw_plotscatter() and
  implot_draw_plotshaded() of gh_img lib with flags paramaters.
! (2022.10.06) updated ImPlot with version 0.14.
! (2022.10.06) updated SQLite engine with latest version 3.39.4
! (2022.10.06) updated OpenVR plugin with OpenVR SDK 1.23.7.
+ (2022.10.05) added system_exe() to gh_utils.
The post GeeXLab 0.49 Released for Windows and Linux (Updated: v0.49.3) first appeared on HackLAB.]]>
https://www.geeks3d.com/hacklab/20221130/geexlab-0-49-released-for-windows-and-linux/feed/ 0