Skip to content

Version 1.1

Compare
Choose a tag to compare
@hoffstadt hoffstadt released this 12 Nov 04:13
· 393 commits to master since this release

TL:DR;

  • This is release is mostly for the new drawing transform features.
  • There are several fixes included as well.
  • You can now use dpg.configure_app(wait_for_input=True) to only update/render on user input!
  • The focus over the next few releases will be BUGS, PERFORMANCE, and HIGH DPI SUPPORT.

Changelog

Features

  • added wait_for_input keyword to configure_app(...)
  • added draw node item (add_draw_node(...)) (see drawing section in demo)
  • added apply_transform(...) command for draw nodes
  • added perspective_divide keyword to draw_layer(...)
  • added depth_clipping keyword to draw_layer(...)
  • added cull_mode keyword to draw_layer(...)
  • added set_clip_space(...) command for draw layers
  • added get_text_size(...)
  • added create_rotation_matrix(...) command
  • added create_translation_matrix(...) command
  • added create_scale_matrix(...) command
  • added create_lookat_matrix(...) command
  • added create_perspective_matrix(...) command
  • added create_orthographic_matrix(...) command
  • added create_fps_matrix(...) command
  • added built-in mvMat4 type (for now, just used for the above operations)
  • colormaps can now be sampled before startup

Fixes

  • input float disable not working #1387
  • fixed "default_open" issue with tree nodes #1388
  • plot annotations not obeying show/hide
  • callback not called when input_int goes from 1 to 0 #1398
  • keypress and key release polling issue (#1339)
  • fixed location kwarg arg being ignored (#1347)
  • fix position control not hooked up (#1346)
  • fixed fonts/themes for table
  • fixed issue where clearing and repopulating table caused crash
  • type hints for color type for certain methods #1405
  • global themes for disabled components not working #1401
  • remapped file dialog selected color from mvThemeCol_Header to mvThemeCol_FrameBgActive

Internal

  • build: removed std::filesystem dependency for unix OS's (#1412)
    • Should fix some linux distro issues
  • build: upgraded implot from v0.11 to v0.12 (#1353)
  • refactor: imgui, implot, imnodes context creation moved to dpg context

Notes

3D Operations

These new features are not a replacement for an actual 3D renderer but they are useful for light 3D operations. The actual 3D renderer will be coming with Dear Py3D. We will also be adding a software renderer to Dear PyGui in the near future. This will also not be a replacement for the hardware accelerated 3D render but will resolve a few of the 3D issues with the drawing API that can't be easily solved without per pixel control. It will also be useful for us for automated testing and as a fallback renderer for machines that don't support the graphics APIs we use. Small sandbox can be found here. We will be adding several helpers to DearPyGui_ext (i.e. cameras).

mvMat4 type

We added the mvMat4 (and mvVec4) types to work with the create_*_matrix(...) commands and apply_transform(...). We will continue to make these more complete matrix and vector types for general purpose use but the initial focus was for the basic 3D operation use cases. We did not want to use python lists (too slow) and we did not want to added a dependency (numpy). We will continue to improve the performance of these new types as well (SIMD support).