GeeXLab disponible en version 0.26.0.0

Started by JeGX, December 12, 2018, 01:41:16 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

JeGX

Le nouveau GeeXLab est disponible, mais pour Windows 64-bit uniquement. Les versions Linux, RPi, Tinker Board et macOS suivront un tout petit peu plus tard, avec une priorité pour la version Linux PC.

A partir de GeeXLab 0.26+, il n'y aura plus de version Windows 32-bit. Beaucoup de librairies, de drivers et autre bouts de code, ne sont plus disponibles pour Windows 32-bit. Cela me donne  une bonne excuse pour arrêter la maintenance de la version Windows 32-bit.

GeeXLab 0.26.0.0 arrive avec plusieurs nouveautés:
- support des fichiers zip
- Python 3
- buffers mémoire
- blobs SQLite3
- Fonts ImGui et primitives
- vertex buffers...


Téléchargements:
- https://www.geeks3d.com/geexlab/fr/downloads/

L'API de scripting:
- https://www.geeks3d.com/geexlab/reference/

The Guide du Rootard
- https://www.geeks3d.com/geexlab/fr/gdr/

L'historique des versions:
- http://www.geeks3d.com/geexlab/changelog/



Passons en revue les nouveautés:


Support des Fichiers ZIP

Les fichier compressés au format zip sont enfin supporté par GeeXLab. Il est donc possible de stocker la plus grande partie des données d'une démo / application GeeXLab dans un fichier zip.

Et cerise sur le gâteau, il est même possible d'empaqueter toute la démo dans le zip, y compris le  fichier XML principal. Super pratique pour liver une démo: un zip qu'il suffit de glisser dans GeeXLab. Simple et propre.

Plus d'info:
- https://www.geeks3d.com/geexlab/fr/gdr/tutorials/zip.php



Python 3

Jusqu'à maintenant, GeeXLab supportait les languages Lua et Python. C'est toujours le cas aujourd'hui, à un petit détail près: Python 3 est maintenant supporté. Dans les versions précédentes de GeeXLab, seul le Python 2 (v2.7) était supporté. GeeXLab est maintenant à jour et le Python 3 (v3.7) est pleinement supporté.

Chose amusante, les deux versions de Python peuvent cohabiter dans une même démo. Pour GeeXLab, Python 2 et Python 3 sont deux
languages différents, au même tire que Lua. Donc une démo GeeXLab peut maintenant être codée avec 3 languages en même temps...

Plus d'info:
- https://www.geeks3d.com/geexlab/fr/gdr/tutorials/python.php?#py3



Buffers Mémoire

Les buffers mémoire sont une conséquence du support des fichiers zip. Il est maintenant possible de créer un buffer en mémoire à partir du contenu d'un fichier sur disque, depuis un zip, un blob SQLite3 ou tout simplement <i>ex nihilo</i> en precisant une taille en octets.

Un buffer mémoire est juste une zone memoire d'une certaine taille et pourvant contenir n'importe quoi. Ce buffer est accessible en lecture
et écriture et la granularité des opérations de lecture/écriture est l'octet.

Ces buffers sont accessibles au travers d'un vrai pointeur C. Quoi ? Ca pose un problème à qq?
Au niveau scripting c'est juste un identifiant comme un autre mais je pense que c'est intéressant de le savoir.

Pas mal de nouvelles fonctions ont été ajoutées pour gérer ces buffers mémoire.

Plus d'info:
- https://www.geeks3d.com/geexlab/fr/gdr/tutorials/memory_buffers.php




Blobs SQLite3

Le support des BLOBs SQLite3 est en fin là. Le BLOB est un des types de données de base du moteur SQLite3. Un champ de type BLOB peut contenir tout et n'importe quoi. C'est la même chose que les buffers mémoire. Il est donc possible de stocker du texte, des images jpg, du code Lua ou Python, enfin tout ce que vous souhaitez.

Plus d'info:
- https://www.geeks3d.com/geexlab/fr/gdr/tutorials/sqlite3.php



ImGui: polices TTF et primitives

En plus des nouvelles fonctions pratiques comme <a href="/geexlab/reference/scripting_imgui.php#dummy">celle-ci</a>, GeeXLab 0.26+ ajoute enfin le support des polices True Type Font (TTF) dans ImGui. On peut maintenant charger plusieurs polices TTF et les utiliser où et quand vous voulez.  Et croyez-moi, ca change radicalement la tronche de vos interfaces graphiques!

Les primitives? une primitive est le nom scientifique... donné à une ligne, quad, cercle, courbe de Bezier. Et oui, ImGui supporte ce type de primitives géometriques et GeeXLab 0.26+ vous les sert sur un plateau.

Plus d'info:
- https://www.geeks3d.com/geexlab/fr/gdr/tutorials/imgui.php

GeeXLab - ImGui, TTF fonts and Primitives, Bezier Curves



Vertex Buffers

Ne vous laissez pas avoir par le titre. Les vertex buffers ne sont pas nouveaux dans GeeXLab, ils sont utilisés partout, tout est rendu avec des vertex buffers. GeeXLab 0.26+ vient avec une nouvelle librairie (Lua et Python) qui permet de manipuler des vertex buffers simples: gh_vb.

Le but est d'offrir une interface simple pour créer soi même des vertex buffers et les rendre comme on veut. Vous avez envie de créer un
disque et de le rendre avec le mode TRIANGLE_FAN ou encore rendre des tonnes de lignes STRIP? Pas de problème, toutes ces choses sont faisables avec les vertex buffers et la librairie gh_vb.

Plus d'info:
- https://www.geeks3d.com/geexlab/fr/gdr/tutorials/vertex_buffers.php

GeeXLab - ImGui, TTF fonts and Primitives, Bezier Curves



Et le changelog entre GeeXLab 0.25.4.0 et GeeXLab 0.26.0.0:

Quote
Version 0.26.0.0 - 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 3.4.2.25354359 (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).

JeGX

#1
Et les premières corrections de bugs...

Téléchargement:
- https://www.geeks3d.com/geexlab/fr/downloads/


Quote
Version 0.26.1.0 - 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().


JeGX

Et une nouvelle mise à jour.

Téléchargement:
- https://www.geeks3d.com/geexlab/fr/downloads/

Quote
Version 0.26.2.0 - 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).

JeGX

La version 0.26.3.0 est dispo avec corrections de bugs et deux / trois petites nouveautés:

Téléchargement:
- https://www.geeks3d.com/geexlab/fr/downloads/

Quote
Version 0.26.3.0 - 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.