GeeXLab 0.29.17 released for Windows, Linux and Raspbian




GeeXLab: 3D programming and prototyping for Windows, Linux, macOS, RaspberryPi


Downloads


1 – Release Notes

GeeXLab 0.29.17 improves the support of Python and comes with a handy function that allows to use a NumPy array (np.array) as a texture. This function is like a bridge between NumPy and GeeXLab. Why NumPy? Because some popular Python libs like OpenCV, return NumPy images (a 2D numerical array).

In the following example, myTex is a regular GeeXLab texture and npImg is a Numpy image. We can update the texture with the new update_gpu_memory_from_numpy_img() function of the gh_texture lib:

gh_texture.update_gpu_memory_from_numpy_img(myTex, npImg)

I will start a series of Python + OpenCV articles and this function will be the core of some demos.

On Windows, the Python plugin has been updated with Python 3.8.2 that has been released few days ago. And GeeXLab for Windows comes with some popular Python libraries (NumPy, OpenCV, Scapy or feedreader) in the Python 3 site-packages folder.

On Linux, the Python 3 plugin (dylibs/plugin_gxl_python3_x64.so) is now linked to a shared object named libpython_3.so. libpython_3.so is a symlink (symbolic link) and points either to Python 3.5 shared object (on Linux Mint 18.3 for example) or to Python 3.6 (on Linux Mint 19.3). By default, libpython_3.so points to Python 3.5. The libpython_3.so should be deleted before the first launch of GeeXLab. Once deleted, it can be recreated to point to the correct version of Python using one of the following scripts (in GeeXLab folder):

– python3_plugin_update_symlink_for_python35.sh :

#!/bin/bash          
ln -s /usr/lib/x86_64-linux-gnu/libpython3.5m.so.1.0 dylibs/libpython_3.so

– python3_plugin_update_symlink_for_python36.sh :

#!/bin/bash          
ln -s /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0 dylibs/libpython_3.so

You can also link to Python 3.7 or 3.8. That should work. Sorry for that working but Python support on Linux is a bit messy.

Raspbian Buster (Raspberry Pi) is shipped with Python 3.7. So on Raspbian, GeeXLab uses Python 3.7.

 

2 – Changelog

This changelog is intended for all versions of GeeXLab.

Full changelog from beginning of time is available HERE.

Version 0.29.17.0 - 2020.03.05
! (2020.03.05) [Linux] the Python 3 plugin is linked with libpython_3.so, a smylink 
  towards the real Python shared object.
+ (2020.03.04) [Windows] Python 3 plugin updated plugin with Python 3.8.2.
! (2020.03.04) [Python 2/3] fixed a memory leak when a script was in live coding mode.
+ (2020.03.02) added get_num_strings(), get_string_num_chars(), set_string_char_position_offset()
  and set_string_char_color_factor() to gh_font lib.
+ (2020.02.27) [Python 3] added update_gpu_memory_from_numpy_img() to gh_texture lib.
+ (2020.02.27) [Windows] added feedreader, scapy, numpy and OpenCV in the Python 3 distribution 
  that comes with GeeXLab ({GeeXLab}/python3/Lib/site-packages/).
+ (2020.02.25) [Python] added  libfont2 in Python libs ({GeeXLab}/libs/python/libfont/).
! (2020.02.27) updated SMOL-V support with latest version.
+ (2020.02.21) added uniform_3x3f() to gh_gpu_program lib.
+ (2020.02.21) added math_from_to_rotation_matrix3x3() to gh_utils.
+ (2020.02.21) [PRO version] added check_for_new_version() to gh_utils.




Leave a Comment

Your email address will not be published. Required fields are marked *