2d | HackLAB https://www.geeks3d.com/hacklab 3D Programming, Prototyping and Gamedev with GeeXLab Thu, 13 Mar 2025 07:32:28 +0000 en-US hourly 1 https://wordpress.org/?v=6.7.1 GeeXLab 0.63 released https://www.geeks3d.com/hacklab/20250313/geexlab-0-63-scriptable-proto-engine/ https://www.geeks3d.com/hacklab/20250313/geexlab-0-63-scriptable-proto-engine/#respond Thu, 13 Mar 2025 07:32:28 +0000 https://www.geeks3d.com/hacklab/?p=1773 A new version of GeeXLab is ready. GeeXLab is scriptable prototyping engine to create 2D/3D applications in Lua, Python3 and GLSL (OpenGL and Vulkan).

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

1 – Downloads



Downloads

 

2 – Release Notes

GeeXLab 0.63.0 is available for Windows 32/64-bit, Linux x86-64 (GLIBC 2.31) and Linux arm64 (GLIBC 2.36).

This new version of GeeXLab is a maintenance version with minor updates (GPU monitoring plugin) and bug fixes.

Updated libraries

The following libraries have been updated to their latest versions:

Core libraries:

SQLite engine: version 3.49.1 (all platforms)

Plugin libraries:

GPU monitoring: new commercial names and better RTX 50 Series support.

 
GeeXLab 0.63.0 is behind all the following applications: FurMark 2.7, GPU Shark 2.7, ASUS FurMark 2 ROG Edition 2.7, MSI Kombustor 4.1.32 and GPU Caps Viewer 1.64.

 
GeeXLab 0.63 arm64 running on the Raspberry Pi 5:
GeeXLab 0.63 arm64 - Raspberry Pi 5

 

3 – Changelog

This changelog is intended for all versions of GeeXLab.

Full changelog from beginning of time is available HERE.

Version 0.63.0.0 - 2025.03.11
+ (2025.03.11) GPU monitoring plugin - added commercial name:
  . ASUS TUF Gaming RX 9070 OC
  . SAPPHIRE Nitro+ RX 9070 XT
  . XFX RX 9070 XT Mercury OC Magnetic Air
  . XFX RX 9070 Quicksilver
  . GIGABYTE RX 9070 XT Gaming OC
  . NVIDIA GeForce RTX 5070 Founders Edition
  . Zotac RTX 5090 SOLID
+ (2025.03.11) GPU monitoring: restored VRAM temperature and hotspot sensors reading for NVIDIA GPUs
  (hotspot not supported on RTX 50 Series).
+ (2025.03.11) GPU monitoring: added support of NVIDIA GeForce RTX 5070.
+ (2025.03.11) added input_int() and input_float() to gh_imgui lib.
+ (2025.03.09) GPU monitoring: reading of ROP count on Linux for NVIDIA GPUs with NVIDIA drivers.
! (2025.03.06) updated SQLite database engine to version 3.49.1.
+ (2025.03.06) added show_debug_log_window() to gh_imgui lib.
+ (2025.03.06) GPU monitoring: updated with latest Intel GPU lib.
+ (2025.03.05) GPU monitoring: added support of AMD Radeon RX 9070 XT, RX 9070 and RX 7650 GRE.
The post GeeXLab 0.63 released first appeared on HackLAB.]]>
https://www.geeks3d.com/hacklab/20250313/geexlab-0-63-scriptable-proto-engine/feed/ 0
GeeXLab 0.62 released https://www.geeks3d.com/hacklab/20250221/geexlab-0-62-released/ https://www.geeks3d.com/hacklab/20250221/geexlab-0-62-released/#respond Fri, 21 Feb 2025 16:30:02 +0000 https://www.geeks3d.com/hacklab/?p=1769 1 – Downloads Downloads GeeXLab 0.62.0 lite (win64) (201MB) GeeXLab 0.62.0 full (win64) (433MB) GeeXLab 0.62.0 nano (win64) (10MB) GeeXLab 0.62.0 (win32) (80MB) GeeXLab 0.62.0 (linux 64-bit) (GLIBC 2.31 – 62MB) All GeeXLab Downloads Forum thread Discord server   2 – Release Notes GeeXLab 0.62.0 is available for Windows 32/64-bit and Linux 64-bit (GLIBC 2.31). This new version of GeeXLab is a maintenance version: libraries updates and bug fixes. Updated … Continue reading GeeXLab 0.62 released »

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

1 – Downloads



Downloads

 

2 – Release Notes

GeeXLab 0.62.0 is available for Windows 32/64-bit and Linux 64-bit (GLIBC 2.31). This new version of GeeXLab is a maintenance version: libraries updates and bug fixes.

Updated libraries

The following libraries have been updated to their latest versions:

Core libraries:

Dear ImGui: version 1.91.8 (all platforms)
– Dear ImGui based libraries: ImPlot, imgui-knobs and imgui-filebrowser (all platforms)
SQLite engine: version 3.49.0 (all platforms)
cgltf: version 1.15 (all platforms)

Plugin libraries:

PhysX 5: version 5.5.1 (all platforms)
Python 3.13: plugin updated with 3.13.2
Python 3.12: plugin updated with 3.12.9
GPU monitoring: new commercial names, NVAPI R570, and RTX 50 support

 
GeeXLab 0.62.0 is behind all the following applications: FurMark 2.6, GPU Shark 2.6, ASUS FurMark 2 ROG Edition 2.6 and MSI Kombustor 4.1.32.

 

3 – Changelog

This changelog is intended for all versions of GeeXLab.

Full changelog from beginning of time is available HERE.

Version 0.62.0.0 - 2025.02.20
+ (2025.02.20) GPU monitoring: added support of NVIDIA GeForce RTX 5070 Ti.
+ (2025.02.20) GPU monitoring plugin - added commercial name:
  . MSI RTX 5070 Ti Ventus 3X OC
  . Palit RTX 5070 Ti GameRock OC
  . MSI RTX 5070 Ti Gaming Trio OC+
  . MSI RTX 5070 Ti Vanguard SOC
  . MSI RTX 5070 Ti Gaming Trio OC+
  . ASUS RTX 5070 Ti TUF OC
  . Palit RTX 5080 GamingPro OC 16GB
  . GIGABYTE RX 9070 XT Gaming OC 16G
  . GIGABYTE RTX 5090 Gaming OC
  . ASUS RTX 5080 ASTRAL OC
  . MSI RTX 5080 Vanguard SOC
  . GIGABYTE RTX 5080 Gaming OC
  . MSI RTX 5080 Suprim SOC
  . Zotac RTX 5080 AMP Extreme Infinity
  . Palit RTX 5080 GameRock OC
  . Gainward RTX 5080 Phoenix GS
  . Colorful RTX 5080 Vulcan OC
  . ASUS RTX 5090 ASTRAL OC
  . NVIDIA GeForce RTX 5090 Founders Edition
  . Palit RTX 5090 GameRock
  . MSI RTX 5090 Suprim Liquid SOC
  . ASRock Arc B570 Challenger OC
  . Sparkle Arc B570 Guardian OC
! (2025.02.18) updated PhysX 5 plugin with latest SDK 5.5.1.
! (2025.02.18) updated cgltf 3D loader with latest version 1.15.
! (2025.02.18) updated Python 3.13 plugin to version 3.13.2.
! (2025.02.18) updated Python 3.12 plugin to version 3.12.9.
+ (2025.02.17) GPU monitoring plugin: added preliminary support of Radeon RX 9070 XT.
+ (2025.02.17) GPU monitoring plugin: updated with NVAPI R570.
! (2025.02.17) updated SQLite database engine to version 3.49.0.
! (2025.02.06) updated Dear ImGui to version 1.91.8
+ (2025.01.30) GPU monitoring: added support of NVIDIA GeForce RTX 5090, RTX 5090 D 
  and RTX 5080.
! (2025.01.23) imgui-knobs and imgui-filebrowser libs with their latest versions.
* (2025.01.13) GPU monitoring: reading hotspot temperature fixed for older GeForce GPUs
  like GTX 1080.
The post GeeXLab 0.62 released first appeared on HackLAB.]]>
https://www.geeks3d.com/hacklab/20250221/geexlab-0-62-released/feed/ 0
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.52 released https://www.geeks3d.com/hacklab/20230526/geexlab-0-52-released/ https://www.geeks3d.com/hacklab/20230526/geexlab-0-52-released/#comments Fri, 26 May 2023 14:33:09 +0000 https://www.geeks3d.com/hacklab/?p=1709 1 – Downloads Downloads GeeXLab 0.52.0 lite (win64) (126MB) GeeXLab 0.52.0 full (win64) (350MB) GeeXLab 0.52.0 (win32) (69MB) GeeXLab 0.52.0 linux 64-bit (97MB) GeeXLab 0.52.0 Raspberry Pi OS 32-bit (97MB) GeeXLab 0.52.0 Raspberry Pi OS 64-bit (54MB) All GeeXLab Downloads Forum thread Discord server   2 – Release Notes GeeXLab 0.52.0 is available for Windows 32 and 64-bit only. GeeXLab 0.52 engine powers the latest … Continue reading GeeXLab 0.52 released »

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

1 – Downloads



Downloads

 

2 – Release Notes

GeeXLab 0.52.0 is available for Windows 32 and 64-bit only. GeeXLab 0.52 engine powers the latest Kombustor 4.1.26, the new GPU Shark 2.0.10 and the new FurMark 2.0.8. GPU Shark 2 and FurMark 2 will be officially released very shortly. I will update the Linux / macOS versions as soon as possible. Here are the main changes:

 

Lua 5.4.6

The Lua engine has been updated with the latest version 5.4.6 of Lua. Lua 5.4.6 has been published on May 14 2023 (I missed the version 5.4.5 released two months ago) and brings some changes in functions related to threading. These functions are not used in GeeXLab, so version 5.4.6 of Lua should work as fine as Lua 5.4.4 in GeeXLab.

 

GPU monitoring

The support of new GeForce RTX 4060 Ti and Radeon RX 7600 has been added to the GPU monitoring plugin.

 

curl 8.1.1

The curl support has been updated with latest curl 8.1.1. Some functions are available in Lua and Python to deal with curl. A demo that shows how to use curl functions to download a file is available HERE.

 

3 – Changelog

This changelog is intended for all versions of GeeXLab.

Full changelog from beginning of time is available HERE.

Version 0.52.0.0 - 2023.05.25
+ (2023.05.25) GPU monitoring: added support of Radeon RX 7600. 
! (2023.05.23) updated Lua engine with latest Lua 5.4.6.
+ (2023.05.23) GPU monitoring: added support of GeForce RTX 4060 Ti. 
! (2023.05.23) the curl support updated with latest curl 8.1.1. 

 
Twigl demo (in the OpenGL 3.2 demopack):
geexlab-demopack-gl32/d30-twigl/twigl10.xml
GeeXLab - Twigl demo

The post GeeXLab 0.52 released first appeared on HackLAB.]]>
https://www.geeks3d.com/hacklab/20230526/geexlab-0-52-released/feed/ 2
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
GeeXLab 0.42 Released for Windows and Linux – UPDATE: v0.42.1 https://www.geeks3d.com/hacklab/20210325/geexlab-0-42-released-for-windows-and-linux/ https://www.geeks3d.com/hacklab/20210325/geexlab-0-42-released-for-windows-and-linux/#respond Thu, 25 Mar 2021 16:02:02 +0000 https://www.geeks3d.com/hacklab/?p=1602 Downloads GeeXLab 0.42.1 LITE (win64) (90MB) GeeXLab 0.42.1 FULL (win64) (240MB) GeeXLab 0.42.0 (win32) (67MB) GeeXLab 0.42.0 (linux64) (150MB) All GeeXLab Downloads Forum thread (EN)   1 – Release Notes A new GeeXLab is available for Windows 64-bit, Windows 32-bit and Linux 64-bit (GLIBC 2.23). GeeXLab 0.42 updates several libraries to their latest version (Dear ImGui 1.82, ImPlot 0.10, SQLite 3.35.1 and the glTF loader … Continue reading GeeXLab 0.42 Released for Windows and Linux – UPDATE: v0.42.1 »

The post GeeXLab 0.42 Released for Windows and Linux – UPDATE: v0.42.1 first appeared on HackLAB.]]>

GeeXLab: scriptable proto-engine for Windows, Linux, Raspberry Pi and macOS



Downloads

 

1 – Release Notes

A new GeeXLab is available for Windows 64-bit, Windows 32-bit and Linux 64-bit (GLIBC 2.23). GeeXLab 0.42 updates several libraries to their latest version (Dear ImGui 1.82, ImPlot 0.10, SQLite 3.35.1 and the glTF loader cgltf 1.10).

On the Windows platform, a new GeeXLab executable has been added: GeeXLab_cli.exe. This executable can output all traces in the terminal. A call to gh_utils.trace() will be written in the log file and in the terminal. Pretty handy for interactive log visualization.

GeeXLab - command line interface

 
The /help command is now available…
GeeXLab - command line interface

When using the GeeXLab_cli executable, traces are sent by default to the terminal. On Linux it’s not the case. If you want to send traces to the terminal on Linux, you have to use the /console_output command line parameter.

 

2 – Changelog

This changelog is intended for all versions of GeeXLab.

Full changelog from beginning of time is available HERE.

Version 0.42.1 - 2021.04.14
! (2021.04.14) updated FFmpeg plugin with latest FFmpeg 4.4.
! (2021.04.14) updated Lua engine to latest Lua 5.4.3.
! (2021.04.14) updated Python 3 plugin with Python 3.9.4.
! (2021.04.08) updated SQlite with latest version 3.35.4.


Version 0.42.0 - 2021.03.23
+ (2021.03.23) (win64) added GeeXLab_cli.exe that outputs traces to the terminal.
! (2021.03.23) updated built-in glTF loader with cgltf 1.10.
! (2021.03.22) updated with Dear ImGui 1.82.
! (2021.03.22) updated SQlite with latest version 3.35.2.
! (2021.03.22) updated ImPlot with latest version 0.10 WIP (see gh_imgui.implot_xxxx() functions).
+ (2021.03.22) added implot_push_colormap() and implot_pop_colormap() to gh_imgui lib.
- (2021.03.22) removed implot_set_built_in_colormap() and implot_set_colormap() from gh_imgui lib.
The post GeeXLab 0.42 Released for Windows and Linux – UPDATE: v0.42.1 first appeared on HackLAB.]]>
https://www.geeks3d.com/hacklab/20210325/geexlab-0-42-released-for-windows-and-linux/feed/ 0
GeeXLab 0.39 Released (Windows, Linux, Raspberry Pi and macOS) https://www.geeks3d.com/hacklab/20201212/geexlab-0-39-released-windows-linux-raspberry-pi-and-macos/ https://www.geeks3d.com/hacklab/20201212/geexlab-0-39-released-windows-linux-raspberry-pi-and-macos/#respond Sat, 12 Dec 2020 14:37:16 +0000 https://www.geeks3d.com/hacklab/?p=1580 Downloads GeeXLab for Win64 LITE (79MB) GeeXLab for Win64 FULL (245MB) GeeXLab for Win32 (67.5MB) GeeXLab for Linux64 (150MB) GeeXLab for Raspberry Pi OS (86.9MB) GeeXLab for macOS (68.4MB) All GeeXLab Downloads Forum thread (EN)   1 – Release Notes This new version of GeeXLab is available for Windows 64-bit, Windows 32-bit, Linux 64-bit (GLIBC 2.23), Raspberry Pi OS (GLIBC 2.28) and macOS. GeeXLab 0.39.0 … Continue reading GeeXLab 0.39 Released (Windows, Linux, Raspberry Pi and macOS) »

The post GeeXLab 0.39 Released (Windows, Linux, Raspberry Pi and macOS) first appeared on HackLAB.]]>

GeeXLab: scriptable proto-engine for Windows, Linux, Raspberry Pi and macOS



Downloads

 

1 – Release Notes

This new version of GeeXLab is available for Windows 64-bit, Windows 32-bit, Linux 64-bit (GLIBC 2.23), Raspberry Pi OS (GLIBC 2.28) and macOS.

GeeXLab 0.39.0 comes with the following main changes:
– ImGui file browser
– ImGui memory editor
– preliminary support of Vulkan KHR raytracing
– Lua 5.4.2
– Python 3.9.1 and improved scene reloading
– webcam capture resolution on Windows
– curl

 

ImGui file browser

This file browser is very cool because it’s based on Dear ImGui and then it’s available on all platforms. The source project is available HERE. A set of functions has been added to gh_imgui to deal with the file browser:
gh_imgui.file_browser_xxxxx().

A demo that shows how to use the file browser is available in the OpenGL 2.1 demopack in the d29-geexlab-demopack-gl21/d29-imgui/imgui-file-browser/ folder.

GeeXLab - ImGui file browser

 

ImGui Memory Editor

I found this project, directly developed by Dear ImGui’s author. It’s a simple memory editor. You can read/write memory buffers. A new set of functions has been added in gh_imgui: gh_imgui.memory_editor_xxxxx().

A demo that shows how to use the memory editor is available in the OpenGL 2.1 demopack in the d29-geexlab-demopack-gl21/d29-imgui/imgui-memory-editor/ folder.

GeeXLab - ImGui file browser

 

Preliminary Support of Vulkan KHR Raytracing

The Khronos Group has released the official Vulkan raytracing extensions few weeks ago with Vulkan 1.2.162 specifications. Vulkan raytracing will be the main change in next GeeXLab 0.40.x. Many Vulkan raytracing functions have been implemented in the Vulkan2 plugin of GeeXLab but they have not been yet tested. But three functions to query hardware capabilities are ready:

– gh_vk.raytracing_pipeline_get_property_value_u32()
– gh_vk.raytracing_acceleration_structure_get_property_value_u32()
– gh_vk.raytracing_acceleration_structure_get_property_value_u64()

A demo showing how to use these functions will be released very shortly.

 

Lua 5.4.2

The Lua scripting engine (built-in plugin) has been updated to the latest version 5.4.2 on all platforms. This new version of Lua has been released few days ago and is a bug fix release.

Lua logo

 

Python 3.9.1

On Windows, the Python plugin has been compiled with the latest stable version 3.9.1, that, like Lua, has been released few days ago.
The Windows version of GeeXLab comes also with Python 2.7 and Python 3.8 plugins. If you look at the plugins folder, you will see:
– plugin_gxl_python2_x64.dll: this is the Python 2.7 plugin
– plugin_gxl_python38_x64.dll: this is the Python 3.8 plugin
– plugin_gxl_python3_x64.dll: this is the Python 3.9 plugin

Default plugins names are plugin_gxl_python2_x64 for Python 2 and plugin_gxl_python3_x64 for Python 3. So if you want to use the Python 3.8 plugin, just rename plugin_gxl_python38_x64 in plugin_gxl_python3_x64.

Python logo

 

Webcam Capture Resolution on Windows

I finally found the way to control the capture size of the webcam on Windows. By default the capture size is 640×480. Not cool if you have a full HD capable webcam. A new function (webcam_start_v2) has been added to start a webcam with a particular resolution:

webcam1 = gh_utils.webcam_create()

-- 320×240
-- 640×480 -- default resolution on Windows
-- 1280×720
-- 1920×1080
gh_utils.webcam_start_v2(webcam1, 1, 1280, 720) -- GeeXLab 0.39+

A demo showing how to use the webcam on Windows is available in the OpenGL 2.1 demopack (folder: geexlab-demopack-gl21/d31-webcam/).

 

curl

curl is a command line tool to easily download files from Internet and most of the protocols are supported. In GeeXLab, curl is available in two ways:

– embedded in GeeXLab and accessible via a function in gh_utils lib: gh_utils.curl_download_file_v1(). The curl_download_file_v1 function is available on Windows, Linux and Raspberry Pi OS. Not on macOS, sorry.

– a standalone version: the Windows version of GeeXLab has a folder that contains the latest curl: {GeeXLab folder}/curl/. That way, you can control the curl.exe from your Lua or Python scripts with a regular system call.

 

2 – Changelog

This changelog is intended for all versions of GeeXLab.

Full changelog from beginning of time is available HERE.

Version 0.39.1 - 2020.12.09
+ (2020.12.09) added set_font_glyph_offset() to gh_imgui.


Version 0.39.0 - 2020.12.08
! (2020.12.08) update Lua support with latest Lua 5.4.2.
+ (2020.12.08) updated Python 3 plugin with latest Python 3.9.1.
! (2020.12.08) updated glTF built-in plugin with latest cglft 1.9.
! (2020.12.06) [macOS] compiled on x86_64 target with Xcode 12.2.
+ (2020.12.05) added a set of functions in gh_imgui lib to manage ImGui 
  file browser: gh_imgui.file_browser_xxxxx().
! (2020.12.04) updated built-in SQLite support with latest version 3.34.0.
* (2020.12.04) fixed a bug in uv coordinates in the built-in glTF loader.
+ (2020.12.03) added get_num_textures(), get_texture() and a set of functions
  (vk_descriptorset_xxxx()) to gh_material lib.
* (2020.12.02) fixed a minor bug in the fullscreen management in init0.xml. 
* (2020.12.02) updated GPU monitoring plugin with latest NVAPI 455. 
+ (2020.12.01) added get_item_rect_min(), get_item_rect_max(), push_clip_rect(), 
  pop_clip_rect() and invisible_button() to gh_imgui lib.
* (2020.12.01) fixed gh_gpu_buffer.set_matrix4x4() in Python (3 args instead of 4).
* (2020.12.01) fixed wrong function name in the gh_vk lib of the Python plugin:
  gh_vk.texture_sampler_create() (wrong) instead of gh_vk.sampler_create() (correct).
! (2020.11.28) updated GPU monitoring plugin with latest AMD AGS lib 6.0.0.
+ (2020.11.27) added preliminary support of Vulkan KHR raytracing.
+ (2020.11.27) added imdrawlist_coding_party_demo() to gh_imgui lib.
+ (2020.11.27) added add_rect_to_drawlist(), add_triangle_to_drawlist()
  and add_text_to_drawlist() to gh_imgui lib.
! (2020.11.25) improved gh_utils.clipboard_set_text() and 
  gh_utils.clipboard_get_text() on Windows platform.
! (2020.11.20) updated GPU monitoring plugin with AMD Radeon RX 6800 and 
  RX 6800 XT support.
! (2020.11.16) updated ImGui with latest version 1.80 WIP.
+ (2020.10.28) GPU monitoring: added support of NVIDIA GeForce RTX 3070.
! (2020.10.27) [Windows] compiled with VS2019 v16.7.6.
! (2020.10.27) update Lua support with latest Lua 5.4.1.
! (2020.10.26) improved Python 3 support: with some librairies like NumPy,
  your can now do several scene reloads without crashing.
+ (2020.10.26) [Windows] added webcam_start_v2() to gh_utils. 
  You can now set the webcam resolution!
! (2020.10.26) added all gh_utils.shmem_xxxx() functions to the Python plugin.
! (2020.10.09) updated ImGui with latest version 1.79.
+ (2020.10.09) added a set of functions to manage ImGui memory editor:
  gh_imgui.memory_editor_xxxx()
+ (2020.10.09) added set_next_window_size(), set_next_window_size_constraints()
  and set_window_size() to gh_imgui.
+ (2020.10.07) added curl_download_file_v1() to gh_utils.
+ (2020.10.06) updated Python 3 plugin with latest Python 3.9.0.
! (2020.10.03) updated OpenVR plugin with latest OpenVR SDK 1.14.15.
! (2020.10.03) updated ImPlot 0.8 WIP. Updated {GeeXLab folder}/libs/lua/imgui_implot.lua
! (2020.10.03) updated GPU monitoring plugin with latest AMD AGS lib 5.4.2.
The post GeeXLab 0.39 Released (Windows, Linux, Raspberry Pi and macOS) first appeared on HackLAB.]]>
https://www.geeks3d.com/hacklab/20201212/geexlab-0-39-released-windows-linux-raspberry-pi-and-macos/feed/ 0
GeeXLab 0.38.0 Released (Windows, Linux, Raspberry Pi and macOS) https://www.geeks3d.com/hacklab/20200904/geexlab-0-38-0-released-windows-linux-raspberry-pi-and-macos/ https://www.geeks3d.com/hacklab/20200904/geexlab-0-38-0-released-windows-linux-raspberry-pi-and-macos/#respond Fri, 04 Sep 2020 09:50:29 +0000 https://www.geeks3d.com/hacklab/?p=1570 Downloads GeeXLab for Win64 LITE (79MB) GeeXLab for Win64 FULL (245MB) GeeXLab for Linux64 GeeXLab for Raspberry Pi OS GeeXLab for macOS All GeeXLab Downloads Forum thread (EN)   1 – Release Notes This new version of GeeXLab is available for Windows 64-bit, Linux 64-bit (GLIBC 2.23), Raspberry Pi OS (GLIBC 2.28) and macOS (tested on latest macOS Catalina 10.15.6). GeeXLab 0.38.0 does not bring … Continue reading GeeXLab 0.38.0 Released (Windows, Linux, Raspberry Pi and macOS) »

The post GeeXLab 0.38.0 Released (Windows, Linux, Raspberry Pi and macOS) first appeared on HackLAB.]]>

GeeXLab: scriptable proto-engine for Windows, Linux, Raspberry Pi and macOS



Downloads

 

1 – Release Notes

This new version of GeeXLab is available for Windows 64-bit, Linux 64-bit (GLIBC 2.23), Raspberry Pi OS (GLIBC 2.28) and macOS (tested on latest macOS Catalina 10.15.6).

GeeXLab 0.38.0 does not bring new features but rather tries to improve and strengthen the existing ones. For example, new functions to generate random numbers have been added (these functions are based on the C++ random library). The Dear ImGui has been updated with latest ImGui 1.78 and the ImPlot lib has been updated with the latest version 0.5 WIP. Some new functions have been added in the gh_mesh lib to copy and read vertex data between a mesh and a GPU buffer. When working with compute shaders, this kind of functionality is handy. I also added a new function in the Box2D lib to list all actors that are in contact with a particular actor. get the The GPU monitoring plugin has been updated with latest NVAPI 450 and GPUs are now sorted by bus ID. Why? because sometimes, the NVIDIA driver decides to reverse the order of GPUs and the main GPU (the GeForce RTX 2070 in my PC) is listed after the secondary GPU (a GeForce GT 1030). This small change is important for the next updates I’m working on.

 

2 – Changelog

This changelog is intended for all versions of GeeXLab.

Full changelog from beginning of time is available HERE.

Version 0.38.0 - 2020.09.03
! (2020.09.03) [Windows] GPU monitoring plugin: updated with NVAPI R450. 
! (2020.09.01) GeeXLab on Windows recompiled with latest Windows 10 SDK 10.0.19041.0. 
! (2020.09.01) updated libs/lua/imgui.lua with new flags for gh_imgui.slider_1i_v2()
  and gh_imgui.vslider_1i_v2().
+ (2020.08.31) added vertices_to_gpu_buffer(), vertices_from_gpu_buffer(), 
  vertices_position_to_gpu_buffer(), vertices_position_from_gpu_buffer() and 
  set_vertex_source() to gh_mesh lib.
! (2020.08.31) GPU monitoring plugin: GPUs are now sorted by bus id.
+ (2020.08.31) added actor_get_contact_actor() to gh_box2d lib.
+ (2020.08.30) added get_value_{1|2|3|4}f() to gh_gpu_buffer lib.
+ (2020.08.30) added sound_create_v3() to gh_audio lib.
+ (2020.08.29) GPU monitoring plugin: added support of AMD Radeon RX 5300. 
! (2020.08.29) gh_imgui.url() returns 1 if the link has been clicked otherwise 0. 
! (2020.08.28) added some feature levels queries in the initialization phase of the 
  Direct3D12 plugin to get more information in the log file.
+ (2020.08.25) added random_init(), random_uniform_real(), random_uniform_int(), random_poisson()
  random_poisson() and random_normal() to gh_utils (lua only).
! (2020.08.25) updated ImPlot with latest version 0.5 WIP.
! (2020.08.25) added slider_1i_v2() and vslider_1i_v2() to gh_imgui to support new flags
  introduced in ImGui 1.78.
! (2020.08.25) fixed gh_imgui.implot_begin_plot() when x/y labels are empty strings.
! (2020.08.22) updated built-in Dear ImGui support with latest version 1.78.
! (2020.08.22) [Windows] enabled alpha attribute in window xml node.
* (2020.08.22) [Windows] fixed mouse management when style attribute is 2 or 3 
  in the window xml node.
+ (2020.08.22) added get_date_str_v2() to gh_utils.
The post GeeXLab 0.38.0 Released (Windows, Linux, Raspberry Pi and macOS) first appeared on HackLAB.]]>
https://www.geeks3d.com/hacklab/20200904/geexlab-0-38-0-released-windows-linux-raspberry-pi-and-macos/feed/ 0
GeeXLab 0.37.0 Released (Windows, Linux, Raspberry Pi and macOS) https://www.geeks3d.com/hacklab/20200820/geexlab-0-37-0-released-windows-linux-raspberry-pi-and-macos/ https://www.geeks3d.com/hacklab/20200820/geexlab-0-37-0-released-windows-linux-raspberry-pi-and-macos/#respond Thu, 20 Aug 2020 09:53:51 +0000 https://www.geeks3d.com/hacklab/?p=1564 Downloads GeeXLab for Win64 LITE (79MB) GeeXLab for Win64 FULL (245MB) GeeXLab for Linux64 GeeXLab for Raspberry Pi OS GeeXLab for macOS All GeeXLab Downloads Forum thread (EN)   1 – Release Notes This update of GeeXLab brings new Box2D functions to gh_box2d library in Lua and Python. It’s now possible to create more complex shapes with polygon shapes and chain shapes. Chain shapes are … Continue reading GeeXLab 0.37.0 Released (Windows, Linux, Raspberry Pi and macOS) »

The post GeeXLab 0.37.0 Released (Windows, Linux, Raspberry Pi and macOS) first appeared on HackLAB.]]>

GeeXLab: scriptable proto-engine for Windows, Linux, Raspberry Pi and macOS



Downloads

 

1 – Release Notes

This update of GeeXLab brings new Box2D functions to gh_box2d library in Lua and Python. It’s now possible to create more complex shapes with polygon shapes and chain shapes. Chain shapes are a very nice feature of Box2D engine. A demo will be available in the next article. I also quickly added at the last minute, the support of the distance joint. Other types of joints will be added later.

 
I added two new functions to the gh_gpu_program lib that can be handy in some situations, to pass a transformation matrix that is not linked to a particular object. Now you can build a transformation matrix from {position, rotation, scale} and pass it to the GPU program with uniform_transform_matrix_v1() or uniform_transform_matrix_v2():

pos_x = 0
pos_y = 10
pos_z = -4
rot_x = 0
rot_y = 0
rot_z = 30
scale = 1.0
transform_order = 0
gh_gpu_program.uniform_transform_matrix_v1(prog, "Transform0", 
                                           pos_x, pos_y, pos_z,
                                           rot_x, rot_y, rot_z,
                                           scale, scale, scale,
                                           transform_order)

uniform_transform_matrix_v1() takes the Euler’s angles while uniform_transform_matrix_v2() takes a quaternion for the orientation.

 
I finally took the time to update the macOS version of GeeXLab. GeeXLab 0.37.0 for macOS has been compiled (Xcode 11.6 + clang 11.0.3) and tested on macOS Catalina 10.15.6. The clang compiler found some errors in my code that were not detected by other compilers (VS2017 or gcc/g++). Compiling time to time on all platforms can improve the code quality!

GeeXLab: scriptable proto-engine on macOS

 
For Windows 64-bit, I added a lite version of GeeXLab. The lite version is a fully operational GeeXLab but some folders are not shipped to reduce the download size: python2/, python3/, spirv/, mesa3d/ and most of the demos have been removed. Result: lite version: 79MB versus full version: 245MB! If you don’t plan to use Python, the lite version is perfect.

 

2 – Changelog

This changelog is intended for all versions of GeeXLab.

Full changelog from beginning of time is available HERE.

Version 0.37.0 - 2020.08.18
+ (2020.08.19) added distance joint support in Box2D plugin with new functions in
  gh_box2d lib: world_create_joint_distance(), joint_distance_set_stiffness()
  joint_distance_set_damping() and joint_distance_compute_linear_stiffness().
+ (2020.08.19) added functions to apply a force, torque and impulse to an physics actor
  in Box2D plugin. New functions in gh_box2d: actor_apply_force(), actor_apply_force_to_center()
  actor_apply_torque(), actor_apply_linear_impulse() and actor_apply_linear_impulse_to_center().
* (2020.08.18) fixed a minor bug in the title bar update on macOS version.
+ (2020.08.17) added uniform_transform_matrix_v1() and uniform_transform_matrix_v2()
  to gh_gpu_program library (lua, python).
+ (2020.08.17) added set_app_title_bar() and get_app_title_bar() to gh_utils.
+ (2020.08.17) [Windows] Spout functions available in gh_utils.
! (2020.08.17) [Windows 64-bit] updated built-in SQLite support 
  with latest version SQLite 3.33.0.
! (2020.08.15) updated macOS version of GeeXLab.
* (2020.08.15) fixed minor bugs in gxc_x{32|64} core library.
+ (2020.08.14) added new functions to gh_box2d to manage polygon and chain shapes
  and more: world_create_actor, actor_add_vertices, actor_chain_build, actor_polygon_build,
  actor_set_density, actor_set_friction, actor_set_restitution, actor_raycast, ...

 
GeeXLab: scriptable proto-engine on Linux

 
GeeXLab: scriptable proto-engine on Windows

The post GeeXLab 0.37.0 Released (Windows, Linux, Raspberry Pi and macOS) first appeared on HackLAB.]]>
https://www.geeks3d.com/hacklab/20200820/geexlab-0-37-0-released-windows-linux-raspberry-pi-and-macos/feed/ 0
GeeXLab 0.36.0 released for Windows, Linux and Raspberry Pi https://www.geeks3d.com/hacklab/20200812/geexlab-0-36-0-released-for-windows-linux-and-raspberry-pi/ https://www.geeks3d.com/hacklab/20200812/geexlab-0-36-0-released-for-windows-linux-and-raspberry-pi/#respond Wed, 12 Aug 2020 10:45:41 +0000 https://www.geeks3d.com/hacklab/?p=1561 Downloads GeeXLab for Windows 64-bit GeeXLab for Linux 64-bit GeeXLab for Raspberry Pi OS 32-bit All GeeXLab Downloads Forum thread (EN)   1 – Release Notes GeeXLab 0.36.0 is available for Windows 64-bit, Linux 64-bit and Raspberry Pi OS 32-bit. This new version comes with a new physics engine: Box2D. After NVIDIA PhysX and Bullet Physics, Box2D is the third physics engine available in GeeXLab. … Continue reading GeeXLab 0.36.0 released for Windows, Linux and Raspberry Pi »

The post GeeXLab 0.36.0 released for Windows, Linux and Raspberry Pi first appeared on HackLAB.]]>

GeeXLab: 3D programming and proto-engine for Windows, Linux and Raspberry Pi



Downloads

 

1 – Release Notes

GeeXLab 0.36.0 is available for Windows 64-bit, Linux 64-bit and Raspberry Pi OS 32-bit.

This new version comes with a new physics engine: Box2D. After NVIDIA PhysX and Bullet Physics, Box2D is the third physics engine available in GeeXLab. Box2D is a simple 2D physics engine for games. Compared to other bigger engines like PhysX or Bullet, Box2D is easy to integrate in any existing C++ game engine. And it works fine! More on Box2D in this post.

I also added a small routine in the initialization phase of the Vulkan 2 plugin to test the VK_KHR_device_group_creation extension. On my system (with a GeForce RTX 2070 + GeForce GT 1030), the query of VK_KHR_device_group_creation gives:

18:43:48:545(0000060)	[info ]	[Vulkan2] VK_KHR_device_group_creation supported.
18:43:48:545(0000061)	[info ]	[Vulkan2] PhysicalDeviceGroupCount: 2
18:43:48:545(0000062)	[info ]	[Vulkan2] - PhysicalDeviceGroup[0]:
18:43:48:545(0000063)	[info ]	[Vulkan2]   -- physicalDeviceCount: 1
18:43:48:545(0000064)	[info ]	[Vulkan2]   ---- physicalDevices[0] pointer: 0xB2A5D420
18:43:48:545(0000065)	[info ]	[Vulkan2] - PhysicalDeviceGroup[1]:
18:43:48:545(0000066)	[info ]	[Vulkan2]   -- physicalDeviceCount: 1
18:43:48:545(0000067)	[info ]	[Vulkan2]   ---- physicalDevices[0] pointer: 0xB2A5D140
18:43:48:545(0000068)	[info ]	[Vulkan2] # Vulkan devices: 2
18:43:48:545(0000069)	[info ]	[Vulkan2] [ GPU 0 ]--------------------------------------
18:43:48:545(0000070)	[info ]	[Vulkan2] - physical device pointer: 0xB2A5D420
18:43:48:545(0000071)	[info ]	[Vulkan2] - GPU name: GeForce RTX 2070
18:43:48:545(0000072)	[info ]	[Vulkan2] - DeviceID: 10DE-1F02
18:43:48:545(0000073)	[info ]	[Vulkan2] - NVIDIA driver version: 451.85_0.0
18:43:48:545(0000074)	[info ]	[Vulkan2] - Vulkan API version: 1.2.133
18:43:48:545(0000075)	[info ]	[Vulkan2] - Device type: VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU
18:43:48:545(0000076)	[info ]	[Vulkan2] [ GPU 1 ]--------------------------------------
18:43:48:545(0000077)	[info ]	[Vulkan2] - physical device pointer: 0xB2A5D140
18:43:48:545(0000078)	[info ]	[Vulkan2] - GPU name: GeForce GT 1030
18:43:48:545(0000079)	[info ]	[Vulkan2] - DeviceID: 10DE-1D01
18:43:48:545(0000080)	[info ]	[Vulkan2] - NVIDIA driver version: 451.85_0.0
18:43:48:545(0000081)	[info ]	[Vulkan2] - Vulkan API version: 1.2.133
18:43:48:545(0000082)	[info ]	[Vulkan2] - Device type: VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU

Things get interesting if physicalDeviceCount > 1. In that case, we can create a Vulkan logical device made up of several GPUs. Currently I can’t go further in the use of VK_KHR_device_group_creation because I need at least two similar graphics cards in a dev station. Maybe later.

 

2 – Changelog

This changelog is intended for all versions of GeeXLab.

Full changelog from beginning of time is available HERE.

Version 0.36.0 - 2020.08.11
! (2020.08.11) [Windows] updated Vulkan plugin (plugin_gxc_vulkan2_x64) with 
  VK_KHR_device_group_creation information query.
+ (2020.08.08) added the support of Box2D physics engine. Box2D is a rigid body 
  simulation library for games. Box2D is accessible via the new gh_box2d library 
  in Lua and Python.
The post GeeXLab 0.36.0 released for Windows, Linux and Raspberry Pi first appeared on HackLAB.]]>
https://www.geeks3d.com/hacklab/20200812/geexlab-0-36-0-released-for-windows-linux-and-raspberry-pi/feed/ 0