
|
Downloads |
1 – Release Notes
This update of GeeXLab brings new Box2D functions to gh_box2d library in Lua and Python. It’s now possible to create more complex shapes with polygon shapes and chain shapes. Chain shapes are a very nice feature of Box2D engine. A demo will be available in the next article. I also quickly added at the last minute, the support of the distance joint. Other types of joints will be added later.
I added two new functions to the gh_gpu_program lib that can be handy in some situations, to pass a transformation matrix that is not linked to a particular object. Now you can build a transformation matrix from {position, rotation, scale} and pass it to the GPU program with uniform_transform_matrix_v1() or uniform_transform_matrix_v2():
pos_x = 0
pos_y = 10
pos_z = -4
rot_x = 0
rot_y = 0
rot_z = 30
scale = 1.0
transform_order = 0
gh_gpu_program.uniform_transform_matrix_v1(prog, "Transform0",
pos_x, pos_y, pos_z,
rot_x, rot_y, rot_z,
scale, scale, scale,
transform_order)
uniform_transform_matrix_v1() takes the Euler’s angles while uniform_transform_matrix_v2() takes a quaternion for the orientation.
I finally took the time to update the macOS version of GeeXLab. GeeXLab 0.37.0 for macOS has been compiled (Xcode 11.6 + clang 11.0.3) and tested on macOS Catalina 10.15.6. The clang compiler found some errors in my code that were not detected by other compilers (VS2017 or gcc/g++). Compiling time to time on all platforms can improve the code quality!
For Windows 64-bit, I added a lite version of GeeXLab. The lite version is a fully operational GeeXLab but some folders are not shipped to reduce the download size: python2/, python3/, spirv/, mesa3d/ and most of the demos have been removed. Result: lite version: 79MB versus full version: 245MB! If you don’t plan to use Python, the lite version is perfect.
2 – Changelog
This changelog is intended for all versions of GeeXLab.
Full changelog from beginning of time is available HERE.
Version 0.37.0 - 2020.08.18 + (2020.08.19) added distance joint support in Box2D plugin with new functions in gh_box2d lib: world_create_joint_distance(), joint_distance_set_stiffness() joint_distance_set_damping() and joint_distance_compute_linear_stiffness(). + (2020.08.19) added functions to apply a force, torque and impulse to an physics actor in Box2D plugin. New functions in gh_box2d: actor_apply_force(), actor_apply_force_to_center() actor_apply_torque(), actor_apply_linear_impulse() and actor_apply_linear_impulse_to_center(). * (2020.08.18) fixed a minor bug in the title bar update on macOS version. + (2020.08.17) added uniform_transform_matrix_v1() and uniform_transform_matrix_v2() to gh_gpu_program library (lua, python). + (2020.08.17) added set_app_title_bar() and get_app_title_bar() to gh_utils. + (2020.08.17) [Windows] Spout functions available in gh_utils. ! (2020.08.17) [Windows 64-bit] updated built-in SQLite support with latest version SQLite 3.33.0. ! (2020.08.15) updated macOS version of GeeXLab. * (2020.08.15) fixed minor bugs in gxc_x{32|64} core library. + (2020.08.14) added new functions to gh_box2d to manage polygon and chain shapes and more: world_create_actor, actor_add_vertices, actor_chain_build, actor_polygon_build, actor_set_density, actor_set_friction, actor_set_restitution, actor_raycast, ...