<GeeXLab Changelog/>

Complete version history

+ : addition, new feature
- : removal
! : update, change
* : bugfix

Version - 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. Version - 2023.05.10 ----------------------------- ! (2023.05.10) updated GPU monitoring plugin with VRAM used for NVIDIA GPUs. ! (2023.05.09) updated SQLite engine with latest version 3.41.2 ! (2023.04.24) GPU monitoring plugin: added support of AMD Radeon RX 7600M XT, Radeon RX 7700S and RX 7600S. Version - 2023.04.14 ----------------------------- ! (2023.04.14) updated with latest Dear ImGui 1.89.5 final. + (2023.04.14) added imspinner_spinner_rotate_wheel() to gh_imgui. Version - 2023.04.12 ----------------------------- ! (2023.04.12) GPU monitoring plugin: added support of NVIDIA GeForce RTX 4070. Version - 2023.04.11 ----------------------------- * fixed a bug in gh_imgui.slider_1i() and gh_imgui.vslider_1i(): the display format was wrong. ! (2023.04.09) improved vertex binding in the OpenGL renderer. ! (2023.04.09) Python 3.11 plugin updated with latest Python 3.11.3. * (2023.04.07) GLSL live coding is now disabled when shaders are stored in a zip file. Version - 2023.03.21 ----------------------------- ! (2023.03.21) updated cURL libs with cURL 8.0.1. ! (2023.03.19) Python 3: now the PYTHON_3 constant in the XML script node refers to the first Python 3 plugin available. ! (2023.03.15) updated with latest Dear ImGui 1.89.4 final. ! (2023.03.14) updated FFmpeg plugin with latest FFmpeg SDK 6.0.0. ! (2023.03.14) updated SQLite engine with latest version 3.41.1 ! (2023.03.14) updated imspinner with latest version (2023.03.12). ! (2023.03.14) updated PhysX 5 plugin with latest PhysX 5 SDK 5.1.3. ! (2023.03.14) updated Spout plugin Spout2 SDK 2.007.009. ! (2023.03.14) updated GPU monitoring plugin with AMD ADL 17.1 and NVAPI R530. Version - 2023.02.20 ----------------------------- ! (2023.02.20) updated with latest Dear ImGui 1.89.3 final. + (2023.02.20) added get_revision_id() to gh_gml lib. ! (2023.02.20) Python 3.11 plugin updated with latest Python 3.11.2. * (2023.02.13) GPU monitoring: fixed detection of Radeon RX 5600 XT and RX 5700 XT. . internal version - not released Version - 2023.02.01 ----------------------------- ! (2023.02.01) improved compatibility with old versions of Windows (win7, win8). ! (2023.01.31) (Windows) plugins folder re-organized! + (2023.01.30) GPU monitoring: added support of GeForce RTX 4090/4080/4070/4060/4050 Laptop GPUs. ! (2023.01.30) improved win7 support: AdjustWindowRectExForDpi is loaded at runtime. + (2023.01.27) added knob() and toggle() widgets to gh_imgui lib. * (2023.01.26) fixed bug in gh_imgui.begin_table(): last parameter was overwritten by previous param. ! (2023.01.26) updated with latest Dear ImGui 1.89.3 WIP. + (2023.01.26) GPU monitoring: added full monitoring support of Radeon RX 7900 XTX and RX 7900 XT. + (2023.01.26) GPU monitoring: added support of GeForce RTX 4070 Ti. ! (2023.01.26) GPU monitoring: added get_vram_usage() and gpu_power_get_current_value_v2() to gh_gml lib ! (2023.01.24) PhysX 4 and PhysX 5 plugin folder changed. Now PhysX 4/5 plugins are in plugins/physx4/ and plugins/physx5/. + (2023.01.24) added new PhysX 5 plugin based on PhysX 5 SDK 5.1.2. PhysX 5 is available on Windows 64-bit and Linux 64-bit only. . internal version - not released Version - 2023.01.18 ----------------------------- ! (2023.01.18) GPU monitoring: fixed VRAM DDR factor for AMD Radeon GPUs. ! (2023.01.11) GPU monitoring: fixed GPU usage reading for Intel Arc. . internal version - not released Version - 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 - 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 - 2022.11.30 ----------------------------- ! (2022.11.30) updated with Dear ImGui 1.89.1 bugfix release. Version - 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. Version - 2022.09.14 ----------------------------- ! (2022.09.14) updated Assimp plugin with Assimp 5.2.5. ! (2022.09.14) updated cgltf core plugin with version 1.13. ! (2022.08.14) (win64) updated Python 3.10 plugin with latest Python 3.10.7. ! (2022.09.14) updated SQLite engine with latest version 3.39.3 ! (2022.09.14) (win64) updated glslangValidator.exe in spirv/ folder + (2022.09.06) added get_gpu_eus() to gh_gml lib. ! (2022.09.02) updated FFmpeg plugin with FFmpeg 5.1.1 SDK. * (2022.08.17) fixed a bug in the FFmpeg plugin that prevented a video from looping. Version - 2022.08.12 ----------------------------- * (2022.08.12) (linux64) fixed drag and drop. Now the drag and drop from file managers like Thunar works fine. ! (2022.08.12) the log file is no longer cleared between demos. Version - 2022.08.08 ----------------------------- ! (2022.08.08) (Windows) improved audio video synchronization and seeking in FFmpeg plugin. ! (2022.08.04) (Windows) updated Python 3.10 plugin with latest Python 3.10.6. + (2022.08.04) (Windows only) added ini_file_read() and ini_file_write() to gh_utils. + (2022.08.04) added file_check() and file_create() to gh_utils. Version - 2022.08.08 ----------------------------- ! (2022.07.31) (Windows, Linux) updated FFmpeg plugin with latest FFmpeg 5.1 SDK. + (2022.07.30) added support of GL_ARB_create_context_robustness, GL_ARB_create_context_no_error and GL_KHR_context_flush_control on Windows and Linux. New attributes in the XML window node: gl_context_no_error, gl_context_robustness and gl_context_release_none. * (2022.07.30) added a workaround for OpenGL 3+ in lua/libfont1.lua and lua/libfont2.lua shaders to make AMD Radeon GPUs and Adrenalin 22.7.1+ happy. ! (2022.07.27) updated GPU monitoring plugin with AMD ADL 17.0. ! (2022.07.13) GPU monitoring: improved detection of Radeon GPUs. ! (2022.07.13) GPU monitoring: added support of Radeon RX 6700. + (2022.07.05) added new functions to gh_model: update_meshes_lists, render_opaque_meshes, render_transparent_meshes, get_num_opaque_meshes, get_num_transparent_meshes, render_opaque_mesh and render_transparent_mesh. + (2022.07.05) added new functions to gh_material: get_material, set_opacity, get_opacity, set_shininess, get_shininess, set_ambient, get_ambient, set_diffuse, get_diffuse, set_specular and get_specular. + (2022.07.04) added load_textures_v2() and load_textures_from_zip_v2() to gh_model with new argument to specify pixel format. + (2022.07.02) added NVIDIA NVML Python library to python3. Version - 2022.06.28 ----------------------------- + (2022.06.28) GPU mmonitoring plugin: added support of GeForce GTX 1630. ! (2022.06.28) updated SQLite engine with latest version 3.39.0. + (2022.06.28) added python3_7_home, python3_8_home, python3_9_home, python3_10_home and python3_11_home attributes in the XML window node. These attributes allow to specify the Python HOME per project. + (2022.06.28) added Python 3.7 support (with new value for the language attribute in the XML script node: PYTHON_3_7). + (2022.06.27) added shell_exe_v2() to gh_utils in lua and python. Allows to execute a command with admin rights on Windows. * (2022.06.24) [GPU monitoring] fixed a bug in the update of the core usage for Radeon GPUs. ! (2022.06.22) updated with Dear ImGui 1.88 final. ! (2022.06.22) GPU monitoring plugin: updated with NVIDIA NVAPI R515. Version - 2022.06.20 ----------------------------- . released for YAFFplayer * (2022.06.20) fixed bugs in the audio decoding module of the FFmpeg plugin. + (2022.06.19) added python3-nmap package to Python 3. ! (2022.06.15) GPU monitoring plugin: added detection of Intel Arc A380 GPU. Version 0.47.0 - 2022.06.08 --------------------------- ! (2022.06.08) updated SQLite engine with latest version 3.38.5 + (2022.06.05) added support of multiple versions of Python (3.8, 3.9, 3.10 and upcoming 3.11) with new values for the language attributes in the XML script node: PYTHON_3_8, PYTHON_3_9, PYTHON_3_10 and PYTHON_3_11. + (2022.06.05) added pyttsx3 package (text 2 speech) in python3_8/Lib/site-packages/ folder. ! (2022.06.05) default Python 3.8 folder in GeeXLab renamed in python3_8/ * (2022.06.05) minor improvements and bugfixes. Version 0.46.0 - 2022.06.01 --------------------------- * (2022.06.01) fixed curl lib loading bugs on Linux and Raspberry Pi OS. * (2022.06.01) fixed audio bugs in FFmpeg plugin. Sound in videos with 6 channels (DTS codec) were not handled and some videos with 48000 samples per seconds were not decoded properly. ! (2022.05.31) updated Assimp plugin with Assimp 5.2.4. ! (2022.05.28) updated Bullet Physics plugin with Bullet 3.2.4. ! (2022.05.28) updated FFmpeg plugin with FFmpeg 5.0.1 and SDL2 2.0.22 SDKs. + (2022.05.13) added curl_get_file_time_and_size() and curl_download_file_in_buffer() to gh_utils. ! (2022.05.12) GPU monitoring plugin: added support of AMD Radeon RX 6950 XT, 6750 XT and 6650 XT. ! (2022.05.05) updated Python 3.10 plugin with Python 3.10.4. ! (2022.05.04) updated with Dear ImGui 1.88 WIP. ! (2022.05.04) updated with imnodes 0.5. ! (2022.05.04) updated with ImPlot 0.13. ! (2022.05.04) updated built-in glTF loader with cgltf 1.12. ! (2022.05.04) updated SQLite engine with latest version 3.38.4 ! (2022.05.04) Lua engine updated with latest version 5.4.4. ! (2022.05.04) (win64 / win32) updated curl support with latest version 7.83.0. ! (2022.05.04) GPU monitoring plugin: added detection of Intel Arc 7 A770M, A730M, Arc 5 A550M and Arc 3 A370M and A350M. ! (2022.05.04) GPU monitoring plugin: added support of GeForce RTX 3090 Ti, RTX A4500, GeForce RTX 3050 8GB, GeForce RTX 3050 4GB. Updated some RTX 3060 and RTX 3050 models. ! (2022.05.04) GPU monitoring plugin: added support of AMD Radeon RX 6400, RX 6500 XT, RX 6500M, RX 6300M, Radeon RX 6650 XT, Radeon Pro W6500M, Radeon Pro W6400, Radeon Pro W6600, Radeon Pro W6600M, Radeon RX 6650M, Radeon RX 6800S / RX 6700S. ! (2022.05.04) GPU monitoring plugin: updated with NVIDIA NVAPI R510. Version 0.45.1 - 2022.01.06 --------------------------- ! (2022.01.06) updated Assimp plugin with Assimp 5.1.5 (bugfix release). ! (2022.01.06) updated with Dear ImGui 1.87 WIP. ! (2022.01.06) updated Bullet Physics plugin with latest Bullet 3.21. ! (2022.01.06) updated SQLite engine with latest version 3.37.1. Version 0.45.0 - 2021.12.01 --------------------------- ! (2021.12.01) updated ImageMagick plugin with latest ImageMagick 7.1.0-16. ! (2021.12.01) updated Bullet Physics plugin with latest Bullet 3.17. ! (2021.11.29) updated SQLite engine with latest version 3.37.0. ! (2021.11.19) improved the SHA-1 generator (gh_utils.file_sha1(), gh_utils.buffer_sha1() and gh_utils.sha1() functions). With some files the SHA-1 hash code was wrong. ! (2021.11.14) [Windows] compiled with VS2022. ! (2021.11.14) updated Assimp plugin with Assimp 5.1.0 final release. ! (2021.11.14) updated curl support with latest version of curl 7.80.0. * (2021.11.09) Vulkan renderer / ImGui: fixed mapped memory validation error when buffer sizes are not a multiple of VkPhysicalDeviceLimits::nonCoherentAtomSize. ! (2021.11.09) updated GPU monitoring plugin with latest NVAPI 495 and added detection of Intel UHD Graphics 770 (Alder Lake). + (2021.10.13) added show_stack_tool_window() to gh_imgui. ! (2021.10.13) updated Dear ImGui with final version 1.85. ! (2021.10.13) updated Python 3 plugin with latest Python 3.10. ! (2021.10.13) updated built-in glTF loader with cgltf 1.11. + (2021.09.20) added "camera_view_projection_vk" param value to gh_gpu_buffer.set_matrix4x4() Version 0.44.0 - 2021.09.08 --------------------------- ! (2021.09.08) updated some file functions (like gh_utils.file_buffer_create()) with support of large files (3GB+). This update was required by the H4shG3n app. + (2021.09.08) dnd_set_check_scene_file() to gh_utils. This function allows to disable the check for scene file during a drag and drop. + (2021.09.07) added get_time() and get_time_microseconds() to gh_utils. + (2021.09.06) added get_mouse_pos_on_opening_current_popup(), push_style_var_1f() push_style_var_2f() and pop_style_var() to gh_imgui. ! (2021.09.06) updated the Wren built-in scripting plugin with latest Wren 0.4.0. + (2021.09.05) added functions (imnodes_xxxxx()) in gh_imgui that allow to build the next-gen node editor! + (2021.09.05) added extract_file_name() to gh_utils. + (2021.09.04) added file_sha512(), buffer_sha512() and sha512() to gh_utils. ! (2021.09.04) updated gh_utils.file_sha256(), gh_utils.buffer_sha256() and gh_utils.sha256() with a faster code. Previous code is now in a v0 version (gh_utils.file_sha256_v0(), etc.). + (2021.09.04) added shared_variable_set_value_buffer() and shared_variable_get_value_buffer() to gh_utils that allow to share a buffer (pointer and size) between scripts running in separate threads. Version 0.43.2 - 2021.09.01 --------------------------- * (2021.09.01) [Linux] fixed X11/Xlib copy to clipboard management code (used by gh_utils.clipboard_set_text()). ! (2021.08.27) updated libs/python/imgui.py lib with imgui_window_begin_close_button_no_collapse() function and additional ImGui constants. * (2021.08.27) [Windows] built-in webcam module: fixed a bug in the reading of the webcam name (gh_utils.webcam_get_name()). Version 0.43.1 - 2021.08.26 --------------------------- * (2021.08.26) [Windows] fixed a minor bug in the drag and drop management. ! (2021.08.26) removed duplicates of shader log info in the log file. ! (2021.08.25) updated Dear ImGui functions with Dear ImGui 1.84.2. Version 0.43.0 - 2021.08.23 --------------------------- ! (2021.08.23) updated GeeXLab startup demo. + (2021.08.23) added get_lua_version() and get_app_build_date() to gh_utils. ! (2021.08.21) updated Dear ImGui functions with Dear ImGui 1.84.1. Added begin_disabled() and end_disabled() to gh_imgui. ! (2021.08.20) [Windows] Python 3.8.10 is now the default Python 3 plugin. The python3/ folder contains all necessary Python 3.8.10 files. The Python 3.9.6 plugin (plugin_gxl_python396_x64.dll) is still shipped (you have to rename it in plugin_gxl_python3_x64.dll before use). * (2021.08.19) [Windows] fixed gh_utils.webcam_start_v2() in Python. ! (2021.08.17) updated GPU monitoring plugin support of Radeon Pro W6800 and Pro W6600. ! (2021.08.11) [Windows] updated FFmpeg plugin with latest SDL 2.0.16. * (2021.08.10) fixed a minor bug in gh_utils.qr_code_scan() and improved the QR code scanner demo (gl21-demopack/d55-qr-code/app_reader/). + (2021.08.09) added table_set_column_enabled() to gh_imgui (lua / python). ! (2021.08.09) updated Dear ImGui functions with Dear ImGui 1.84 WIP. ! (2021.08.09) updated with ImPlot with ImPlot 0.12 WIP. ! (2021.08.09) [Windows] updated Assimp plugin with latest Assimp commit. ! (2021.08.09) [Windows] updated Physx 4 plugin with latest PhysX 4.1.2 SDK. On Windows platform, all PhysX DLLs are now in the plugins directory. ! (2021.08.09) updated Box2D plugin with Box2D 2.4.1. ! (2021.08.09) updated SQlite with latest version 3.36.0. ! (2021.08.09) [Windows] updated OpenVR plugin with OpenVR 1.16.8 SDK. ! (2021.08.09) [Windows] updated Python 3 plugin with Python 3.9.6. ! (2021.08.09) compiled Vulkan plugin with latest Vulkan headers 1.2.187. ! (2021.08.09) [Windows] updated Spout plugin with latest github commit. ! (2021.08.09) updated GPU monitoring plugin with latest NVAPI 470 and added support of GeForce RTX 3080 Ti, RTX 3070 Ti, RTX A2000, CMP 70HX, CMP 90HX, Radeon RX 6600 XT, RX 6600, RX 6700M, RX 6800M. Version 0.42.2 - 2021.04.20 --------------------------- ! (2021.04.20) updated SQlite with latest version 3.35.5. 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. Version 0.41.4 - 2021.03.09 --------------------------- ! (2021.03.08) GPU monitoring plugin: added support of NVIDIA GeForce RTX 3060, CMP 30HX, CMP 40HX and AMD Radeon RX 6700 XT. ! (2021.03.08) updated the content of the CSV file generated at the end of a benchmark. Now strings are between double quotes (see here). MaxGpuTemp field has been removed. ! (2021.03.08) updated Python 3 plugin with Python 3.9.2. * (2021.03.08) updated FFmpeg plugin with FFmpeg 4.3.2. Version 0.41.3 - 2021.02.23 --------------------------- * (2021.02.23) fixed once again utf8 / wide characters support on Linux (for YAFFplayer). Version 0.41.2 - 2021.02.18 --------------------------- * (2021.02.18) command line reading (gh_utils.get_command_line()) now supports wide characters / unicode on Windows platform. * (2021.02.18) fixed once again wide characters / unicode support on Linux and Windows for the following functions: gh_font.get_text_width_w(), gh_font.draw_wtext_2d(), gh_font.draw_wtext_2d_v2() and gh_utils.drop_files_get_file_by_index_w(). Version 0.41.1 - 2021.02.16 --------------------------- * (2021.02.16) fixed wide characters / unicode support on Linux for the following functions: gh_font.get_text_width_w(), gh_font.draw_wtext_2d(), gh_font.draw_wtext_2d_v2() and gh_utils.drop_files_get_file_by_index_w(). Version 0.41.0 - 2021.02.12 --------------------------- ! (2021.02.12) updated Dear ImGui with version 1.81. * (2021.02.11) fixed screenshot functions (gh_utils.do_screenshot_xx()) for Vulkan demos. + (2021.02.09) renamed some functions of gh_vk: - new: descriptorset_add_geometry - old: descriptorset_push_geometry_core - new: descriptorset_build_geometries_vertices_arrays - old: descriptorset_add_all_geometry_cores_vertices - new: descriptorset_build_geometries_indices_arrays- old: descriptorset_add_all_geometry_cores_indices + (2021.02.06) added vk_add_spirv_module_zip() to gh_gpu_program. ! (2021.02.06) updated built-in SQLite support with latest SQLite 3.34.1. * (2021.02.04) fixed texture creation crash in Vulkan with floating point based formats. ! (2021.02.02) improved unicode support for drag and drop files. New functions added: gh_utils.drop_files_get_file_by_index_w() and gh_font.get_text_width_w(). Version 0.40.0 - 2021.01.22 --------------------------- + (2021.01.22) added set of functions (gh_imgui.table_xxxxxx()) to deal with the new table API of Dear ImGui 1.80. ! (2021.01.22) updated ImGui with final version 1.80. - (2021.01.22) removed Vulkan1 plugin. Now the active Vulkan plugin is the second version, Vulkan2. - (2021.01.22) removed Python 2 plugin. Only Python 3 plugin is developed. + (2021.01.21) [masOS] added support of Apple M1 with native compilation for ARM64 architecture. + (2021.01.21) [masOS] added support of macOS 11.1 Big Sur. + (2021.01.20) GPU monitoring: added support of NVIDIA GeForce GT 1010 + (2021.01.20) GPU monitoring: added support of NVIDIA GeForce RTX 3080 Laptop, RTX 3070 Laptop and RTX 3060 Laptop. ! (2021.01.19) updated Assimp plugin with latest github snapshot. + (2021.01.14) added support of Vulkan ray tracing. A bunch of new functions has been added in the gh_vk library in Lua and Python to deal with ray tracing. See gh_vk.raytracing_xxxxx() functions. * (2020.12.30) fixed a bug in gh_vk.descriptorset_update_resource_rt_color(): the sampler was invalid. descriptorset_update_resource_rt_color() is important for the resizing a a render target. + (2020.12.30) added create_perspective_vk() and update_perspective_vk() to gh_camera for Vulkan demos. + (2020.12.28) added set_vertex_alloc_params_force_face_u32() to gh_mesh. + (2020.12.26) added vk_add_spirv_module_file() to gk_vk. Version 0.39.2 - 2020.12.26 ----------------------------- * (2020.12.16) fixed the material management in Vulkan when models with sub-meshes are rendered. + (2020.12.16) added vk_descriptorset_bind() to gh_material. + (2020.12.14) updated gh_gpu_buffer.set_matrix4x4() with new types: camera_inv_projection and camera_inv_view. + (2020.12.14) added uniform_matrix() to gh_gpu_program lib. * (2020.12.14) fixed a bug in the texture coordinates read by the built-in glTF loader. 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. Version 0.38.1 - 2020.09.25 ----------------------------- ! (2020.09.25) updated Bullet3 plugin with latest Bullet3 Physics 3.05. + (2020.09.11) added create_hdr_from_file_v1() and create_hdr_from_zip_file_v1() to gh_texture lib. 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. Version - 2020.08.19 ----------------------------- * (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, ... Version - 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. Version - 2020.08.05 ----------------------------- + (2020.08.05) added actor_create_static_plane_v2() to gh_bullet3 lib. + (2020.08.05) added slider_2f() and slider_3f() to gh_imgui lib. ! (2020.08.05) updated glTF built-in loader with latest cgltf 1.7. Version - 2020.08.04 ----------------------------- + (2020.08.04) [Linux / Raspberry Pi OS] added implementation of gh_utils.set_new_scene_data(). Version 0.35.1 - 2020.08.01 ----------------------------- ! (2020.08.01) updated QR code scanner to handle large QR codes. + (2020.08.01) added update_shader_from_memory() to gh_gpu_program (lua, python). ! (2020.08.01) added missing update_shader_from_file() to gh_gpu_program (python). * (2020.08.01) fixed a crash during terminate step in ImGui font management when a font is created from a zip file (gh_imgui.add_font_from_zip_file()). Version 0.35.0 - 2020.07.28 ----------------------------- + (2020.07.28) added qr_code_scan() and qr_code_gen() to gh_utils to dea with QR codes. ! (2020.07.28) updated built-in image writer with latest version of STB image writer 1.15. ! (2020.07.28) updated built-in image loader with latest STB image 2.26. Version 0.34.1 - 2020.07.27 ----------------------------- + (2020.07.27) [Windows] update FFmpeg plugin with latest version 4.3.1 build 2020.07.24. + (2020.07.23) [Linux] added shortcut CTRL+R to quickly reload the current scene. Version 0.34.0 - 2020.07.15 ----------------------------- + (2020.07.15) [Windows] updated Python 3 plugin with latest Python 3.8.4. + (2020.07.03) added support of ImPlot, a new widget lib for plotting data with ImGui. ! (2020.07.01) updated LFS (Lua FileSystem) 1.8.0. ! (2020.06.30) updated Lua scripting engine with new Lua 5.4.0. ! (2020.06.29) updated built-in Dear ImGui support with latest version 1.77. ! (2020.06.28) updated built-in SQLite support with latest version 3.32.3. + (2020.06.22) added vk_create_from_spirv_module_zip() and vk_create_mesh_task_from_spirv_module_zip() to gh_gpu_program lib (lua, python). + (2020.06.22) added vk_create_mesh_task_from_spirv_module_file() to gh_gpu_program lib (python). Version 0.33.2 - 2020.06.17 ----------------------------- ! (2020.06.17) [Windows] updated FFmpeg plugin with latest FFmpeg SDK 4.3.0. ! (2020.06.17) updated built-in SQLite support with latest version SQLite 3.32.2. Version 0.33.1 - 2020.06.12 ----------------------------- ! (2020.06.12) [Raspberry Pi] all RGB LED Matrix demos have been updated and tested. They are now in {GeeXLab RPi folder}/demopack02/rpi_rg_matrix/ and each demo has its own folder. * (2020.06.12) [Raspberry Pi] bugfix: now GeeXLab is linked with its own version of wiringPi lib and not with the version shipped with RaspiOS. + (2020.06.12) [Raspberry Pi] updated the wiringPi library with version 2.60. This version works fine with Raspberry Pi 4. Version 0.33.0 - 2020.06.11 ----------------------------- + (2020.06.11) [Raspberry Pi] updated the RGB Led Matrix lib with RPi4 support. + (2020.06.09) added srandom(), random16() and random32() to gh_utils lib. + (2020.05.29) added get_gpu_rt_tensor_cores() to gh_gml lib. + (2020.05.29) [Windows] updated FFmpeg plugin with latest FFmpeg SDK 4.2.3. + (2020.05.29) added win32_audio_volume_control() to gh_utils. ! (2020.02.26) updated built-in SQLite support with latest version SQLite 3.32.1. + (2020.05.22) added combo_box_draw_v2() to gh_imgui lib. + (2020.05.18) added functions to deal with shared memory (IPC: Inter Process Communication) shmem_create(), shmem_kill(), shmem_is_available(), shmem_map() and shmem_unmap() to gh_utils. Version 0.32.0 - 2020.05.07 ----------------------------- ! (2020.05.07) [Windows, Linux] updated ImageMagick plugin with latest version 7.0.10-10. ! (2020.05.07) updated the kx framework ({GeeXLab folder}/libs/lua/framework_v1/) with new Vulkan2 renderer. + (2020.05.06) added descriptorset_add_resource_empty_texture_array() and descriptorset_update_resource_texture_array() to gh_vk. + (2020.05.06) added bullet() to gh_imgui lib. + (2020.05.05) added mesh_shader_get_property_value_nv() to gh_vk. + (2020.05.04) added meshlet support for mesh shaders. New set of functions added in gh_mesh: meshlet_xxxxxx(). + (2020.05.02) added draw_mesh_tasks() to gh_vk. + (2020.05.02) added mesh shaders support in Vulkan (VK_NV_mesh_shader). + (2020.05.02) added gl_get_integerv_1i(), gl_get_integerv_4i() and gl_get_integeri_1i() to gh_renderer (Lua only). + (2020.05.02) added create_mesh_task_from_shader_files(), create_mesh_task_from_shader_files_gl_spirv() and vk_create_mesh_task_from_spirv_module_file() to gh_gpu_program lib. + (2020.05.01) added mesh shaders support in OpenGL (GL_NV_mesh_shader). + (2020.05.01) added a new Vulkan plugin (Vulkan2). This new Vulkan plugin improves the command buffer management. + (2020.04.30) added helper function math_quat_from_euler_angles() to gh_utils lib. ! (2020.04.28) updated imGuIZMO.quat with latest version v3.0(2020.04.28). ! (2020.04.27) updated gh_bullet3.actor_set_position() and gh_bullet3.actor_set_orientation() to handle kinematic actors. + (2020.04.26) added actor_get_contact_actor() to gh_bullet3 lib. + (2020.04.24) added a new palette index ("XT95Line") to gh_imgui.color_text_editor_palette_set_color() to add a dark background under lines of code. Thanks to @AnatoleDuprat for the patch! Version 0.31.0 - 2020.04.23 ----------------------------- ! (2020.04.23) updated the glTF core plugin with latest cglft 1.6 + fixed a bug in texture loading. ! (2020.04.22) improved ImGui input character management. ! (2020.04.19) updated the mouse wheel delta management. + (2020.04.18) added set of functions (color_text_editor__xxxxx()) to gh_imgui lib to draw an advanced text editor widget. + (2020.04.18) added set_rounding() to gh_imgui lib. + (2020.04.18) added file_read() and file_write() to gh_utils. + (2020.04.17) added get_text_line_height() and input_text_multiline() to gh_imgui lib. Version 0.30.1 - 2020.04.14 ----------------------------- ! (2020.04.14) updated ImGui with latest version 1.76. ! (2020.04.10) [PRO version] updated gh_utils.check_for_new_version() to handle down servers. Version 0.30.0 - 2020.04.09 ----------------------------- ! (2020.04.09) updated imGuIZMO.quat with latest version 3.0. This lib is accessible via gh_imgui.gizmoquat3d_xx() functions. + (2020.04.08) added set of functions (plot2_xxxxx()) to draw plot lines to gh_imgui lib (lua ans python). This is another lib to draw plotlines. + (2020.04.08) [Windows] added covid-19 python library in the Python 3 distribution that comes with GeeXLab ({GeeXLab}/python3/Lib/site-packages/). + (2020.04.08) [Python plugin] added rebuild_all_fonts() to gh_imgui (missing function). + (2020.04.08) [Python plugin] added set of functions (plot_xxxxx()) to draw plot lines to gh_imgui lib. ! (2020.03.31) compiled the Vulkan plugin with headers v1.2.136. ! (2020.03.31) [Windows] updated OpenVR plugin with latest OpenVR SDK 1.10.30. + (2020.03.30) added set_item_spacing() and get_item_spacing() to gh_imgui lib. + (2020.03.27) added set of functions (plot_xxxxx()) to draw plot lines to gh_imgui lib (lua ans python). Version - 2020.03.08 ------------------------------ ! (2020.03.08) [Python] fixed bugs in {GeeXLab folder}/libs/python/gxcamera_v1.py The version of GeeXLab is still Version - 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. Version - 2020.02.18 ----------------------------- + (2020.02.17) gh_vk lib (Vulkan) available in Python. + (2020.02.17) added get_gpu_driver_v2(), get_memory_info_v2() to gh_gml lib. + (2020.02.15) added SMOL-V support. + (2020.02.15) added spirv_to_smolv() and smolv_to_spirv() to gh_utils lib. + (2020.02.15) added create_from_shader_files_gl_smolv() and vk_create_from_smolv_module_file() to gh_gpu_program lib. Version - 2020.02.14 ----------------------------- * (2020.02.14) fixed the last character return of gh_utils.get_lib_dir() on Windows (now: "\" instead of "/"). ! (2020.02.14) improved error logging in Lua: error message is now written once in log file during in live coding and not every frame... ! (2020.02.13) update glTF built-in plugin with cgltf v1.5. ! (2020.02.13) [Windows] updated OpenVR plugin with latest OpenVR SDK 1.9.16. ! (2020.02.12) updated the Lua built-in plugin to support debugging with ZeroBrane Studio. ! (2020.02.12) removed a CRLF automatically added to the beginning of every script. This CRLF was handy for live coding with built-in editor in the Windows version. But this CRLF broke debugging sessions with ZeroBrane because of the extra line offset added. ! (2020.02.12) the bugfix for releasing ImGui Vulkan resources is now in the GeeXLab SDK and not only in the GeeXLab end user app. Version - 2020.02.10 ----------------------------- ! (2020.02.10) updated ImGui with latest version 1.75. Version - 2020.02.07 ----------------------------- + (2020.02.07) added imGuIZMO.quat support to Linux and Raspberry Pi. * (2020.02.07) fixed the FFmpeg plugin on macOS. ! (2020.02.05) improved UTF8 support in draw_wtext_2d() and draw_wtext_2d_v2() of gh_font lib. + (2020.02.05) added libfont2_wprint() and libfont2_wprint() to libfont Lua and Python libs (in {GeeXLab_Folder}/libs/lua/libfont/ and {GeeXLab_Folder}/libs/python/libfont/). * (2020.02.03) [Vulkan] fixed a bug in the releasing of some Vulkan resources in the ImGui module at the end of a demo. + (2020.02.03) [Windows] added a very experimental and minimal support (3 functions of the scripting API implemeted!) of the Wren scripting language. ! (2020.02.02) updated SQLite3 with latest version 3.31.1. ! (2020.02.02) updated image loader core plugin with latest STB_image version 2.25. Version - 2020.01.23 ----------------------------- ! (2020.01.23) [Windows] updated the GPU monitoring plugin with the support of Radeon RX 5600 XT, GeForce RTX 2060 with TU104 GPU and GeForce GTX 1650 SUPER. ! (2020.01.22) [Linux] updated Bullet3 plugin with latest Bullet3 2.89 SDK. + (2020.01.21) added set_color_mask() and set_depth_mask() to gh_renderer (OpenGL). set_depth_mask is an alias of the existing set_depth_buffer_writing_state. Version - 2020.01.16 ----------------------------- + (2020.01.16) [Windows] updated the GPU monitoring plugin with AMD Navi (Radeon RX 5700 / 5500) monitoring support. ! (2020.01.15) Vulkan plugin recompiled with latest Vulkan 1.2 header files. + (2020.01.15) added get_app_name() to gh_utils lib. ! (2020.01.10) [Windows] added amd_get_overdrive_version(), amd_get_temperatures_rdna(), amd_get_power_rdna() and amd_ags_get_gpu_info() to gh_gml. Version - 2020.01.04 ----------------------------- ! (2020.01.04) [Windows] updated Bullet3 plugin with latest Bullet3 2.89 SDK. ! (2020.01.04) [Windows] updated ImageMagick plugin with latest ImageMagick 7.0.9-13 SDK. ! (2020.01.04) [Windows] updated Logitech LED Illumination plugin with latest LED SDK 9.0. ! (2020.01.04) [Windows] updated OpenVR plugin with latest OpenVR SDK 1.9.15. ! (2020.01.04) [Windows] updated GPU monitoring plugin with latest NVAPI 440 SDK. ! (2020.01.04) [Windows] updated Python 3 plugin with latest Python 3.8.1 SDK. * (2020.01.03) [Windows] fixed a crash in the Vulkan plugin for NVIDIA GPUs when high DPI scale was greater or equal to 225%. * (2019.12.23) [Windows] fixed a bug (memory leak) in gh_utils.get_desktop_resolution(). * (2019.12.16) fixed a bug in gh_renderer.sampler_bind(). Version - 2019.12.14 ----------------------------- + (2019.12.14) [macOS] added support for macOS 10.15 Catalina. Version - 2019.12.12 ----------------------------- + (2019.12.12) [Windows] added temp_directory_path() to gh_utils. + (2019.12.10) added new gh_vk library in Lua. gh_vk allows to access the Vulkan renderer functions. Same thing than gh_renderer but with Vulkan only functions. ! (2019.12.10) [Vulkan plugin] updated with latest Vulkan headers 1.1.130. ! (2019.12.10) [OpenVR plugin] updated with latest OpenVR SDK 1.8.19. * (2019.12.09) [FFmpeg plugin] minor changes in frame seeking. Version - 2019.12.07 ----------------------------- * (2019.12.07) [Vulkan plugin] fixed a synchronization bug with command buffers submission (fences + semaphores). Version - 2019.12.05 ----------------------------- * (2019.12.05) [Vulkan plugin] added a semaphore to fix a synchronization crash during presentation. * (2019.12.05) [Vulkan plugin] fixed a bug in the 32-bit version of Vulkan plugin where shader modules values were not correctly cast (the bug was not visible in the 64-bit version of GeeXLab). Version - 2019.12.04 ----------------------------- + (2019.12.04) [Python] added uniform1fv(), uniform2fv(), uniform3fv() and uniform4fv() to gh_gpu_program lib. * (2019.12.04) [Python] fixed typos / identation bugs in libs/python/gxl_utils.py ! (2019.12.02) [Windows] CUDA plugin updated with latest CUDA 10.2 SDK. ! (2019.12.01) [Windows] updated imGuIZMO.quat lib to version 2.1. ! (2019.11.30) [Windows] updated Assimp plugin with latest Assimp github snapshot. + (2019.11.30) added load_texture_next() and load_textures_reset_counters() to gh_model lib. * (2019.11.30) fixed a bug in gh_utils.shared_variable_get_value_str(). ! (2019.11.29) fixed a small bug in fullscreen mode on Windows (the menu bar was visible in some cases). + (2019.11.29) added get_desktop_resolution() to gh_utils. ! (2019.11.29) updated ImGui to latest version 1.74. ! (2019.11.29) updated the glTF core loader with the latest version of cgltf 1.4. * (2019.11.29) fixed a bug with fullscreen init on Windows. + (2019.11.29) added gh_utils.set_new_scene_data() in Python. + (2019.11.28) added create_ex_v5() to gh_render_target lib. + (2019.11.28) added mipmapping generation to 2D render targets in OpenGL. Version - 2019.11.26 ----------------------------- ! (2019.11.26) [Linux] Python 3 plugin updated to latest Python 3.80. GeeXLab for Linux includes now its own version of Python 3. - (2019.11.26) [Linux] Python 2 plugin removed. ! (2019.11.26) [Linux] full recompilation on Linux Mint 18.3 to use old GLIBC 2.23 and remove GLIBC 2.27 dependency. + (2019.11.26) [Lua] removed gh_utils.set_new_scene_filename(), added gh_utils.set_new_scene_data(). ! (2019.11.21) [Lua] gh_imgui.window_begin() and gh_imgui.window_begin_v2(): size and position parameters accept now floating point values. Version - 2019.11.18 ----------------------------- + (2019.11.18) added support of imGuIZMO.quat with a new function added in gh_imgui: imguizmoquat_gizmo3d_v1(). Currently imGuIZMO-quat is only available on Windows platform because of a compilation failure on Linux. * (2019.11.17) [Vulkan plugin] improved and fixed swapchain resize code. + (2019.11.17) added vk_swapchain_has_changed() to gh_renderer for Vulkan renderer. + (2019.11.17) added bind_v2(), unbind_v2() and execute_cmd_buffer_v2() to gh_render_target for Vulkan renderer. * (2019.11.17) fixed a buffer overflow bug in gh_mesh.instancing_set_position_rotation(). ! (2019.11.14) [FFmpeg plugin] added set_option_1i(), video_init_texture_yuv420() and video_update_texture_yuv420() to gh_av_lib. ! (2019.11.11) [FFmpeg plugin / Windows] updated with snapshot ffmpeg-20191111 (v4.2.1). ! (2019.11.09) [FFmpeg plugin] frame seeking didn't work correctly near the end of video. ! (2019.11.07) [FFmpeg plugin] frame seeking now works even if video is in pause. ! (2019.11.05) [FFmpeg plugin] updated gh_av.seek_frame_time(). Video and audio streams are no longer reset if seeking time is equal to 0. Version - 2019.10.27 ----------------------------- ! (2019.10.27) removed a test of OpenGL version in demo starting. In some cases, this test prevented GeeXLab from starting on the Raspberry Pi platform. ! (2019.10.27) [Raspberry Pi] updated Assimp plugin with Assimp 5.0 SDK. Version - 2019.10.24 ----------------------------- * (2019.10.24) bugfix: gh_audio.sound_create() was broken. The function has been broken during the dev of v0.29.4.0. Sorry ;) Version - 2019.10.22 ----------------------------- ! (2019.10.22) [Windows] updated Python 3 plugin with Python 3.8.0. + (2019.10.21) added actor_get_transform_mat16() and actor_get_transform_pos_qrot() to gh_bullet3, gh_physx3 and gh_physx4 libs. + (2019.10.19) [Windows] added new joystick functions based on DirectInput: joystick_init_di(), joystick_terminate_di() and joystick_poll_di() to gh_input. ! (2019.10.19) updated SQLite3 with latest version 3.30.0. Version - 2019.10.01 ----------------------------- * (2019.10.01) [Windows, Linux] fixed a bug in the swapchain re-creation (after a window resizing) in the Vulkan plugin. * (2019.10.01) fixed a crash in gh_utils.raycast_cast_ray_v2() in Python. + (2019.09.30) gh_utils.clipboard_get_text() now works on Linux. + (2019.09.30) added thread_lock_create(), thread_lock_kill_all(), thread_lock_acquire() and thread_lock_release() to gh_utils. + (2019.09.29) added support of threaded screenshot: do_screenshot_v6(), screenshot_kill_image_saving_thread(), screenshot_threaded_get_stats() added to gh_utils. ! (2019.09.26) updated ASSIMP plugin with latest ASSIMP 5.0.0 SDK. + (2019.09.26) added a new command line option: /append_date_to_log_file . This option is also present in init0.xml (append_date_to_log_file="0|1"). Appending date to log filename looks like: _geexlab_log.20190926.175815.txt ! (2019.09.26) gh_utils.get_date_str() updated for Linux and macOS platforms. Version - 2019.09.25 ----------------------------- + (2019.09.25) [RaspberryPi / TinkerBoard] FMOD plugin added! ! (2019.09.25) [RaspberryPi / TinkerBoard] enabled multisampling support (GL_MULTISAMPLE). + (2019.09.25) [RaspberryPi] updated WiringPi with latest version 2.52 (including RPi 4 support). ! (2019.09.25) updated ImGui with latest version 1.73. ! (2019.09.25) [Windows] updated GPU Shark + (2019.09.24) [OpenGL renderer] added support of GL_SAMPLE_ALPHA_TO_COVERAGE and GL_SAMPLE_ALPHA_TO_ONE in gh_renderer.enable_state(). ! (2019.09.24) [FMOD plugin] updated with latest FMOD Core SDK version 2.0.4 on Windows, Linux and macOS. ! (2019.09.24) [FMOD plugin] added FMOD_CREATESAMPLE to sound creation. This flag forces the decompression at loadtime, decompressing or decoding whole file into memory. It's the fastest for playback. * (2019.09.23) fixed a bug in libs/lua/gxl.lua and libs/python/gxl_utils.py: the addressing mode was not set in set_sampler_params(). Version - 2019.09.19 ----------------------------- * (2019.09.19) [Vulkan plugin] fixed an issue with swapchain resize. * (2019.09.19) [Vulkan plugin] fixed a buffer overflow (vkCmdCopyBuffer-size) in vertex/index buffer creation. + (2019.09.19) [Raspberry Pi] added SDL2/audio support in the FFmpeg plugin. OMX/IL is disabled. + (2019.09.11) added screenshot support to the Vulkan renderer (via do_screenshot(), do_screenshot_v{2, 3, 4, 5}() of gh_utils). ! (2019.09.11) fixed / improved gh_imgui.input_text() function. ! (2019.09.11) improved the calculation of text width in gh_font.get_text_width(). * (2019.09.11) fixed bug in do_screenshot_v4() and do_screenshot_v5() of gh_utils in Lua. + (2019.09.09) added support of seeking in the FFmpeg plugin. + (2019.09.09) FFmpeg plugin + audio is now available on TinkerOS (Tinker Board). ! (2019.09.07) the FFmpeg plugin has been updated with latest version 4.20 of FFmpeg SDK and latest SDL2 2.0.10 SDK (for audio). ! (2019.09.06) [RPi + X11 + GL2.1] Python 3 plugin is compiled with Python 3.7.3 libs. * (2019.09.06) bugfix: Python 2 and Python 3 plugins: the Python plugin was stopped when Py_GetPythonHome() returned a NULL value. It's no longer the case (this bug was visible on the latest Raspbian/Buster). ! (2019.09.05) [Linux] PhysX 4 plugin: the CPU scene dispatcher is now initialized with the correct number of CPU threads (for example 16 with a RyZen 7 1700 CPU). + (2019.09.05) added several key codes in the keyboard mapping on Linux (and RPi + X11): KC_TAB, KC_ESCAPE, KC_RETURN, KC_DELETE, KC_INSERT, KC_HOME, KC_PGUP, KC_PGDOWN, KC_LSHIFT, KC_RSHIFT, KC_LCONTROL, KC_RCONTROL, KC_NUMLOCK, KC_LMENU and KC_LMENU. * (2019.09.05) bugfix: fixed a minor initialization bug in gh_bullet3, gh_physx3 and gh_physx4. Now get_version() works even if start() function is not called before. ! (2019.09.05) [Windows / Linux] updated ImageMagick plugin with latest version 7.0.8-63. - (2019.09.05) ftgl plugin removed from linux version (compilation errors...). ! (2019.09.04) improved slider_1i(), slider_1f(), slider_4f(), vslider_1f(), vslider_1i(), color_edit_4f() and color_picker_4f() of gh_imgui lib. * (2019.09.04) bugfix: fixed a crash in gh_sqlite3.db_exec() when an error is detected by SQLite3. + (2019.09.04) added pack_rgba_u8() and unpack_rgba_u8() to gh_utils. + (2019.09.02) added tree_node_ex() and tab_item_begin_v2() to gh_imgui. * (2019.08.26) fixed the title bar update in the PRO version. Version - 2019.08.21 ----------------------------- + [2019.08.21] added vk_present_mode attribute to the window XML node. ! [2019.08.20] updated glTF built-in loader with latest version 1.3 of cgltf. + [2019.08.16] added create_scene_set_solver_type(), scene_sync_3d_objects_v2() and scene_get_num_active_actors() to gh_physx4 lib. ! [2019.08.14] [Windows] updated PhysX 4 plugin with latest version 4.1.1. ! [2019.08.13] Vulkan renderer plugin compiled with latest Vulkan headers v1.1.118. ! [2019.08.13] [Windows] updated ImageMagick plugin with latest version 7.0.8-60. ! [2019.08.10] now, plugins are loaded when necessary, no longer at the beginning of GeeXLab, resulting in a faster startup. + [2019.08.09] added win_registry_read_value_dword(), win_registry_read_value_string(), win_registry_write_value_dword(), win_registry_write_value_string(), win_registry_create_key() and win_registry_delete_key() to gh_utils. + [2019.08.07] added SPIRV support for OpenGL shaders (GL_ARB_gl_spirv). New scripting functions: create_gl_spirv(), create_from_shader_files_gl_spirv() and create_from_zip_file_gl_spirv() added to gh_gpu_program lib. + [2019.08.07] added set_value_4x4f() to gh_gpu_buffer lib. + [2019.08.07] added mipmapping support to Vulkan renderer. + [2019.08.07] added get_num_mipmaps() to gh_texture lib. * [2019.08.06] removed an unnecessary Vulkan plugin initialization at the start of a demo. This useless Vulkan plugin initialization prevented the debugging with Radeon GPU Profiler ([RDP] Ignoring duplicate instance of GeeXLab). + [2019.07.31] [GPU monitoring plugin] added support of GeForce RTX 2080 SUPER and added variants of RTX 2060/2070 SUPER. ! (2019.07.29) updated ImGui with latest version 1.72. ! (2019.07.29) updated Python 3 plugin with latest version 3.7.4. ! (2019.07.29) Python plugins renamed: plugin_gxl_python2_x64 and plugin_gxl_python3_x64. ! (2019.07.29) updated SQLite3 with latest version 3.29.0. Version - 2019.07.03 ----------------------------- + [2019.07.03] [GPU monitoring plugin / windows] added support of GeForce RTX 2060 SUPER and RTX 2070 SUPER. + [2019.07.03] added pointer support in shared variable functions of gh_utils ex: shared_variable_set_value_ptr(), shared_variable_get_value_ptr(), etc). ! (2019.07.03) [Python plugin] added gh_imgui.get_font_size(). ! (2019.07.02) [ImageMagick plugin / win64] updated with latest SDK 7.0.8-51. ! (2019.07.02) [OpenVR plugin / win64] updated with latest SDK 1.4.18. ! (2019.07.02) [GPU monitoring plugin / win64] updated with latest NVAPI R430. ! (2019.07.01) [Python plugin] gh_imgui.add_dummy() renamed in gh_imgui.dummy(). Version - 2019.06.21 ----------------------------- ! (2019.06.21) updated scripting API guide (gh_audio, gh_bullet3, gh_camera, gh_flex and gh_font). ! (2019.06.17) updated ImGui with latest version 1.71. * (2019.06.12) fixed a bug in gh_audio.sound_create_from_zip(). + (2019.06.12) added libfont2 to GeeXLab standard libs (libs/lua/libfont/libfont2.lua). + (2019.06.04) added instancing_set_position_update_range(), instancing_set_rotation_update_range(), instancing_set_color_update_range(), instancing_set_scale_update_range() and instancing_set_position_rotation() to gh_mesh. ! (2019.06.04) improved geometry instancing update speed. + (2019.05.30) added script_plugin_set_param_1i() to gh_utils. Version - 2019.06.28 ----------------------------- * (2019.05.28) fixed a bug in gh_physx4.gpu_is_supported() and gh_physx3.gpu_is_supported(). ! (2019.05.23) added a function (libfont_init_font_height) to init the font height in libfont library (lua/libfont/libfont.lua and and python/libfont/libfont.py). + (2019.05.22) added a new set of functions (v2) for shared variables that take an identifier (int) in place of a string for the name of the variable (gh_utils.shared_variable_xxxxx_v2()). ! (2019.05.22) improved the loading of glTF files from zip archives (gh_model.create_from_zip_file_loader_gltf()). * (2019.05.21) [Python] fixed crash in create_actor_box(), create_actor_box_v2(), create_actor_box_v3(), create_actor_mesh(), create_actor_mesh_v2(), create_actor_mesh_v3(), create_actor_capsule(), create_actor_capsule_v2(), create_actor_plane(), create_actor_plane_v2(), create_actor_sphere(), create_actor_sphere_v2() of gh_physx3 lib. * (2019.05.21) [Python] fixed crash in texture_swirl(), texture_spread() of gh_imagemagick lib. * (2019.05.21) [Python] fixed crash in bind_range() of gh_gpu_buffer lib. * (2019.05.21) [Python] fixed crash in create_from_buffer() of gh_font lib. * (2019.05.21) [Python] fixed crash in shapes_set_box(), shapes_set_box_v2() and particles_update_active() of gh_flex lib. * (2019.05.21) [Python] fixed crash in scene_set_solver_num_iterations() of gh_bullet3 lib. * (2019.05.21) [Python] fixed crash in sound_create(), sound_create_from_zip(), sound_create_from_buffer(), sound_create_from_sqlite3_blob_v1() of gh_audio lib. * (2019.05.21) [Python] fixed crash in set_gpu_led_color() and set_mb_led_color() of gh_asus_aura lib. + (2019.05.20) added create_from_zip_file_loader_gltf() to gh_model. ! (2019.05.20) improved zip support for shaders declared in the XML file. Version - 2019.05.14 ----------------------------- . (2019.05.14) recompilation for all platforms, minor bugs fixed. ! (2019.05.14) updated Bullet3 plugin with latest version 2.88 on macOS, Raspberry Pi and Tinker Board. + (2019.05.14) added Python 3 support on Raspberry Pi and Tinker Board. + (2019.05.13) added create_box_8v() to gh_mesh. + (2019.05.12) added create_from_file_loader_gltf() to gh_model. ! (2019.05.09) added automatic call to ImGui terminate function at the end of a demo. Useful if you forget to explicitly call it in the TERMINATE script... + (2019.05.08) added set_next_item_width() to gh_imgui lib. ! (2019.05.08) updated ImGui with latest version 1.70. ! (2019.05.08) updated SQLite3 with latest version 3.28.0. Version - 2019.05.04 ----------------------------- ! (2019.05.04) updated gh_imgui lib with missing color elements for tabs (see IMGUI_TAB_COLOR, etc. in the scripting API doc). * (2019.05.03) fixed minor bugs in the stopping phase of some plugins (Bullet3 and FleX). + (2019.05.03) added screenshot functionality at the end of a demo (command line). + (2019.05.02) [Windows / Linux] added new library: gh_flex to deal with NVIDIA FleX plugin. + (2019.05.02) [Windows / Linux] added NVIDIA FleX plugin for particles and fluids simulation. * (2019.05.02) fixed a bug in the OpenGL renderer: VAOs were not enabled with VBOs in the gh_vb library: drawing with gh_vb lib was not possible with an OpenGL 3 core profile. Version - 2019.04.29 ----------------------------- ! (2019.04.29) updated all ImGui constants in libs/lua/uimgui.lua and libs/python/uimgui.py ! (2019.04.27) updated gh_imgui.input_text(): the state is now returned as second value. ! (2019.04.27) [Vulkan plugin] updated gh_renderer.vk_raytracing_get_property_value_nv(). Version - 2019.04.27 ----------------------------- + (2019.04.27) added get_scroll(), get_scroll_max(), set_scroll(), set_scroll_here_y() and set_scroll_from_pos_y() to gh_imgui lib. + (2019.04.27) added get_cursor_start_pos() to gh_imgui lib. + (2019.04.27) added set_item_default_focus() and set_keyboard_focus_here() to gh_imgui lib. + (2019.04.27) added GeForce GTX 1650 support to the GPU monitoring plugin. + (2019.04.27) [Vulkan plugin] added vk_raytracing_get_property_value_nv() to gh_renderer. + (2019.04.18) [Vulkan plugin] started ray tracing support using VK_NV_ray_tracing. Version - 2019.04.21 ----------------------------- ! (2019.04.21) minor bugfixes in some GeeXLab Python libs (in GeeXLab/libs/python/). + (2019.04.17) [macOS] added PhysX 4.1 plugin. + (2019.04.17) [macOS] added Python 3 plugin (Python 3.7.3). + (2019.04.16) added set_vertices_color_v2() to gh_polyline. + (2019.04.16) added circle_create_v2() to gh_utils. + (2019.04.15) added instancing_get_position(), instancing_get_orientation(), instancing_get_scale() and instancing_get_color() to gh_mesh. ! (2019.04.13) [Windows] updated OpenVR plugin with latest OpenVR SDK 1.2.10. ! (2019.04.13) [Python 3.7 plugin] updated with Python 3.7.3 on Windows. * (2019.04.12) fixed a minor bug in gh_imgui.checkbox(). + (2019.04.12) added list_box_begin() and list_box_end() to gh_imgui lib. * (2019.04.12) [PRO version] [Windows] fixed minor issues in the setting of layered style (for transparent windows). ! (2019.04.12) gh_font.text_2d(): x and y parameters are now float. ! (2019.04.08) [Windows] screen saver, screen blanking and sleep mode are disallowed by default. Use the /allow_screen_saver option to allow screen saver/blanking and sleep mode. Version - 2019.04.05 ----------------------------- ! (2019.04.05) [ImageMagick plugin on Linux] updated with latest SDK 7.0.8-37. ! (2019.04.05) [PhysX plugin on Linux] updated with latest PhysX SDK 4.1. + (2019.04.03) added new color style to imgui lib: "corporate_grey". ! (2019.04.02) [Assimp plugin] updated with latest SDK 5.0.0 RC1 (Windows and Linux). ! (2019.04.01) fixed minor bug in gh_imgui.input_text(). ! (2019.03.27) [ImageMagick plugin on Windows] updated with latest SDK 7.0.8-35. + (2019.03.27) added set_keyboard_key_enabled_state() to gh_utils. + (2019.03.26) added vk_set_command_buffer_swapchain_buffer_index() to gh_render_target for Vulkan. + (2019.03.22) added list_box_draw_v2() to gh_imgui to control the height of the list box. ! (2019.03.21) [PhysX plugin on Windows] updated with latest PhysX SDK 4.1. ! (2019.03.17) [Vulkan plugin] fixed memory leaks, fixed texture loading (incorrect layout...), fixed initialization of features at the creation of a device and several other minor bugs. ! (2019.03.13) updated SQLite 3.27.2. + (2019.03.13) added select_draw_list() to gh_imgui lib (lua, python). ! (2019.03.13) updated with ImGui 1.69. + (2019.03.09) added get_gpu_memory_dedicated_vidmem_kb_nv() to gh_renderer. + (2019.03.08) added set_line_width() and set_line_stipple() to gh_renderer. * (2019.03.08) Python plugin - fixed bug gh_renderer.solid(). * (2019.03.06) fixed return value of ribbon_add_point() and ribbon_add_point_v2() of gh_mesh lib (lua, python). * (2019.03.06) fixed a bug (absolute path vs relative path) in the loading of demofile from the init0.xml. ! (2019.03.06) fixed gh.utils.extract_filename_from_path(). + (2019.03.06) added is_extension_supported() to gh_model lib (lua, python). * (2019.02.28) fixed return value of gh_imgui.is_mouse_clicked(). Version - 2019.02.25 ----------------------------- ! (2019.02.25) [Linux] linked with GLIBC 2.27. ! (2019.02.24) improved mesh ribbon and thick/wide lines support. + (2019.02.23) added ribbon_add_point_v2() to gh_mesh. + (2019.02.22) added get_current() to gh_render_target lib to get the currently bound render target (OpenGL only). ! (2019.02.20) [Assimp plugin / Windows] updated with latest ASSIMP SDK. ! (2019.02.20) [Windows] background message sets window to black. ! (2019.02.19) updated with ImGui 1.68 final release. + (2019.02.14) Python plugin - added missing functions: trackball_init() and trackball_get_orientation() to gh_utils. + (2019.02.14) Python plugin - added missing functions: added set_vertex_alloc_params_separate_vertex_arrays() to gh_mesh. + (2019.02.01) added indent(), unindent(), is_mouse_clicked(), underline(), push_style_color(), pop_style_color(), get_item_rect(), same_line(), separator(), spacing() and url() to gh_imgui lib (lua, python). + (2019.01.18) added actor_set_max_depenetration_velocity() to gh_physx3 and gh_physx4 libraries (lua and python). ! (2019.01.18) PhysX4 plugin internals: dynamicTreeRebuildRateHint set to 200 (default value is 100). Version - 2019.01.15 ----------------------------- + (2019.01.15) added actor_set_solver_iterations() to gh_physx3 and gh_physx4 libraries (lua and python). + (2019.01.15) added tab_bar_begin_v2(), tab_item_begin(), tab_item_end() and tab_item_set_closed() to gh_imgui lib (lua, python). - (2019.01.15) deprecated gh_imgui.tab_bar_add(). ! (2019.01.15) updated with ImGui 1.67 final release. Version - 2019.01.11 ----------------------------- ! (2019.01.11) [Linux] removed the dependency with GCLIB 2.27, so GeeXLab can run on Linux with older versions of GLIBC. Version - 2019.01.09 ----------------------------- * (2019.01.09) fixed bad recompilation of v0.27.1.0. GeeXLab 0.27.2 has been fully recompiled. * (2019.01.09) fixed ImGui input support for Linux (for use with gh_imgui.input_text()). + (2019.01.09) added support Python's GIL (Global Interpreter Lock) in order to run Python scripts in separate system threads... + (2019.01.09) [Python] added some functions in gh_utils to manage global arrays that are readable and writable from any thread / script (gh_utils.global_array_xxx()). Version - 2019.01.08 ----------------------------- ! (2019.01.08) Lua and Python live-coding: errors are now written in log file (and in output box on Windows platform). + (2019.01.08) added input_text() to gh_imgui module in Python. + (2019.01.07) added vk_gpu_get_nvidia_driver_version() to gh_renderer. + (2019.01.07) added new built-in styles to ImGui: "krosoft", "maya", "rayteak", "fromhue", "cherry" and "dark2" (see gh_imgui.set_style_colors()). Version - 2019.01.07 ----------------------------- + (2019.01.06) added set_blending_equation() and set_blending_color() to gh_renderer (lua, python). * (2019.01.06) fixed a bug in gh_imgui.combo_box_create(): label was not assigned. ! (2019.01.06) updated Python 3 plugin in order to automatically import all GeeXLab modules in scripts loaded via the main XML file. ! (2019.01.06) [Linux] updated title bar when GeeXLab is iconized. The demo title is displayed first. ! (2019.01.05) [Windows] updated Python 3 plugin with latest Python 3.7.2. ! (2019.01.04) [Windows / Linux] updated Bullet3 plugin with latest version 2.88. * (2019.01.03) fixed a bug in gh_utils.extract_dir_from_filename() on Linux. * (2019.01.03) fixed a bug in the window event loop on Linux. ! (2019.01.02) fixed a bug in the CUDA plugin (CUDA functions were disabled after a scene reload). ! (2018.12.31) [Linux] ImageMagick plugin updated with SDK version ! (2018.12.31) [Windows] ImageMagick plugin updated with SDK version The branch of ImageMagick crashes on Windows (an issue with aligned memory). + (2018.12.30) added new functions in the gh_renderer lib to list features and limits of a Vulkan device. + (2018.12.30) added a new plugin (plugin_gxc_cuda_x64) to get information about CUDA support on Windows and Linux. A new lib (gh_cuda) has been added in Lua and Python. * (2018.12.29) fixed a bug in the kx framework (Lua): the GPU programs creation failed on Intel GPUs. + (2018.12.28) added new PhysX4 plugin on Linux based on PhysX SDK 4.0. + (2018.12.28) [Linux] added Python 3 plugin (linked with -lpython3.6m). ! (2018.12.28) [Linux] the Python 2 plugin is now linked with standard Python 2 shared object (-lpython2.7). ! (2018.12.28) [Linux] many bugfixes and improvements (dynamic lib loading, no-pie compilation, ... ). This version of GeeXLab has been compiled on Linut Mint 19.1 64-bit. ! (2018.12.28) [Windows / Linux] FFmpeg plugin updated with latest FFmpeg 4.1. ! (2018.12.28) [Windows] ImageMagick plugin updated with SDK version ! (2018.12.27) [Linux] ImageMagick plugin updated with SDK version + (2018.12.22) added new PhysX4 plugin on Windows based on PhysX SDK 4.0. A new lib is available in Lua and Python: gh_physx4. + added helper libs in Python: libs/python/gxl.py, libs/python/imgui.py libs/python/gx_cam_lib_v1.py and libs/python/libfont/libfont1.py. + (2018.12.22) added draw_primitives_instancing() to gh_renderer lib (lua, python). + (2018.12.22) added set_vertex_attrib_instancing_divisor() to gh_vb lib (lua, python). Version - 2018.12.19 ----------------------------- * (2018.12.19) on Windows platform, the scene reloading with CTRL+R was broken for demos in zip files. + (2018.12.18) added buffer_copy() to gh_utils lib (lua, python). * (2018.12.18) fixed wrong param index in gh_utils.buffer_create() in Lua. ! (2018.12.18) gh_utils.buffer_kill() can now delete all kind of memory buffers (from zip, from file and from... memory). * (2018.12.18) fixed a buffer overflow in gh_utils.exe_from_buffer(). * (2018.12.18) fixed minor bugs in scene file loading (0-len files). * (2018.12.17) fixed a memory leak in DROP files management. ! (2018.12.15) improved Lua scripting API code: all functions that should return an integer, now, return an integer! + (2018.12.15) added instancing_attrib_buffer_get() and instancing_attrib_buffer_update_needed() to gh_mesh lib (lua, python). The pointer returned by instancing_attrib_buffer_get() can be used with gh_utils.buffer_read_xxx() and gh_utils.buffer_write_xxx() functions. + (2018.12.14) added crc32(), checksum(), md5(), sha1() and sha256() to gh_utils lib (lua, python) for computing the hash of strings. ! (2018.12.14) gh_gpu_buffer.map() and gh_gpu_buffer.map_range() now returns a memory buffer pointer / size. This pointer can be used with gh_utils.buffer_read_xxx() and gh_utils.buffer_write_xxx() functions. Version - 2018.12.13 ----------------------------- * (2018.12.13) fixed a bug in gh_utils.file_buffer_create() and gh_utils.zip_buffer_create() in Python when filename is invalid. ! (2018.12.13) gh_vertex_pool.map_vb() now returns the vertex buffer pointer / size. This pointer can be used with gh_utils.buffer_read_xxx() and gh_utils.buffer_write_xxx() functions. + (2018.12.12) added buffer_crc32(), buffer_checksum(), buffer_md5(), buffer_sha1() and buffer_sha256() to gh_utils lib (lua, python). Version - 2018.12.12 ----------------------------- * (2018.12.12) fixed a bug (crash) in gh_imgui.add_font_from_zip_file(). + (2018.12.12) added HSL <-> RGB functions in the utility library gxl.lua (GeeXLab/libs/lua/gxl.lua): gxl.hsl_to_rgb() and gxl.rgb_to_hsl(). Version - 2018.12.11 ----------------------------- + (2018.12.11) added buffer_read_{1,2,3,4}f() and buffer_write_{1,2,3,4}f() to gh_utils lib (lua, python). + (2018.12.10) added add_font_from_buffer() to gh_imgui lib (lua, python). + (2018.12.10) added draw_triangles_strip() and draw_triangles_fan() to gh_renderer (OpenGL). + (2018.12.10) added texture_create_from_buffer() to gh_imagemagick lib (lua, python). + (2018.12.10) added create_empty() and add_shader_from_buffer() to gh_gpu_program lib (lua, python). + (2018.12.10) added execute_from_buffer() to gh_utils lib (lua, python). + (2018.12.10) added create_from_buffer() to gh_texture lib (lua, python). + (2018.12.10) added create_from_buffer() to gh_font lib (lua, python). + (2018.12.10) added db_bind_blob_from_buffer() to gh_sqlite3 lib (lua, python). + (2018.12.08) added zip_to_file(), buffer_to_file(), zip_buffer_create(), zip_buffer_kill(), file_buffer_create(), file_buffer_kill(), buffer_create(), buffer_kill(), buffer_read_byte(), buffer_write_byte() and buffer_read_line() to gh_utils (lua, python). + (2018.12.08) added create_cube_from_zip_file() to gh_texture lib (lua, python). * (2018.12.08) fixed zip management in gh_model.create_from_zip_file_loader_assimp(). * (2018.12.08) fixed memory leaks related to zip management. ! (2018.12.07) improved zip file management and script source code loading. + (2018.12.06) added add_font_from_zip_file() to gh_imgui lib (lua, python). + (2018.12.04) added Python 3 support via a new plugin. Python 2 and Python 3 scripts can run together in a GeeXLab app. ! (2018.12.04) updated ImageMagick plugin with latest SDK 7.0.8-15. Enabled Q8 and disabled HDRI. ! (2018.12.04) updated PkysX plugin with latest SDK version (December 2018). ! (2018.12.04) updated SQLite3 with version 3.26.0. ! (2018.12.04) updated OpenVR plugin with latest OpenVR SDK 1.1.3 ! (2018.12.04) updated Assimp plugin with latest github snapshot (2018.12.04). ! (2018.12.04) updated FreeImage plugin with latest version 3.18.0. + (2018.12.04) added exe_string() to gh_utils lib (lua, python). + (2018.12.03) added sound_create_from_sqlite3_blob() to gh_audio lib (lua, python). + (2018.12.03) added create_from_sqlite3_blob() to gh_font lib (lua, python). + (2018.12.03) added create_from_sqlite3_blob() to gh_texture lib (lua, python). + (2018.12.03) added do_file_from_sqlite3_blob() to gh_utils lib (lua, python). + (2018.12.03) added db_column_get_blob(), db_column_blob_to_file(), db_column_blob_to_string(), db_bind_blob_from_file() and db_bind_blob_from_string() to gh_sqlite3 lib. + (2018.12.02) added db_bind_text(), db_bind_int(), db_bind_double() and db_bind_blob_from_file() to gh_sqlite3 lib (lua, python). + (2018.11.28) added do_file_from_zip(), get_demo_zip_filename() and extract_dir_from_filename() to gh_utils (lua, python). + (2018.11.28) added sound_create_from_zip() to gh_audio (lua, python). + (2018.11.28) added create_from_zip_v1() to gh_font (lua, python). + (2018.11.28) added texture_create_from_zip_file() to gh_imagemagick (lua, python). + (2018.11.26) added add_font_from_file(), rebuild_all_fonts(), push_font(), pop_font(), set_default_font() and reset_default_font() to gh_imgui lib (lua, python). + (2018.11.25) added vendor_id_to_vendor_name() to gh_utils (lua, python). + (2018.11.24) added get_gpu_arch_data(), update_v2() to gh_gml library (lua, python). + (2018.11.23) added new functions to gh_gml library to get GPU power information (lua, python). + (2018.11.23) added get_cursor_screen_pos(), get_cursor_pos(), dummy(), set_window_focus(), add_line_to_drawlist(), add_bezier_curve_to_drawlist(), add_circle_to_drawlist() and add_quad_to_drawlist() to gh_imgui lib (lua, python). ! (2018.11.22) updated ImGui with version 1.66 release. + (2018.11.21) added get_base_boost_clocks() to gh_gml lib for NVIDIA GPUs. ! (2018.11.14) changed the title bar content: first the demo title, then the GeeXLab version, and rendering speed + renderer name et the end. * (2018.11.14) bugfix: a wait_for_gpu() has been added before calling the TERMINATE script. This bugfix is particularly useful for Vulkan demos where the resources were not properly destroyed. ! (2018.11.14) updated SQlite3 engine with latest version 3.25.3. ! (2018.11.06) GPU monitoring plugin compiled with latest AMD ADL SDK. * (2018.11.05) fixed a bug in the GPU usage reading of some AMD Radeon GPUs. * (2018.10.31) Vulkan plugin: fixed bug in swapchain resizing when the 3D window is minimized. Fixed minor bugs in texture layout transistion. ! (2018.10.31) Vulkan plugin: compiled with latest headers (v1.1.90). ! (2018.10.24) updated OpenVR plugin with latest OpenVR SDK .0.17 + (2018.10.24) added clipboard_set_text() and clipboard_get_text() to gh_utils. ! (2018.10.23) updated SQlite3 engine with latest version 3.25.2. + (2018.10.23) added time_to_hour_min_sec() to gh_utils. + (2018.10.23) added file_sha256() to gh_utils lib. + (2018.10.22) added file_md5() and file_sha1() to gh_utils lib. + (2018.10.10) added file_crc32() and file_checksum() to gh_utils lib. + (2018.10.10) added load_textures_from_zip() to gh_model lib. + (2018.10.04) added create_from_zip_file_loader_assimp() to gh_model lib. + (2018.10.04) added create_from_zip_file() to gh_gpu_program lib. + (2018.10.04) added zip file support in gpu_program xml node. + (2018.10.02) added create_from_zip_file_v1() to gh_texture lib (lua, python). + (2018.09.30) added math_quat_from_vectors_rotation() and math_quat_from_lookat() to gh_utils lib (lua). + (2018.09.22) added GL_TEXTURE_CUBE_MAP_SEAMLESS to gh_renderer.enable_state(). + (2018.09.16) added error messages for mesh instancing initialization (gh_mesh.instancing_init()). + (2018.09.15) added new lib (gh_vb available in lua and python) to create and render vertex buffers. + (2018.09.15) added draw_lines_strip() and draw_lines_loop() to gh_renderer (lua, python). + (2018.09.15) added uniform_modelviewproj_matrices(), set_uniform_camera_matrices_v2() and upload_uniforms() to gh_gpu_program (lua, python). ! (2018.09.12) updated ImGui with version 1.66 WIP. + (2018.09.12) added sanitize_string() and printc() to gh_utils (lua, python). + (2018.09.11) added run_compute_group_size() to gh_gpu_program lib (lua, python). ! (2018.09.10) small changes in the Lua Hello! framework (GeeXLab libs folder). + (2018.09.03) added read_physx_info() to gh_physx3 lib (lua, python). Version - 2018.09.02 ----------------------------- ! updated ImGui with latest version 1.64. ! minor changes in core libraries. Version - 2018.08.18 ----------------------------- ! [WINDOWS] updated the launching demo (default demo). ! updated ImGui with latest version 1.63 WIP. ! updated NanoVG with latest version. ! [WINDOWS] updated ImageMagick plugin with latest SDK 7.0.8-9 ! [WINDOWS] updated Assimp plugin with latest SDK. ! [WINDOWS] updated FBX plugin with latest SDK FBX_2019. ! [WINDOWS] updated Bullet Physics plugin with latest version 2.88 ! [WINDOWS] updated PhysX 3 plugin with latest SDK ! [WINDOWS] updated OpenVR plugin with latest SDK 1.0.16 ! [WINDOWS] updated FFmpeg plugin with latest SDK 4.0.2 ! [WINDOWS] updated GPU monitoring plugin with latest NVAPI 396 + added get_frame_counter(), get_fps_avg() and get_fps_cur() to gh_utils lib (lua and python). + added get_vertex_absolute_normal() to gh_mesh lib (lua and python). - removed the MadView3D demo in the {GeeXLab}/apps/ folder. MadView3D is now a separate application (https://geeks3d.com/madview3d/) Version - 2018.06.23 ----------------------------- * fixed a minor bug in gh_object.render_geometry(): the render state was not used. Version - 2018.06.17 ----------------------------- + added drag and drop support for Linux, Raspberry Pi (GL 2.1 version) and Tinker Board (GL ES version). + added is_any_window_hovered() to gh_imgui. * fixed gh_imgui.is_window_hovered(). ! updated gh_imgui.frame_begin() and gh_imgui.frame_begin_v2(): now mouse button state params can be boolean or integer. * fixed bug in the multisampling (MSAA) management. Now you can enable/disable msaa with gh_renderer.enable_state("GL_MULTISAMPLE") or gh_renderer.disable_state("GL_MULTISAMPLE"). + added db_get_version() to gh_sqlite3 lib (lua, python). ! updated SQlite3 engine to version 3.24.0. Version - 2018.06.10 ----------------------------- ! updated ImageMagick plugin with auto-orientation of image at loading. * fixed a minor bug in PhysX cloth creation (actor.sceneid was not initialized with scene id). ! [WINDOWS] updated the buffer size for the drag and drop operations. + added show_metrics_window() to gh_imgui lib (lua, python). Version - 2018.06.07 ----------------------------- + added actor_update_mass(), update_material(), kill_material() and actor_set_material() to gh_physx3 lib. + added actor_update_mass(), material_update() and actor_set_material() to gh_bullet3 lib. ! re-enabled the test to know if a version of GeeXLab can run a demo (required_version_major, required_version_minor, required_version_patch and required_version_build attributes in the XML root node). * fixed a stupid crash in gh_imagemagick.file_exif_get_property(). Version - 2018.06.04 ----------------------------- + added Bullet Physics support via a new plugin and the gh_bullet3 library for Lua and Python. The Bullet Physics plugin is available on all platforms. + added create_cylinder_xyz() to gh_mesh lib (lua, python). + added list_clipping_begin() and list_clipping_end() to gh_imgui lib (lua, python). Perfect to handle very very large lists. + [WINDOWS] added minimal joystick support with 4 new functions in gh_input lib: joystick_get_num_supported(), joystick_get_status(), joystick_get_button_state() and joystick_get_position(). + added mouse_set_position() to gh_input for all platforms. ! updated gh_input.mouse_show_cursor(): now available on all platforms. + added sound_get_open_state() and sound_spectrum_read_v2() to gh_audio lib (lua, python). + added collision contact reporting in the PhysX plugin (actor_get_contact_info() and scene_reset_all_contacts() in gh_physx3). + added create_scene_broadphase_sap(), create_scene_broadphase_mbp(), create_scene_broadphase_gpu(), actor_set_stabilization_threshold(), actor_set_3d_object(), scene_sync_3d_objects(), actor_clear_forces(), actor_get_angular_velocity(), actor_get_angular_speed2(), actor_get_linear_velocity() and actor_get_linear_speed2() to gh_physx3 lib. ! added new parameter to actor_add_force() and actor_add_force_at_position() of gh_physx3 lib. ! improved the PhysX 3 plugin loading speed on Windows. There was a WMI routine that slowed down the plugin initialization by trying to read some CPU data. + added file_exif_to_log(), file_exif_get_num_properties(), and file_exif_get_property() to gh_imagemagick lib (lua, python). ! updated ImGui / gh_imgui lib with latest version 1.62 WIP. + added mouse_get_position_v2() and mouse_set_position() to gh_input lib (lua, python). - disabled imgui_tabs functions (broken with latest ImGui 1.62). + [TINKER BOARD / RASPBERRY PI] added trilinear filtering for OpenGL ES renderer. * [LINUX] fixed a bug in the keyboard management (keycodes were treated as 8-bit while they are 16-bit in X11). Some keys like S or RIGHT arrow were the same key for GeeXLab. * fixed a crash in gh_sqlite3.db_column_get_text() in the Python plugin. Version - 2018.05.14 ----------------------------- ! improved gh_imgui.window_begin() robusteness when window name is null (nil in Lua or None in Python). ! moved the SQLite3 engine in GeeXLab core libraries. The plugin_gxc_sqlite3 is no longer required to use gh_sqlite3 functions. Version - 2018.05.13 ----------------------------- + added create_scene_v2() and actor_enable_ccd() to gh_physx3 lib (lua, python). ! updated: the log file is now cleared at each demo loading when you keep GeeXLab opened between each demo. * fixed a minor bug in the scripting error management (in cases of runtime errors, GeeXLab returned to OS even with the previous bugfix). Version - 2018.05.13 ----------------------------- ! simplified the error management during initialization of a demo: a red screen is displayed (error traces are still in log files). + added new trace header type (2) and new command line option for that: /traces_header_type=x. Type 2 is now the default header type. * [WINDOWS] fixed a minor bug in the window management in multithreading mode when a scripting error is detected. GeeXLab no longer returns to Windows. Version - 2018.05.11 ----------------------------- + added vk_get_feature_state(), vk_gpu_get_limit_ui32(), vk_gpu_get_limit_f32(), vk_gpu_get_limit_4ui32() and vk_gpu_get_limit_4f32() to gh_renderer lib (lua, python). * Vulkan plugin: fixed swapchain resizing + other minor bugs. * [WINDOWS / LINUX] bugfix: the Vulkan plugin was not loaded for a Vulkan demo. + added get_face_normal() to gh_mesh lib (lua, python). + SQLite3 plugin: added db_open_v2(), db_enable_extended_result_codes(), db_get_extended_errcode(), db_get_errcode(), db_get_last_insert_rowid(), db_get_column_name() and db_column_get_text() to gh_sqlite3 lib (lua, python). Version - 2018.05.03 ----------------------------- ! improved monitoring mode, a mode where GeeXLab does not eat CPU and GPU cycles if not necessary. Monitoring mode is available on all platforms. + [WINDOWS] GeeXLab keeps its size on high DPI systems (no longer blurry effect). + [WINDOWS/LINUX] added gl_forward_compatible element in the XML window node. ! updated gh_imgui lib with latest version 1.61 WIP. + added mouse wheel support in ImGui functions (gh_imgui.frame_begin_v2()). + added frame_begin_v2(), set_next_window_content_size(), collapsing_header(), text_unformatted_v1(), text_unformatted_v2(), column_get_width(), column_set_width(), column_get_offset(), column_set_offset(), get_font_size(), calc_text_size(), begin_child(), end_child(), popup_open(), popup_begin(), popup_begin_context_item(), popup_end(), selectable() and button_arrow() to gh_imgui lib (lua, python). + added get_gpu_config() to gh_gml lib (lua, python). + added plotline_draw_v2() to gh_imgui lib (lua, python). + added vk_instance_get_num_layers(), vk_instance_get_layer_name(), vk_gpu_get_num_layers(), vk_gpu_get_layer_name(), vk_gpu_get_num_memory_heaps(), vk_gpu_get_heap_size() and vk_gpu_get_device_type() to gh_renderer (lua, python). * Vulkan plugin: fixed a crash on Radeon GPUs by disabling the call to vkGetPhysicalDeviceProperties2() with Adrenalin 18.3.4. * Vulkan plugin: fixed a bug in the enumeration of device extensions. + [RPI / TINKER BOARD] added LuaJIT support. + [LINUX] added glx_get_server_num_extensions(), glx_get_server_extension(), glx_get_client_num_extensions(), glx_get_client_extension(), glx_get_renderer_info_int(), glx_get_renderer_info_str() to gh_renderer (lua, python). Version - 2018.04.22 ----------------------------- + added shader_thread_group_get_properties_nv() to gh_renderer (lua, python). + added conservative_rasterization_get_properties_nv() and conservative_rasterization_set_sub_pixel_precision_bias_nv() to gh_renderer (lua, python). + added support of GL_INTEL_conservative_rasterization and GL_NV_conservative_raster. + Vulkan: added vk_shader_core_properties_amd_get_value() to gh_renderer lib (lua, python). + added get_view_matrix_4x4() and get_projection_matrix_4x4() to gh_camera lib (lua, python). + added set_transform() and get_transform() to gh_object lib (lua, python). * fixed gh_physx3.create_actor_mesh_v2(). Convex meshes can now be used in rigid body collisions. ! updated internal functions to set object transformation. Now position and orientation are updated when an object is updated with a transformation matrix. ! updated Vulkan plugin with latest Vulkan 1.1.74 headers. Version - 2018.04.19 ----------------------------- + added set_livecoding_state() to gh_gpu_program lib (lua, python). + added get_color() and set_style_colors() to gh_imgui lib (lua, python). ! ImGui styles are initialized to default values for each new demo. Version - 2018.04.12 ----------------------------- + added new built-in mesh: icosphere (gh_mesh.create_icosphere()). ! updated bounding volume management. + added bounding_volume_set_radius(), bounding_volume_set_aabb_min() and bounding_volume_set_aabb_max() to gh_object lib (lua, python). + added draw_primitives() to gh_renderer lib (lua, python). + added create_actor_mesh_v2() to gh_physx3 lib (lua, python) to handle convex meshes. + added create_actor_capsule() to gh_physx3 lib (lua, python). ! updated enable_state() / disable_state() of gh_renderer lib with "GL_PROGRAM_POINT_SIZE". + [LINUX] added LuaJIT support. Version - 2018.03.29 ----------------------------- ! recompilation, some PhysX 3 functions were broken. Version - 2018.03.28 ----------------------------- + added actor_set_kinematic_target_v2() to gh_physx lib (lua, python) Version - 2018.03.28 ----------------------------- ! updated all gh_object.get_absolute_xxxxx() functions (position, orientation) with the new mode 3 (set_absolute_transform_update_mode). + added a new mode (3) to set_absolute_transform_update_mode(). Version - 2018.03.26 ----------------------------- ! plugin loading: the log file now contains information about plugins that are present. Information about missing plugins is no longer in the log file. ! minor internal changes. Version - 2018.03.25 ----------------------------- + added set_absolute_transform_update_mode() to gh_object (lua, python) Version - 2018.03.25 ----------------------------- + added new library: gh_sqlite3 (lua, python). + added LuaSQL with SQLite3 driver (lua only). + added menu_begin_main_bar(), menu_end_main_bar(), menu_begin_bar(), menu_end_bar(), menu_begin(), menu_end() and menu_item() to gh_imgui lib (lua, python). + added get_uptime() to gh_utils lib (lua, python) ! updated the ImGuizmo library. All gh_imgui.gizmo_xxxxxx() functions are now back (lua, python). Version - 2018.03.21 ----------------------------- + added set_view_matrix_4x4() and set_projection_matrix_4x4() to gh_camera lib (lua / python). + added uniform_4x4f() to gh_gpu_program (lua / python). + added color_edit_4f_v2() and color_picker_4f_v2() to gh_imgui lib (lua / python). + added tree_node_leaf_v2() to gh_imgui lib (lua / python). + added set_cur_font_display_offset() and get_cur_font_display_offset() to gh_imgui lib (lua / python). + added project_3d_to_2d_v1() and project_3d_to_2d_v2() to gh_utils (lua / python). Version - 2018.02.22 ----------------------------- + added joint_revolute_set_angular_limits() to gh_physx3 lib (lua) Version - 2018.02.14 ----------------------------- + added list of all supported 3D formats by Assimp plugin in the log file. ! updated gh_utils.font_render(), gh_font.draw_text_2d() and gh_font.draw_text_3d() to handle strings and numbers (lua only). ! [WINDOWS] PhysX plugin: removed the test of the PhysX version that could prevent PhysX demos from working on some systems. + added stop_demo() to gh_utils (lua / python). Version - 2018.02.10 ----------------------------- + added set_children_render_state() to gh_node lib (lua, python). + added list of all supported image formats by ImageMagick plugin in the log file. + added list of all supported 3D formats by Assimp plugin in the log file. Version - 2018.02.06 ----------------------------- ! [WINDOWS] compiled with VS2017 v15.5.6. Version - 2018.02.05 ----------------------------- + added ASSIMP plugin. ! updated ImageMagick with latest version ! updated ImGui with latest version 1.54 WIP. ! [WINDOWS / Linux / macOS] updated PhysX plugin with latest PhysX 3.4 SDK. ! updated FFmpeg plugin with version 3.4.1. ! [WINDOWS / macOS] updated FBX plugin with FBX SDK v2018.1.1. ! improved gh_imgui.set_color(): now all ImGui colors are supported. + added OpenEXR image support via TinyEXR. Images with tiles are not supported. ! update ObjLoaderV2 plugin with latest version of TinyOBJLoader. ! improved ObjLoaderV1 plugin. ! FFmpeg plugin: optimized a bit the video texture upload to GPU. ! renamed gh_object.average_vertices_normal() in gh_object.smooth_vertices_normal(). + added is_any_item_hovered() to gh_imgui lib (lua / python). + added get_view_quaternion() to gh_camera lib (lua / python). + added set_frame_border_size(), set_frame_rounding(), set_window_border_size() and set_window_rounding() to gh_imgui lib (lua / python). * fixed return code of gh_utils.webcam_start(). * fixed gh_gpu_program.create_from_shader_files(). Version - 2018.01.22 ----------------------------- ! updated Lua LFS 1.7.0. + added create_v3() and wtext_2d() to gh_font lib. Version - 2018.01.13 ----------------------------- ! [TinkerBoard] enabled tessellation on the OpenGL ES renderer. Version - 2018.01.09 ----------------------------- ! [WINDOWS] recompiled with no enhanced intruction set. GeeXLab has been compiled on Windows with /arch:SSE2 intruction set that is no supported on Windows 7 boxes! Version - 2018.01.04 ----------------------------- ! [WINDOWS] updated the PhysX plugin with latest PhysX 3.4.1 SDK. GPU rigid body (GRB) is now supported. + added support of ASUS Tinker Board (OpenGL desktop and OpenGL ES). ![RPi OpenGL ES 2] added reading of the current framebuffer to a texture for RGB LED matrix demos. ![RPi] fixed RGB LED matrix panel support. Now it works fine with Raspbian Stretch and Adafruit HAT. + added rgbmatrix_init_v2() to gh_rpi lib (lua / python). + added set_vertex_alloc_params_separate_vertex_arrays() to gh_mesh lib (lua / python). + added instancing_set_position_v2(), instancing_set_orientation_v2() and instancing_set_num_instances_to_render() to gh_mesh lib (lua / python). + added set_gpu_mem_size_factor(), set_solver_iteration_counts() to gh_physx lib. + added new functions (gizmo_xxxxxx()) to the gh_imgui lib to support ImGuizmo. * fixed a bug in the rendering of fonts in 3D with scaling (lib gh_font). + [WINDOWS] added cpu_usage_get_physical_core_count() to gh_utils (lua / python). ! updated scripting log file: now only scene initialization messages are sent to the _scene_init_log.txt file. The _scripting_log.txt file has been replaced by _scene_init_log.txt. + added is_opengl_es() to gh_renderer (lua / python). + added get_hw_platform() and is_sbc() to gh_utils (lua / python). Version - 2017.11.23 ----------------------------- ! [WINDOWS] added vcomp140.dll in the plugins/ folder for ImageMagick plugin. ! [WINDOWS] recompiled gxl_xxx.dll library. Version - 2017.11.22 ----------------------------- + [WINDOWS X64]: added few experimental functions to gh_utils (lua only) for alloc/set/get global arrays (types: int, float and string): global_array_{type}_alloc(), global_array_{type}_get() and global_array_{type}_set(). Version - 2017.11.21 ----------------------------- + added ImageMagick support via a new plugin (plugin_gxc_imagemagick) and a new library: gh_imagemagick (lua and python). + added new functions to handle open and save file dialog boxes nfd_open_dialog(), nfd_save_dialog() and nfd_pick_folder() to gh_utils (lua / python). + added write_to_file_v4() to gh_texture lib (lua / python). + added copy_sub_texture() and create_from_sub_texture() to gh_texture lib (lua / python). + added new options for saving images (textures). + [WINDOWS] All standard Python libraries are now shipped with GeeXLab in the python/ folder. Python version: 2.7.14. + [WINDOWS] added cpu_get_mem_available_size_mb() and cpu_get_mem_size_mb() in gh_utils lib (lua, python). ! updated trace file: simplified line header, less Vulkan information. ! [WINDOWS] changed mouse cursor: default is arrow, left button is hand. * bugfix in the display of the current slider value in gh_imgui.slider_1i() and gh_imgui.vslider_1i(). * bugfix in the vsync management when the progress bar is used in INIT scripts. Version - 2017.11.10 ----------------------------- + [WINDOWS 32-bit] added support of ASUS Aura lighting SDK. New lib gh_asus_aura in Lua and Python. No ASUS Aura support on Windows 64-bit (see here). + added specification of Vulkan layers and extensions by user (in XML window node and by command line). + added new Lua lib for text rendering based on gh_font lib in {GeeXLab Folder}/libs/lua/libfont/libfont1.lua Version - 2017.10.30 ----------------------------- + added is_luajit() in gh_utils lib (lua only). + added text_wrapped(), columns(), column_next(), group_begin() and group_end() to gh_imgui lib (lua/ python). * bugfix: in texture unit management of ImGui OpenGL renderer. Version - 2017.10.28 ----------------------------- + color_picker_rgba(), radio_button(), get_window_pos_size(), set_tooltip() and image_button() to gh_imgui lib (lua / python). + added is_luajit() gh_utils lib (lua only). + added set_vertex_position_color() to gh_polyline lib (lua / python). ! [WINDOWS] improved mouse cursor management... + added exe_script_v3() and set_thread_affinity_mask() to gh_utils lib (lua / python). set_thread_affinity_mask() works on Windows only. * bugfix: gh_utils.shared_variable_create_array(). Version - 2017.10.26 ----------------------------- + added color_edit_rgba() to gh_imgui (lua / python). ! [WINDOWS] recompiled LeapMotion plugin with SDK version 2.31 to fix a crash when the plugin is destroyed at the shutdown of GeeXLab. Version - 2017.10.24 ----------------------------- + added new mesh type: gear (gh_mesh.create_gear()). + added is_window_hovered() to gh_imgui (lua / python). + added vslider_1i() and vslider_1f() to gh_imgui (lua / python). + added window_begin_v2() to gh_imgui (lua / python) to handle close button. ! updated gh_imgui.window_begin(): the close button is hidden. * fixed a bug in the return value of gh_imgui.window_begin() in Python. + added image() function to gh_imgui (lua / python). Works in OpenGL only. * fixed various minor bugs. Version - 2017.10.15 ----------------------------- [RPi/GLES]: linked with new OpenGL ES libs in Raspbian Stretch: libbrcmEGL.so and libbrcmGLESv2.so. [RPi/GLES]: fixed a bug in the mouse management. [RPi]: added ImGui support. [WINDOWS]: added GeForce GTX 1070 Ti to the GPU monitoring database. + added input text, combo and list boxes support in gh_imgui lib (lua / python). + added tabs support in ImGui lib with the following functions: gh_imgui.tab_bar_begin(), gh_imgui.tab_bar_end() and gh_imgui.tab_bar_add() (lua / python). + added slider_1i() to gh_imgui lib (lua / python). + added mega geometry for faster mesh rendering (experimental). ! updated: gh_imgui.window_begin() returns the open/collapsed state of the window. Version - 2017.09.28 ----------------------------- + added support of ImGui (v1.52) in Vulkan and OpenGL. A new lib is available in Lua and Python: gh_imgui. + [WINDOWS] added new set of functions in gh_utils to get CPU usage (see cpu_usage_xxxx()). ! updated the online reference guide. ! updated the code sample pack with a new learn/ folder. ! updated the Python plugin with missing functions. + added create_from_shader_files() to gh_gpu_program lib (lua / python). + added an internal function to write in the log file all Lua functions. + added mouse_get_position() alias to gh_input library (lua / python). + added get_time_step() to gh_utils lib (lua / python) + added get_api_name() to gh_renderer lib (lua / python) * fixed a crash in the creation of a pipeline object with no descriptor set (Vulkan). * fixed a rare buffer overflow in some trace functions. ! gh_texture.create_from_file() now enables mipmap generation by default. Version - 2017.09.11 ----------------------------- ! [WINDOWS] updated Leap Motion plugin with Leap Motion SDK 3.2.0. ! [WINDOWS / LINUX] updated Vulkan plugin with latest Vulkan 1.0.60 header. ! [WINDOWS] updated OpenVR plugin with latest OpenVR SDK ! updated the GPU monitoring code of the Lua kx framework (v1.6) used by GeeXLab demos. ! [RPi] the RGB Matrix panel library has been updated for Raspbian Stretch. ! [RPi] in the OpenGL ES version, input management (keyboard and mouse) has been recoded. * [macOS] bugfix: system buttons and title bar are now correctly displayed for the 3D window. That was broken since Xcode 7. * [macOS] bugfix: mouse position is now correctly updated. * [macOS] bugfix: GeeXLab crashed when window was resized to fullscreen. * [macOS] bugfix: GeeXLab window is now correctly displayed at startup. Version - 2017.08.25 ----------------------------- + [WINDOWS] added support of LuaJIT. + [WINDOWS / LINUX] added support of tessellation in the Vulkan plugin. * [WINDOWS / LINUX] fixed a bug in the swapchain management in the Vulkan plugin. ! [WINDOWS / LINUX] bugfixes and improvements in the Vulkan plugin. - removed the vk_command_list_pipeline_barrier() function from the gh_renderer lib. ! updated the Vulkan code of the Lua kx framework (v1.5) used by GeeXLab demos. + added pipeline_state_build_v3() to gh_renderer lib for the creation of a pipeline state that will be used with a render target. * fixed a parameter bug in the gh_texture.set_texel_2d_v2() in Lua. Version - 2017.06.29 ----------------------------- ! minor bugfixes and improvements in the Vulkan plugin. ! fixed minor bugs in the Lua kx framework (v1.4) used by GeeXLab demos. Version - 2017.06.17 ----------------------------- + added a new command line param to select the GPU for Vulkan (or Direct3D 12) demos: /gpu_index=x ! [WINDOWS] Vulkan plugin recompiled with latest Vulkan API headers (v1.0.51). - [WINDOWS] removed from Tools menu entries related to network live updaters. Network live updaters tools are still available but in the nettools/ folder. ! [WINDOWS] GPU Shark utility moved to gpushark/ sub-folder. For some very obscure reasons, GPU Shark utility no longer works in the root folder of GeeXLab. But it works fine from the sub folder gpushark/. * fixed a minor bug in the Lua kx framework for Vulkan. + added support of live-coding of GLSL shaders by editing the source code of a shader with any text editor. + added delay between two reloads of script files for live-coding of scripts. ! improved the performance of the Vulkan renderer. ! improved the support of AMD GPUs in the Vulkan renderer. * fixed a bug in the Vulkan renderer in the creation of swapchain that led to a crash on NVIDIA GPUs. + added an automatic call to wait_for_gpu after all INIT scripts. Usefull with Vulkan or Direct3D 12 renderers. + added support of render targets in the Vulkan renderer. ! updated gh_texture.create_2d_from_rt() internals. ! [WINDOWS] updated the GPU monitoring plugin with NVIDIA GeForce GT 1030. Version - 2017.05.12 ----------------------------- + added support of double sided lighting in the OpenGL renderer (old OpenGL, fixed pipeline). ! [WINDOWS] improved the Vulkan renderer plugin, support for Intel GPUs fixed. * fixed a bug in gh_texture.get_texel_2d(), buffer offset was wrong. ! [WINDOWS] updated the GPU monitoring plugin with NVIDIA TITAN Xp. ! [WINDOWS] GPU monitoring plugin: updated Radeon RX 500 / RX 400 support. ! [WINDOWS] updated GPU Shark Version - 2017.04.01 ----------------------------- ! [WINDOWS] ! improves the detection of AMD Radeon GPUs in some systems that include Intel iGPU + AMD Radeon GPU. ! [WINDOWS] updated GPU Shark Version - 2017.03.30 ----------------------------- + [WINDOWS] a preview of scripting errors is now displayed in a new built-in error scene instead of being simply displayed in a log file. The log file is still available with complete information. + added a new log file for scripting: _scripting_log.txt. All traces related to scripting are writtren in this log file. ! updated the default startup scene. ! [WINDOWS, LINUX] Vulkan plugin recompiled with latest Vulkan API headers (v1.0.45). ! [WINDOWS, LINUX] updated the GPU monitoring plugin with NVIDIA GeForce GTX 1080 Ti, AMD Radeon RX 580, RX 570 and RX 560. * [WINDOWS] fixed minor bugs in the OpenVR plugin. + [WINDOWS] added gh_openvr lib (OpenVR) to the Python plugin. + [WINDOWS] added milliseconds in every trace of the log file. + added get_absolute_orientation() to gh_object lib (lua / python). ! updated the GPU monitoring plugin with AMD Radeon Pro WX 7100, WX 5100, WX4100, WX 4150 and WX 4130. Version - 2017.03.08 ----------------------------- + [WINDOWS] added OpenVR support (openvr plugin) + gh_openvr lib (lua). ! updated Lua scripting plugin with latest Lua 5.3.4. + added update_plane_size() to gh_mesh (lua / python). + added update_box_face_uv_tiling() to gh_mesh lib (lua / python). + added get_euler_angles() to gh_camera lib (lua / python). + added get_num_vertices_v2() and get_num_faces_v2() to gh_object lib (lua / python). ! [WINDOWS] Vulkan plugin recompiled with latest Vulkan API headers (v1.0.42). * fixed a bug in the Vulkan plugin that led to a crash with recent NVIDIA and AMD drivers. ! [WINDOWS] updated the GPU monitoring plugin with AMD Radeon R7 M360, R7 M340, R7 M260, R7 M460 and R7 M440. + added support of open true type fonts (OTF) in gh_font lib (lua/python). Version - 2016.12.13 ----------------------------- ! [RPi] updated zip archive new demos (RGB LED Matrix) in demos/ folder. Version - 2016.11.27 ----------------------------- ! [RPi] updated zip archive new demos (RGB LED Matrix, Sense HAT) in demos/ folder. Version - 2016.11.01 ----------------------------- + [RPi] added a set of functions (rgbmatrix_xxxx()) to deal with RGB LED matrix in the gh_rpi lib (lua/python). ! [WINDOWS] Vulkan plugin recompiled with latest Vulkan API headers (v1.0.32). ! [WINDOWS] updated the GPU monitoring plugin with GeForce GTX 1050, GTX 1050 Ti, NVIDIA TITAN X (Pascal), GeForce GTX 1060 6G and 3G, GeForce GTX 980M (1617) and GTX 980 (161A), AMD RAdeon RX 400 (RX 480, RX 470 and RX 460), Quadro P5000, Quadro P6000, Quadro M6000 12GB, M6000 24GB, Quadra K620, K1200 and K2200. + added gpu_mem_to_cpu_mem() to gh_texture lib (lua/python). * fixed a bug in the gh_utils.raycast_get_ray_ortho_cam(). + [WINDOWS] added support of Logitech LED SDK in a new lib: gh_logiled (lua/python). + [WINDOWS/PRO] added set_alpha() to gh_window lib (lua/python). + [PRO] fixed bugs in the export of the scene in binary format. + added update_box_size() to gh_mesh lib (lua / python). + added new fonctions in gh_utils for managing arrays of shared variables: shared_variable_create_array(), shared_variable_set_array_value_1f(), shared_variable_get_array_value_1f(), shared_variable_set_array_value_1i(), shared_variable_get_array_value_1i(), shared_variable_set_array_value_str() and shared_variable_get_array_value_str(). + added create_from_file_v9(), gpu_memory_upload() and gpu_memory_unload() to gh_texture lib (lua / python). + added resize_quad() to gh_mesh. resize_quad() is actually an alias of update_quad_size(). + added exe_script_v2() to gh_utils lib (lua / python). * fixed a bug in Lua state initialization during the execution of ZOMBIE scripts. + added do_screenshot_v3() to gh_utils (lua / python). * fixed gh_utils.do_screenshot(): now the viewport information is properly used: size (width and height) and offsets (x and y) . Version - 2016.06.09 ----------------------------- + added support of texture 2D array in render targets. New functions: create_array2d() and array2d_set_draw_layer() added to gh_render_target lib (lua/python). ! updated the texture filtering in the OpenGL renderer. ! [WINDOWS] updated the GPU monitoring plugin with latest NVAPI R367. Version - 2015.06.02 ----------------------------- + added text_2d_v2() to gh_font (lua / python). ! updated the Lua kx framework used in OpenGL and Vulkan demos. The kx framework is available in standard Lua lib of GeeXLab (libs/lua/framework_v1/) ! disabled runtime error writing in log file after the first runtime error. Version - 2015.05.31 ----------------------------- + added a mesh voxelizer function: gh_mesh.voxelize() (lua/python). ! [WINDOWS] updated the FBX object loader with FBX SDK 2016 1.1. ! [WINDOWS] updated the FFmpeg plugin with FFmpeg 2.8.6. ! updated the Wavefront OBJ loader based on TinyObjLoader v0.9.22. + added gh_mesh.get_num_subsets() (lua/python). + added gh_model.init_subsets() (lua/python). + added get_vsync() to gh_renderer library (lua / python). + added get_text_width() to gh_font library (lua / python). + added driver_settings_get_vsync_status() and driver_settings_set_vsync_status() to gh_gpumon lib (lua / python). * fixed a bug in the audio synthetizer (gh_audio.sound_create_v2()). * fixed a bug in the GPU buffer management that could lead to a crash in Vulkan plugin if more than one uniform buffer were created. Version - 2015.05.11 ----------------------------- ! [WINDOWS / LINUX] PhysX plugin updated with latest PhysX 3.3.4 SDK. On Windows, GPU PhysX is currently no longer available because of the compilation with VS2015. ! Vulkan plugin: improved textures storage in GPU memory. ! improved the support of several GPUs in Vulkan and Direct3D 12 plugins (gpu_index attribute in the window XML node). ! [WINDOWS / LINUX] internal obj loader v1 creates sub meshes based on usemtl tag. This feature will be available on other platforms during the next compilation. * minor bugfixes. . known issues: on Linux, PhysX fluid demos crash/hang GeeXLab at the end of demos. Version - 2015.04.18 ----------------------------- * Vulkan plugin: the default depth-stencil format is now d32s8. The previous value d24s8 was not supported on Radeon GPUs. * fixed the /benchmark_duration_ms parameter. * fixed the online checking for new versions. Version - 2015.04.14 ----------------------------- + [WINDOWS / LINUX] added Vulkan support with basic functionalities: meshes, GPU programs, 2D textures + 2D arrays, uniform buffers, pipeline state objects. New functions have been added in gh_renderer and gh_gpu_program lib (lua / python). + [WINDOWS / LINUX] added gpu_index attribute in XML window node to select a particular GPU with Vulkan renderer. + added new gh_font lib to render texts using True Type fonts (lua and python). + added three functions in gh_renderer lib (OpenGL, Vulkan and Direct3D 12) to draw very simple primitives without vertex buffer: draw_points(), draw_lines() and draw_triangles(). Vertices must be defined in the vertex shader. + added update_vertices_position() and update_vertices_color() to gh_vertex_pool lib (lua / python). + added create_from_file_loader_stl() in gh_model lib for the loading of 3D meshes in STL binary format. + added set_num_patch_vertices() to gh_renderer lib (lua). ! [WINDOWS] updated the internal flip framebuffer function of the Direct3D 12 plugin to improve stability. * fixed bug in gh_renderer.blending(). * fixed bitmap font rendering (gh_utils.font_bm_xxxx()) bug in OpenGL 2.1 (code sample pack: /gl-21/bitmap-fonts/). * fixed a memory leak in the FreeImage plugin. * [WINDOWS / OSX] bugfix: the log file is now correctly opened (Tools > Show log file). ! updated gh_nvg lib with latest version of NanoVG. ! updated gh_utils.get_host_app_dir(). ! gh_utils.hex_color_to_rgb() updated to support the # character of the HTML color (ex: "#ff8844"). Version - 2015.02.12 ---------------------------- + [RPi] added support of OpenGL for desktop. + [OSX] the log file is now created in GeeXLab folder. + added is_rpi() to gh_utils (lua / python). + added hex_color_to_rgb() to gh_utils (lua / python). + added set_texel_2d_v2(), get_texel_1d(), get_texel_2d() and get_texel_2d_v2() to gh_texture lib (lua / python). + added gpu_timer_start(), gpu_timer_stop() and gpu_timer_read() to gh_renderer (lua / python). * fixed a crash in the loading of GPU program (XML node) when shaders are in separate files (filename_vs, filename_ps, ...). Version - 2015.02.07 ---------------------------- * [WINDOWS] bugfix: the internal TCP server for remote live coding is now operational. To use it, start GeeXLab with /start_tcpip_server command line parameter. ! [WINDOWS] updated: remote updaters (for GLSL and scripting) have been recompiled with VS2015. Version - 2015.02.04 ---------------------------- + [RPi] OpenGL version is forced to 2.0 (OpenGL ES 2.0) whatever the version specified in the window XML node. + [OSX / LINUX] added online checking of newer versions of GeeXLab. + added new gh_nvg lib to bring support of NanoVG (lua / python). + added clear_stencil_buffer() and clear_color_depth_stencil_buffers() to gh_renderer lib (lua/python). ! Python plugin updated (all Direct3D 12 related functions, various functions in gh_utils lib and new procedural meshes in gh_mesh lib: klein_bottle, trefoil_knot, etc.). Version - 2015.01.21 ---------------------------- + added get_type() to gh_renderer lib (lua). + [WINDOWS] added font support in the Direct3D 12 plugin: d3d12_font_create(), d3d12_font_add_text(), d3d12_font_reset_all_text_counters() and d3d12_font_reset_text_counter() added to gh_renderer lib (lua). + [WINDOWS] added command_list_set_current() to gh_renderer lib (lua). + [WINDOWS] added new procedural meshes: klein_bottle, trefoil_knot as well as the 5 platonic solids (lua). Version - 2016.01.10 ---------------------------- + [WINDOWS] added /no_online_check command line param to disable the online checking of newer versions of GeeXLab. + [WINDOWS] added online checking of newer versions of GeeXLab. + [WINDOWS] added /disable_quit_button command line param to disable the quit button (the cross) on the window system bar. + added new Lua utility library: gfx03.lua. Version - 2016.01.05 ---------------------------- + added /log_framerate command line param to quickly log framerates (cur/avg). * [WINDOWS] fixed a bug in the Direct3D 12 plugin. * bugfix: the elapsed time of a 3D window was updated twice per frame. This elapsed time is only used in the update of the average FPS. Version - 2015.12.31 ---------------------------- + added /python_home command line parameter to set the Python home directory. + added get_gpu_driver() to gh_gml lib (lua / python). ! [WINDOWS] updated GPU monitoring plugin to support AMD Crimson drivers. * [WINDOWS] fixed: the main 3d window has now the keyboard focus at startup. * [WINDOWS] fixed gh_gml.gpu_power_get_power_limit() (NVIDIA GTX 600+). * fixed gh_gpumon.draw_gpu_data_v2() and gh_gpumon.draw_gpu_data_v4(). * fixed gh_utils.do_screenshot_v2(). ! [WINDOWS] updated GPU Shark Version - 2015.12.07 ---------------------------- ! [RPi] added a new attribut named rpi_alpha_flag to the window XML node. This attribute allows a better management of the alpha channel of the 3d window. + [RPi] added set_position(), get_position() and get_screen_size() to gh_window lib (lua/ python). These functions are currently only available on Raspberry Pi. ! [OSX] updated plugin_gxc_leapmotion_x64.dylib for Mac OS X with the LeapMotion SDK 2.3.1. ! [OSX] updated the mouse Y coordinate in GeeXLab Mac OS X version. The Y coord is offseted by the height of the window. Now the function gh_input.mouse_getpos() returns a correct value for all OSes. * fixed a bug in the ftgl plugin that appeared OpenGL 2.1 drivers. With theses drivers, the font texture was not uploaded in GPU mem. + added 32-bit version of GeeXLab for Windows that targets also Windows XP platforms. + added command line option /logfile_suffix to specify a suffix for the log file name. Ex: /logfile_suffix=_test01. The suffix allows to manage several instances of GeeXLab, each instance having its own logfile. * fixed a bug in polyline/wideline module. The bug has been introduced with recent changes in the low level 3d lib. * fixed some bugs in the plugin_gxc_ftgl_x64 plugin. These bugs have been introduced with recent changes in the low level 3d lib. * [WINDOWS] fixed few typos (GLSL Hacker was still present in some live coding boxes). ! [WINDOWS] updated plugin_gxc_ffmpeg_x32.dll for Windows with FFmpeg 2.8.3. All other versions of the plugin (win64, linux, osx, rpi) still use FFmpeg 2.6.2. ! [WINDOWS] updated plugin_gxc_leapmotion_x64.dll for Windows with the LeapMotion SDK 2.3.1. Version - 2015.11.18 ---------------------------- + added touchscreen support in the Raspberry Pi version. * Python plugin: fixed a bug in vertex_pool.vertex_set_position() and vertex_pool.vertex_set_color(). Version - 2015.11.12 ---------------------------- * Python plugin: fixed a bug in vertex_pool.vb_set_vertex_position(), vertex_pool.vb_set_vertex_color(), vertex_pool.vb_set_vertex_normal() and vertex_pool.vb_set_vertex_tangent(). * fixed a bug in the initialization of the prefix of Lua and Python libraries (gh_ or gxl_). Version - 2015.11.08 ---------------------------- * first beta version of GeeXLab. ! Improved the Direct3D 12 renderer plugin. ------------------------------------------------------------- Transition from GLSL Hacker to GeeXLab ------------------------------------------------------------- Version - 2015.08.30 ---------------------------- * fixed a bug in single thread mode: GLSL Hacker was blocked in live coding initialization. + added get_os_info() to gh_utils (lua). ! Lua engine has been updated to Lua 5.3.1. + added d3d_create_from_file() and d3d_create_from_memory() to gh_gpu_program (lua). + added create_from_file_v3() to gh_gpu_program (lua). + added pipeline_state_create(), pipeline_state_kill() and pipeline_state_bind() to gh_renderer (lua). + Added first version of the Direct3D 12 renderer plugin. Version - 2015.08.18 ---------------------------- + added set_reflection_matrix_v1() and set_reflection_matrix_v2() to gh_camera lib (lua / python). + added get_plane_equation() to gh_object lib (lua / python). + added rasterizer_set_ccw() and ccw() to gh_renderer (lua / python). + added apply_cmaa_intel() to gh_render_target lib (lua / python). + added set_max_compiler_threads() to gh_gpu_program lib (lua / python). + added heman_generate_color_gradient(), heman_generate_island_map() and heman_generate_planet_map() to gh_texture (lua only). + added set_clip_control(), set_depth_range_f(), clear_depth_f() and set_depth_bounds() to gh_renderer (lua / python). Version - 2015.08.09 ---------------------------- + added get_num_capabilities(), get_capability_name() and check_capability() to gh_renderer lib. These functions are designed to work with gh_renderer.get_capability_4i(). Version - 2015.08.06 ---------------------------- . Test version with LuaSocket mime module enabled. Lua socket files in libs/lua/socket/ folder have been edited to use the socket and mime modules that are defined by GLSL Hacker. Version - 2015.07.01 ---------------------------- + added clear_cpu_gpu_data() to gh_mesh. + added mesh ribbon (wide line) to gh_mesh lib: ribbon_create(), ribbon_add_point() and ribbon_set_cross_vector(). + added line adjacency support. Version - 2015.06.22 ---------------------------- + added particle_system_create_fluid_v2() to gh_physx3 (Lua / Python). + added do_screenshot_v2() in gh_utils lib (Lua / Python). * fixed a bug in params list of gh_utils.do_screenshot() in Python. * bugfix: the FreeImage plugin can now handle 4-bit per pixel images. * bugfix: on Windows, the live coding no longer disturbate the main 3D scene keybord buffer. In previous versions, the camera could be moved with arrow keys even if the live coding box had the focus. ! live coding is disabled by default on Windows version. The checkbox is still there to enable live-coding on each script/glsl editor. Version - 2015.05.15 ---------------------------- + added new keys to keyboard management (all keys of numeric keypad) on Windows. Version - 2015.05.14 ---------------------------- + added luasocket lib. + added experiemtal Spout plugin. Version - 2015.05.08 ---------------------------- ! recoded from scratch vertex buffer related routines in order to unify rendering of meshes, particles and lines. ! recoded the built-in OBJ loader. Works better and faster. * fixed a bug in keyboard management on Linux. Version - 2015.04.29 ---------------------------- + added get_vertex_size() in gh_utils (lua/python). + added reset_vertex_attribs_name_and_loc() and set_vertex_attrib_name_and_loc() to gh_gpu_program (lua). ! gh_mesh.set_user_vertex_attrib() and gh_mesh.get_user_vertex_attrib() replaced by gh_mesh.set_vertex_attrib_element() and gh_mesh.get_vertex_attrib_element(). - removed gh_mesh.copy_std_attrib_to_user_attrib() and gh_mesh.assign_user_vertex_attrib_name_and_location(). * fixed a bug related to gh_mesh.set_vertex_alloc_params(). The vertex alloc params was not re-initialized at scene init. * fixed a bug related to vertex attribute location when the same mesh is rendered with different GPU programs. + added assign_user_attrib_vertex_shader_index() to gh_mesh (lua). + added actor_set_kinematic_target_transform() to gh_physx3 lib (lua). + added get_shader_info_log() and get_info_log() to gh_gpu_program lib (python / lua). ! updated FFmpeg plugin with latest SDK v2.6.2 ! updated FreeImage plugin with latest SDK v3.17.0 Version - 2015.04.24 ---------------------------- + added joint_set_motor_params() to gh_physx3 lib (python / lua). Version - 2015.04.21 ---------------------------- + added /rpi_disable_inputs command line option to the Raspberry Pi version to fully disable input management (keyboard and mouse). ! improved a bit global stability. * fixed a bug in the GPU program live coding module on Windows platform. * fixed gh_physx3.joint_distance_set_spring(). Now spring effect of distance joints works. + added gh_av lib to Python plugin. + added reset_streams() to gh_av. Version - 2015.04.11 ---------------------------- + added run_simulation_step() and fetch_results() to gh_physx lib (lua/python). Version - 2015.04.03 ---------------------------- + added new audio/video lib based on FFmpeg: gh_av (Lua only for the moment). + added mouse capture support in the Windows version. Version - 2015.03.27 ---------------------------- + added set_vertex_offsets() to gh_polyline lib (lua/python). * fixed a bug in the Python version of gh_polyline.set_line_offsets(). Version - 2015.03.23 ---------------------------- * fixed a minor bug in the Windows version related to script edition during live-coding. + added update_alpha_channel_smooth() and update_alpha_channel_binary() to gh_texture lib. Version - 2015.03.18 ---------------------------- + added target_platform to gpu_program XML node. + updated Raspberry Pi support (OpenGL ES 2.0). Version - 2015.02.25 ---------------------------- + added command line param (/gl_core_profile=1|0) to force the OpenGL core profile for GL3.2+ contexts. ! updated: the menur bar in the FREE version can be hidden. Version - 2015.02.24 ---------------------------- * fixed a bug the in progress bar management (due to recent changes, the progress bar render thread could not be started and gh_utils.set_progress_bar_caption() was effectless...). Version - 2015.02.23 ---------------------------- * fixed bug in the GPU program management that prevented to render meshes when only custom vertex attribs were allocated. + added create_v2(), copy_vertex_data() and copy_face_data() to gh_mesh (lua/python). Version - 2015.02.21 ---------------------------- ! updated gh_render_target.resolve_multisampling_v2() parameters. ! updated enable_state() and disable_state() of gh_renderer lib with new states. + added msaa() to gh_renderer (lua/python). + added msaa attribut in the scene XML node to enable multi sampling anti aliasing per window (in prev versions, the msaa was enabled with the command line). + added enable_gpu_bugfixes() to gh_renderer (Lua only for testing purposes). * bugfix: in some conditions, the gh_camera.bind() function updated (again...) the fixed pipeline when OpenGL core profile (OpenGL 3.2+) was used. Version - 2015.02.20 ---------------------------- * fixed a bug in render target resolve multisampling when multiple colors buffers (attachments) are used. + added create_rb_v2() and resolve_multisampling_v2() to gh_render_target lib (lua/python). Version - 2015.02.16 ---------------------------- * fixed a bug in the progress bar module when single threaded mode is selected (separate_render_thread="0" in the window xml node). + added set_vertex_alloc_params() and copy_std_attrib_to_user_attrib() to gh_mesh (lua/python). - removed alloc_user_vertex_attribs() from gh_mesh. + improved the support of threaded scripts (Lua). * fixed a multithreaded issue that could lead to a crash related to the creation of 3D windows. + improved code robustness. (DEV NOTE: singletons are now thread safe) + added osx_syphon_enabled attribute to XML scene node. Version - 2015.01.05 ---------------------------- + added TIMER type to XML script node (currently only on Windows). ! PhysX 3 plugin: added a check of the PhysX version. + added ftgl_font_add_text3d() to gh_utils (Lua / Python). * fixed bugs in gh_camera (ortho camera) and gh_utils (ftgl and raycast_cast_ray) libs (Python plugin). * fixed a bug in mouse wheel reading on Windows that disturbed the mouse position. ! write of OpenGL extensions in the log file disadled. To write extensions, use the /glinfo command line option. ! internal TCP/IP server for remote live coding is now disabled by default. To start it you can use the /start_tcpip_server command line option. * fixed a typo in the GTX 970M entry of the GPU database of the GPU monitoring plugin. + added binary scene import (all versions). + added binary scene export (PRO version) + added support of binary XML texture nodes (PRO version) Version - 2014.12.26 ---------------------------- + added set of functions to manage camera frustum culling: gh_camera.frustum_xxxx(). + added bounding_volume_update() to gh_object. + added box_update_size_from_bv() and sphere_update_radius_from_bv() to gh_utils. + added create_action_gravity() and action_add_size() to gh_ps (particle system) lib. + added gpu_uniform2f(), gpu_uniform3f() and gpu_uniform4f() to gh_gpu_program lib (Lua / Python) + added gpu_uniform2i(), gpu_uniform3i() and gpu_uniform4i() to gh_gpu_program lib (Lua / Python) + added a warning in the log file if there are more than one root node in the main xml file. Version - 2014.12.04 ---------------------------- ! full rebuild with all plugins. Version - 2014.12.03 ---------------------------- + added translate_vertices_position to gh_object lib (Lua/Python). + added rotate_vertices() and rotate_vertices_euler_xyz() to gh_object lib (Lua/Python). + added write_to_file_v3() gh_texture lib (Lua / Python). * bug fixed in gh_texture.write_to_file_v2() when pixel format was U8_RGBA. + added create_2d_from_rt() to gh_texture (Lua / Python). + added sys_exec() to gh_utils ((Lua / Python) + Windows only). ! updated the 3d framework. Version - 2014.11.18 ---------------------------- + added set_transform_order() to gh_object lib (Lua / Python). Version - 2014.11.11 ---------------------------- + added create_from_memory() to gh_texture lib (Lua / Python). Version - 2014.11.06 ---------------------------- + added create_v2() to gh_polyline lib (lua). + added get_date_str() to gh_utils lib (lua / Windows only). Version - 2014.11.03 ---------------------------- + added new plugin based on FreeType-GL to easily render true type fonts (all gh_utils.ftgl_xxxxxxx() functions). + added support of omni-lights shadow mapping with cube shadow maps (gh_camera.set_orientation_cubemap(), gh_render_target.create_cubemap(), gh_render_target.cubemap_set_draw_face()). + added support of user clipping planes (gh_renderer.enable_state() and disable_state()). + added get_orientation_euler_angles(), get_absolute_orientation_euler_angles(), get_orientation_vectors(), get_orientation_vector_z(), get_absolute_orientation_vectors() get_absolute_orientation_vector_z() to gh_object lib. ! updated camera orientation. Now a camera's children are correctly oriented. + added copy_transform() to gh_object lib. + added detection of OS X 10.10 Yosemite. Version - 2014.10.17 ---------------------------- ! improved the FBX plugin (Windows and OS X) for loading Autodesk FBX files. ! updated the PhysX 3 plugin (Windows, Linux and OS X) with latest PhysX SDK v3.3.2. + added a new OBJ loader (for testing purposes) and a way to change current OBJ loader with gh_model.set_current_3d_obj_loader(name): "ObjLoaderV1" or "ObjLoaderV2". Default is "ObjLoaderV1". Version - 2014.10.10 ---------------------------- ! updated pixel format support for image2D writing (GL_ARB_shader_image_load_store) PF_U8_RGBA (rgba8 in GLSL) and PF_U8_R (r8 in GLSL) added (gh_texture.image_bind()). Version - 2014.10.10 ---------------------------- ! improved shader subroutines support with several uniform subroutines per GPU program. ! improved GPU programs speed (better management of uniform variables). Version - 2014.10.05 ---------------------------- + added webcam_get_num() to the gh_utils lib (Lua/Python). ! improved the management of multiple webcams in the Windows version. Version - 2014.10.04 ---------------------------- * bugfix: crash when ZOMBIE scripts are stored in separate file instead of in the XML. + added network_message_pop() to gh_utils. Version - 2014.09.29 ---------------------------- ! updated network script updater (v0.2.0, Windows and OSX) with live coding checkbox and execute button. ! fixed some bugs and improved the live coding in the Windows version. + added auto-save of scripts and shaders if necessary (read: they have been modified). + added a button in script and shader editors to save the code source in the scripts/ or shaders/ folder of GLSL Hacker (Windows version only). * script and shaders errors are now correctly redirected to the output window. + added an option to disable live coding in script and shader editing windows (Windows version only). * fixed some potential crashes in gh_utils functions that take strings as parameters (like font_render() or font_render_3d(). ! updated the dialog box / output window for the traces (Windows version only). + added circle_create(), circle_update_radius(), line_create(), line_set_start_position(), line_set_end_position(), line_set_start_color() and line_set_end_color() to gh_utils lib. ! updated the Lua immediate mode: now the Lua state of the first script is used (not the case so far!). * improved the GPU monitoring plugin when running on NVIDIA Optimus systems. + added gh_leap (Leap Motion) library in the Python plugin. + updated Python plugin: gh_renderer.get_capability_4i(), gh_renderer.query_xxxx() (GL_ARB_pipeline_statistics_query GL4.5), gh_utils... Version - 2014.08.28 ----------------------------- + added a set of functions (gh_renderer.query_xxxx()) for GL_ARB_pipeline_statistics_query (OpenGL 4.5). * GPU monitoring plugin: added GeForce GTX 745, GT 720, GTX 700M series, GT 700M series, 800M series and GTX 800M series. * GPU monitoring plugin: updated with latest NVAPI R340. * bugfix: the menubar is no longer displayed in fullscreen mode (Windows version). + added set_orientation_cubemap() to gh_camera lib. Version - 2014.07.23 ----------------------------- + added new plugin for Leap Motion device + new gh_leap library (Lua). + re-enabled log dialog box (Windows version) in Tools > Show log dialog box. + Lua print() redirected to log file. + added create_disc() to gh_mesh lib. + added gh_renderer.blending() and gh_renderer.blending_off() to quickly enable/disable color blending. + added new openGL queries to gh_renderer.get_capability_4i() (Lua only). ! improved robustness of the Lua version of gh_utils.trace(). Version - 2014.06.21 ----------------------------- * fixed a bug with AntTweakBar plugin under Windows with AMD Radeon cards that made the application to crash time to time at the end of a scene. - removed all atomic_counter_xxxx() functions from gh_renderer. They are replaced by the low level functions of the gh_gpu_buffer lib. * bugfix: the gh_camera.bind() function no longer update the fixed pipeline if OpenGL core profile is used. + added OpenGL debug GL_ARB_debug_output support via the gl_debug_profile="1" in the XML window node. + added memory_barrier() to gh_renderer lib. + added vertices_to_gpu_buffer(), vertices_from_gpu_buffer() and set_vertex_source() to vertex_pool lib. - removed all shader_storage_buffer_xxxxx() functions from vertex_pool lib. + added set_shader_storage_block_binding() to gh_gpu_program lib. + added set_automatic_uniform_state() to gh_object lib. * fixed a threading bug in the waitscreen + progress bar when scene contains errors. + added gh_gpu_buffer, a new lib for managing GPU buffers in an unified way. + added get_uniform_block_size(), get_uniform_block_index() and set_uniform_block_binding() to gh_gpu_program lib. - removed all ub_xxx() functions from gh_gpu_program lib. Version - 2014.06.08 ----------------------------- + added support of transparent windows (alpha value) in OS X version. + added drag and drop support in the OS X version. ! OSX version: now GLSL Hacker stores the last position of the window and uses it for the next launch (useful with the drag and drop). + added FreeImage plugin support in the OS X version. + added a set of functions to manage custom dynamic libraries: gh_utils.dylib_xxx(). Thanks to these functions, you can use GLSL Hacker as a super window manager and code your own 3D routines in the dynamic lib in C/C++. Version - 2014.06.04 ----------------------------- ! updated the OpenGL context creation under Windows and Linux for when the required major version is 2. + added create_ex_v3() to gh_render_target lib. + added uniform_camera_matrices() and uniform_object_matrix() to gh_gpu_program lib. Version - 2014.05.28 ----------------------------- * fixed a bug in gh_mesh.set_vertices_color() in Lua. + added set_vertices_color() to gh_mesh in Python. + added mouse_get_wheel_delta() to gh_input lib. + added new keyboard keys support (shift, ctrl, alt and windows key). + added keyboard_codes.lua in GLSL Hacker Lua libs folder. + added FreeImage plugin with floating point (96 and 128-bit) support. + added set_current_image_codec() to gh_texture module. Version - 2014.05.19 ----------------------------- + added emitter_set_spawn_positions() to gh_ps module. + added back_face_culling() and front_face_culling() to gh_renderer. + added box_create(), box_update_size() and sphere_create() to gh_utils. + added update_bounding_volume(), get_bounding_box_size(), get_bounding_sphere_center(), get_bounding_sphere_radius(), get_global_bounding_box_size(), get_global_bounding_sphere_center(), get_global_bounding_sphere_radius() to gh_object. Version - 2014.05.15 ----------------------------- + added OpenGL 4.0 shader subroutines support (gh_gpu_program.set_uniform_subroutine()). + added get_capability_4i() to gh_renderer. + added create_pqtorus() to gh_mesh. + added actor_add_force(), actor_add_force_at_position() and actor_set_kinematic_target() to gh_physx3 lib (lua/python). * fixed a bug in AntTweakBar functions when the AntTweakBar plugin is not loaded. + added set_simulation_scales() to gh_physx3 lib (lua/python). Version - 2014.05.08 ----------------------------- + the PhysX plugin is now available for the Linux version. * fixed a minor bug in the cloth module of PhysX3 plugin. Version - 2014.05.06 ----------------------------- * fixed GLSL live coding bug for OpenGL 3+ shaders. * fixed a bug in gh_physx3.apply_actor_transform(). Only the transformation matrix was updated. Now position and orientation of the object are properly updated as well. - added grid_xxxxxxx() functions to gh_utils to manage reference grids (lua/python). - PhysX 3 plugin updated with latest PhysX SDK v3.3.1 Version - 2014.04.23 ---------------------------- - added create_persp_v2() and create_persp_v3() to gh_camera (lua/python). - added open_url() to gh_utils (lua/python). - fixed a bug in gh_object.get_absolute_position(). - added get_distance() to gh_object lib to get the distance between two objects (lua/python). - added delay_before_swap_nv() to gh_renderer lib for Windows and Linux versions - updated gh_audio.sound_create() with streaming option. - minor changes in existing plugins - added math_length_vec3() to gh_utils (lua/python). Version - 2014.04.01 ---------------------------- - added create_from_file_v3() to gh_texture lib (lua/python) for the support of compressed textures. - added get_gpu_memory_size() to gh_texture lib (lua/python). - added inject_opacity_map() to gh_texture lib (lua/python). - added create_plane_v3() to gh_mesh lib (lua/python) to create a mesh plane with an initial orientation applied to vertices. - bugfix: workaround added in gh_render_target.resolve_multisampling() for Radeon GPUs under Mac OSX (the depth buffer is no longer processed). Version - 2014.03.17 ---------------------------- - added set_orientation_v2() to gh_object lib to set the orientation of an object from two direction vectors. - added FMOD-based audio plugin with new host-api lib: gh_audio (lua/python). Version - 2014.03.06 ---------------------------- - added support of shared variables between scripts in different threads or in different languages (Lua - Python). - updated and improved management of Lua states in multithreaded env (ZOMBIE scripts, multiple 3D windows). - added "resizable" attribute in xml scene node. - improved scripting error detection. The demo is stopped at the first error detected. - added new functions to gh_model lib to load 3D objects with vertex alloc params. - updated GPU detection code in GPU monitoring for Mac OS X. - updated GPU monitoring plugin with temperature graph when GPU temperature reading is available. - added mouse_show_cursor() to gh_input lib (works with Windows only). Version - 2014.02.10 ---------------------------- - bugfix: in font bitmap rendering with OpenGL 2 (built-in vertex attribs vs generic vertex attribs). This bug was only visible under OS X with a NVIDIA GPU. Version - 2014.02.04 ---------------------------- - bugfix: in 2D font bitmap rendering with OpenGL 2. Version - 2014.01.28 ---------------------------- - bugfix: crash in gh_renderer.set_scissor() Lua version. Version - 2014.01.27 ---------------------------- - bugfix: Lua live coding fixed. Version - 2014.01.24 ---------------------------- - added multiple render targets suppport. Version - 2014.01.24 ---------------------------- - added OpenGL 4.4 bindless texture support and uniform buffer object for passing array of bindless textures to a shader stage. - added new functions for passing GLSL uniforms (uniform_1ui64v(), uniform_1ui64(), uniform_1/2/3/4d...) to gh_gpu_program (Lua). - added platform information in the benchmark scores file. - Linux: fixed segmentation fault when the demo initialization fails. - Linux: the console output (with /console_output command line option) is fixed. - added support of user vertex attribs: alloc_user_vertex_attribs(), set_user_vertex_attrib() and get_user_vertex_attrib() added to gh_mesh lib. - added new GPU monitor plugin and associated host API function: gh_gpumon (Lua). The gh_gml lua/python module is now based on this GPU monitor plugin. - added quad wireframe rendering option for some built-in meshes (plane, sphere, torus, cylinder). - plugin management improved. - updated with gxl3d 0.8.x branch. Version - 2014.01.11 ---------------------------- - moved all video player functions based on FFmpeg to a separate plugin (plugin_GXC_video_ffmpeg_x64.dll). Version - 2013.12.24 ---------------------------- - added write_to_file_v2() to gh_texture lib. - added flip_vertical() to to gh_texture lib. Version - 2013.12.18 ---------------------------- - added set_instance_color() and set_instance_scale() to gh_mesh. Version - 2013.12.10 ---------------------------- - updated tinyxml2 in gxl library. - fixed bugs in cross-platform compilation for ffmpeg and anttweakbar support. Version - 2013.12.06 ---------------------------- - added uniform1fv(), uniform2fv(), uniform3fv() and uniform4fv() to gh_gpu_program (Lua). - added video support in gh_texture lib (gh_texture.video_xxxxx() functions) in Lua/Python. Video support is based on ffmpeg. Version - 2013.11.30 ---------------------------- - added get_version() to gh_utils lib. - added anttweakbar support (Windows version only) with a set of functions (twbar_xxx) in gh_utils lib. Version - 2013.11.20 ---------------------------- - added webcam support for Windows version with a set of functions (webcam_xxx) in gh_utils lib. Version - 2013.11.15 ---------------------------- - added raycast_get_ray() and raycast_cast_ray() to gh_utils lib. Version - 2013.11.08 ---------------------------- - fixed a minor bug gxl3d related to image pixmap (rgba u8). Version - 2013.11.06 ---------------------------- - Internal changes in gxl3d source code. Version - 2013.11.05 ---------------------------- - added set_virtual_screen() and update_virtual_screen() to gh_renderer lib for OS X version. Version - 2013.11.04 ---------------------------- - added get_virtual_screen() and get_num_virtual_screens() to gh_renderer lib for OS X version. - minor changes in the loading of init0.xml and conf.xml - Internal update: latest tinyxml2 1.0.12 Version - 2013.10.27 ---------------------------- - updated Python plugin with missing functions in gh_object lib: scale_vertices_position(), flip_faces(), flip_vertex_normals(). - added set_vertices_color() to gh_object lib (Python / Lua). - fixed a bug in the FBX loader (vertices color). Version - 2013.10.31 ---------------------------- - fixed a bug in the OS X version when an OpenGL 4.0 context was required. Version - 2013.10.25 ---------------------------- - added a libs/ folder with Lua and Python high level librairies used by demos. - added OS X 10.9 Mavericks support. - updated version number, four numbers are now used: major.minor.patch.build. - added keyboard support for Linux. - added get_platform_name() to gh_utils lib. - added set_orientation() and get_orientation() to gh_object lib. - added set_vertices_color() to gh_mesh lib. - fixed a bug with bitmap fonts and OpenGL 2 context. - Windows and OS X version: added keyboard shortcuts for loading a scene (Ctrl+O), reloading a scene (Ctrl+R) and for displaying the log file (Ctrl+L). - added a folder into GLSL Hacker root directory with some lua helper libs. - the position of the main 3d window is stored in the conf.xml file and is used for the next launch. - added get_host_app_dir(), get_scripting_libs_dir() and get_command_line() to gh_utils lib. - improved the error handling (traces, exit at first syntax/runtime error). - fixed bugs in the loading of scripts and gpu programs from files (xml). Now the filename attribute of gpu_program and scripts xml modes works correctly. - added a configuration file (conf.xml). - Windows version: GLSL Hacker plugins are now stored in the plugins/ folder. - updated arguments of gh_utils.font_bm_create() function. - added get_physx_version() to gh_physx3 lib. - added set_render_state() and get_render_state() to gh_node lib. - added tripod_visualizer_object_render() and tripod_visualizer_camera_render() to gh_utils lib (for GL2 and GL3+). - removed tripod_visualizer_render() from gh_utils lib. - added create_cylinder() and create_ellipse() to gh_mesh lib. - added new command line param: /noload_plugin_physx3 - added new command line param: /noload_plugin_fbx - updated gh_utils.font_bm_update() with a new parameter: mapped_gpu_memory. - added Autodesk FBX support (via a plugin) with create_from_file_loader_fbx() to gh_model lib. - added flip_vertex_normals() to gh_object lib. - added OpenGL 4.2 atomic counters support: atomic_counter_create_buffer(), atomic_counter_kill_buffer(), atomic_counter_buffer_bind(), atomic_counter_set_value() and atomic_counter_get_value() added to gh_renderer lib. - added particle system lib (gh_ps) to Lua/Python API. - fixed a bug in gh_utils.tripod_visualizer_render() with OpenGL 2 context. - added create_terrain() to gh_mesh lib. - added scale_vertices_position() to gh_object lib (for mesh). - added set_depth_buffer_writing_state() to gh_renderer. - added set_vertex_position_w() to gh_mesh lib. Useful with PhysX clothes. - added set_pitch(), set_yaw() and set_roll() to gh_camera lib. - added get_position(), get_view_vector() and get_up_vector() to gh_camera lib. - added w param in gh_camera.set_lookat(). - added support of PhysX 3.3 SDK (via a plugin) in Lua and Python: gh_physx3 lib. - bugfix in OBJ object loader. Version 0.5.0 - 2013.05.09 -------------------------- - fixed bugs in resource freeing (material/textures). - added tripod_visualizer_render() to gh_utils. This tripod can be displayed in GL2 and GL3+ core profile. - added support of shader storage buffer for compute shaders in gh_vertex_pool. - added new command line param: /noload_plugin_opencl - added new command line param: /noload_plugin_python27 - added new command line param: /disable_opengl_support_check - fixed a memory leak in texture destruction. - added get_platform() to gh_utils lib. - added uniform2i(), uniform3i() and uniform4i() to gh_gpu_program. - added uniform4i_array() and uniform4f_array() to gh_gpu_program. - added Python 2.7.3 plugin for scripting. - updated lua engine to Lua 5.2.2 - added set_texel_1d(), set_texel_2d() to gh_texture lib. - added renderer_update() to gh_texture lib. - added cubemap support with gh_texture.create_cube_from_file() function. - added gh_texture.create_1d() - renamed gh_texture.create() in gh_texture.create_2d() - added get_gpu_memory_usage_kb_amd() to gh_renderer lib. - Added TERMINATE scripts. - Buffer object usages can be forced either by scripting or by command line. - Added force_buffer_object_usage() to gh_renderer lib. - Added timer_reset() and timer_get_milliseconds() to gh_window lib. - Added update_built_in_uniforms() to gh_object lib. - Added font_bm_create(), font_bm_get_charset_texture(), font_bm_draw_text_2d(), font_bm_draw_reset() and font_bm_render() to gh_utils. - Added new functions into gh_utils to manage a simple spline: spline_create(), spline_add_keyframe(), spline_get_value(). - Added create_rb(), clear_color_buffer() and clear_depth_buffer() to gh_render_target. - Added rasterizer_set_msaa_state() to gh_renderer. - Added do_linear_tweening() to gh_mesh lib. - Added alloc_mesh_data(), set_face_indexes() and get_face_indexes() to gh_mesh. - Added set_gpu_program(), get_gpu_program(), add_texture() and remove_texture() to gh_material lib. - Added get_num_materials(), get_material(), add_material(), remove_material() and remove_all_materials() to gh_object. - Added set_materials_texture_unit_offset() to gh_object. - Added compute_faces_normal() and compute_vertices_normal() to gh_object. - Added set_sampler_params() to gh_texture lib. - Added gl_core_profile and sw_renderer attributes to window xml node. - Added set_vertex_position(), set_vertex_color(), get_vertex_color(), set_vertex_normal(), get_vertex_normal(), set_vertex_tangent(), get_vertex_tangent(), set_vertex_uv() and get_vertex_uv() to gh_mesh lib. - Added set_vertex_attrib_name() and get_vertex_attrib_name() to gh_gpu_program. - Added update_vertex_attrib_location() to gh_object lib. - Removed update_vertex_attrib_location() from gh_mesh lib. - Added create_depth() and create_depth_rect() to gh_render_target lib. - Added get_num_gpus_amd() and get_gpu_memory_total_available_kb_amd() to gh_renderer lib. - Added get_gpu_memory_total_available_kb_nv(), get_gpu_memory_current_available_kb_nv() and get_gpu_memory_usage_kb_nv() to gh_renderer lib. - Added gh_opencl lib. This first version allows to retrieve OpenCL information about platforms and devices. - Added gh_gml lib. gh_gml is the scripting wrapper around GML (GPU Monitoring Lib). GML is currently available on Windows only and is limited to NVIDIA GPUs. AMD GPUs will be supported shortly. - Added map_vb(), unmap_vb(), vb_set_vertex_position(), vb_set_vertex_position_ptr(), vb_set_vertex_color() and vb_set_vertex_color_ptr() to gh_vertex_pool lib. - Added create_box() to gh_mesh lib. - Added set_instance_axis_angle() to gh_mesh lib. - Added polyline support: gh_polyline lib. - Added resize() to gh_render_target lib. - Added use_with_syphon() to gh_render_target lib to use a render target with Syphon. - Added Syphon support to the OSX version. MAD Hacker --------------- - Added luamidi lib. - Added use_with_syphon() to gh_render_target lib to use a render target with Syphon. - Added Syphon support to the OSX version. Version 0.4.0 - 2013.01.18 -------------------------- - First public release. - Many changes compared to v0.3.2 (for example ID is no longer used in Lua and Python scripting). Version 0.3.2 - 2012.10.18 -------------------------- - Fixed a 32/64-bit bug in GXL3D module. [[Devlog: voir detail dans le fichier gxl_3d/gxl_3d_mesh_data.h au niveau FaceU32.]] Version 0.3.1 - 2012.09.24 -------------------------- - Added: /x_window_name command lien param (for X11-based apps only). - Fixed a bug in scripting live coding. [[Devlog: il manquait la mise � jour de source_code_len dans Script::update().]] Version 0.3.0 - 2012.09.10 -------------------------- - Minor changes in the gxl engine for the Python plugin - Plugin Python 2.7 32/64-bit added. Version 0.2.2 - 2012.09.06 -------------------------- - Added: get_vertex_position(), get_vertex_position_ptr(), get_vertex_absolute_position() and get_vertex_absolute_position_ptr() to gh_mesh lib. - Added: get_num_vertices(), get_num_vertices_ptr(), get_num_faces() and get_num_faces_ptr() to gh_object lib. - Added: get_absolute_position() and get_absolute_position_ptr() to gh_object lib. - Added: font_render3d() and font_render3d_ptr() to gh_utils lib. - Added: set_grid_params(), set_grid_params_ptr(), display_grid(), display_grid_ptr(), set_display_grid_state() and set_display_grid_state_ptr() to gh_object lib. - Added: set_tripod_size() and set_tripod_size_ptr() to gh_object lib. Version 0.2.1 - 2012.09.04 -------------------------- - Change: if erros are detected in an INIT script, all scripts are disabled and a red screen is displayed. - Added: command line parameter /boxes_transparency= to set the transparency of live coding boxes. - Change: live coding boxes transparency set to 255 by default (fully opaque). - Change: description of live coding boxes transparency in managers (scripts and gpu programs). - Bugfix: Lists of GPU programs and scripts in managers are automatically refreshed when a new scene is loaded. Version 0.2.0 - 2012.09.01 -------------------------- - First version of the reference manual. - Added drag n drop support: script DRAG_N_DROP + functions gh_utils.drop_files_get_num_files() and gh_utils.drop_files_get_file_by_index(). Version 0.1.0 - 2012.08.29 -------------------------- . Very first alpha release, internal use only.

GeeXLab Rootard Guide | Downloads | Contact