[4.1.3+] 1.3.0
Support
USDT-TRC20 TEw934PrsffHsAn5M63SoHYRuZo984EF6v
Changes
Warning
This update changes a lot of class names, methods and their signatures, so upgrading to 1.3.0 will require changes to your code!
Added volumetric shapes
All basic draw_
methods now allow you to display volumetric shapes (#3, #26). For this purpose scoped_config
s are used, which you can read about in the documentation.
_physics_process
and _process
Now objects from _physics_process
and _process
are processed separately and objects created in _physics_process
are now deleted in the first physics tick after rendering. This allows you not to worry about the physics frequency not matching the frame rate and objects won't flicker.
Here RayCast
s are drawn in _physics_process
at a frequency of 15 ticks:
Added more project settings
As you may have noticed singleton aliases have appeared in the settings. This means that now aliases Dbg3
and Dbg2
must be added manually through the project settings.
Added Web support
Thanks to @nicholas-maltbie, debug_draw_3d now has build support for browsers (#23, #24). Unfortunately Firefox is not supported at the moment.
Reduced size of libraries
After adding Web support, I found out that it is possible to greatly reduce the size of Unix libraries and now all libraries take not 53MB, but only 29MB (including Web).
Updated icon
It's certainly not a professional job, but I think it's better than it was...
Old | New |
---|---|
You can also now find it in Project - Tools - Debug Draw
.
Documentation
Added Doxygen
-based documentation for all major classes! https://dd3d.dmitriysalnikov.ru
For hosting, gh-pages
with multiple redirects are used.
Main addresses:
https://dd3d.dmitriysalnikov.ru/docs
https://dd3d.dmitriysalnikov.ru/demo
https://dd3d.dmitriysalnikov.ru/dev
You can even find animated demonstrations of some draw_
methods and other features in the documentation!
Demo
The demo has been updated and now has the ability to move around! And of course it now displays new features and a new panel with several customizations.
browser_lND0Ob9fRy.mp4
browser_GGiPLH2mdJ.mp4
Colors
During testing, I noticed that the colors were different in the Vulkan and GLES versions and decided to make them the same. Now the colors on the scene should be more similar to what you select in the color picker.
Maybe I should have brought the colors to the Vulkan version instead of GLES? But then they won't match the color picker.
Telemetry
I know not many people like telemetry, but I want to know that someone is actually using my library and I'm not wasting my time on it.
At this point, telemetry only sends the start time and session duration. I do not collect any personal data.
You can disable telemetry in the editor or project settings.
Important
Telemetry is embedded only in precompiled libraries for the editor (target=editor
) and works only in the editor. If you build a library from source code, there will be no telemetry in it.
Other fixes
Fixed #26 and #28.
Fixed some bugs that caused crashes on hot-reload (not active yet).
Many internal bug fixes and performance improvements have been made.
API Changes
This update had a lot of renaming and a few new features.
Most renaming can be done through the Search - Find in Files
(Shift + Ctrl + F) menu or via Replace in Files
.
Important
Don't forget to backup or commit to VCS before renaming!
Renamed classes
Old | New |
---|---|
DebugDrawConfig2D | DebugDraw2DConfig |
DebugDrawStats2D | DebugDraw2DStats |
DebugDrawGraph | DebugDraw2DGraph |
DebugDrawFPSGraph | DebugDraw2DFPSGraph |
DebugDrawConfig3D | DebugDraw3DConfig |
DebugDrawStats3D | DebugDraw3DStats |
DebugDraw2D
- Added clear_texts method.
- Fixed registration of properties with
OBJECT
type.
DebugDraw3DConfig
- Renamed
cull_by_distance
toculling_distance
.
DebugDraw3D
- Added regenerate_geometry_meshes method.
- Added new_scope_config and scoped_config.
- Added draw_box_ab and draw_cylinder_ab methods.
- Added draw_plane method.
- Added
type
argument to draw_point_path and draw_points methods. - Changed arguments of draw_box method.
draw_box(position, size, color, is_box_centered, duration)
->draw_box(position, rotation, size, color, is_box_centered, duration)
- Renamed
draw_arrow
todraw_arrowhead
. - Renamed
draw_arrow_line
todraw_arrow
. - Removed
draw_sphere_hd
anddraw_sphere_hd_xf
methods in favor of DebugDraw3DScopeConfig.set_hd_sphere. - Fixed registration of properties with
OBJECT
type.
DebugDraw3DStats
- Added several new statistics properties
Known issues
There are a couple problems that I don't know how to fix or if they are even related to my code. And both problems occur when the engine is closing.
ERROR: Pages in use exist at exit in PagedAllocator: union Variant::Pools::BucketMedium
at: PagedAllocator<union Variant::Pools::BucketMedium,1>::~PagedAllocator
And sometimes it crashes when the GDScript module is being cleared.