Releases: DmitriySalnikov/godot_debug_draw_3d
[4.1.4+] 1.4.5
Changes
In this update, in general, nothing has changed for regular users, except for some internal details.
- Updated
emscripten
to3.1.64
. - The way releases are distributed has been changed. Now the
Source code
assets will provide the source code. To download the addon, downloaddebug-draw-3d_[version].zip
. - Added support for
precision=double
#57. For more information, see the documentation.
Full Changelog: 1.4.4...1.4.5
[4.1.4+] 1.4.4
Changes
- Updated
godot-cpp
to4.1.4
andemscripten
to3.1.63
. - Fixed the library for the Web build of
Godot 4.3
#46. Now the Web library is clearly being builtwith
andwithout
thread support. - Examples of working with
scoped_config
have been added to the Readme and documentation. - Update C# API File Naming Convention #50. Now the generated file will contain
.generated
suffix.
Note
The name of the libraries for macOS has been changed (the extension .dylib
has been returned), it is advisable to clear the addon folder before updating.
[4.2+] 1.4.3
Changes
- Added the
rendering/disable_fog
setting to change the effect of fog on the debug geometry #48. By default, the fog now has no effect on the geometry. This feature requires Godot 4.2+ - Fixed definition of shader flags. Without this fix, it was impossible to combine
no depth
with other flags.
[4.1.3+] 1.4.2
Changes
- Added the
rendering/render_priority
andrendering/render_mode
settings to change the priority and mode of geometry rendering #44. - Static linking of standard libraries on Linux is enabled #45. This is necessary to run
DebugDraw3D
on some Linux distributions, such asNixOS
. Unfortunately, this has led to an increase in the size of the libraries.
[4.1.3+] 1.4.1
Changes
This release is dedicated to only one new feature, but it has been awaited for a long time.
- Implemented the ability to disable the depth test using
DebugDraw3DScopeConfig
. #7 - Use set_no_depth_test to switch the display mode.
- If you need to draw by default without a depth test, then just change this parameter in
scoped_config
in DebugDraw3D.
[4.1.3+] 1.4.0
Support
USDT-TRC20 TEw934PrsffHsAn5M63SoHYRuZo984EF6v
Changes
- Added support for multiple World3D and Viewports. #35 #42 DebugDraw3DScopeConfig.set_viewport
- Added iOS support. #27 #36
- Incorrect transformations of boxes and cylinders have been fixed. #38 #40
- Frustum culling has been greatly accelerated. It is now enabled by default.
- Fixed the default color in
begin_text_group
. culling_distance
has been renamed tofrustum_length_scale
and now sets the distance scaling from Near to Far camera planes.
[4.1.3+] 1.3.1
Support
USDT-TRC20 TEw934PrsffHsAn5M63SoHYRuZo984EF6v
Changes
The main reason for releasing this update is that macOS support has been fixed! #34
And now I hope it will be easier to track such bugs because I've added simple tests to my CI/CD.
Other changes
- The
.dylib
macOS libraries are now located in separate.framework
folders. - The
DebugDraw3DScopeConfig
internal code has been optimized a bit. - Extended description of DebugDraw3DScopeConfig.
Note
Due to changes in the structure of the libraries folder, it is recommended to delete the addons/debug_draw_3d/libs
folder before upgrading (to remove old unused files).
[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.
[4.1+] 1.2.0
Support
Changes
DebugDraw
is now divided intoDebugDraw2D
andDebugDraw3D
. Now you will have to explicitly specify the3D
or2D
elements you want to display.DebugDrawManager
has also been added, through which you can toggle debugging and clear everything. Unfortunately, this will require changes to existing projects. ( #15 )- Added a C# binding generator. Now you can use this library from C#. This implementation uses
ClassDB
to call methods, so it may be slower thanGDScript
. I won't be able to do it faster, since official support in the engine core is required. Some additional information can be found in the Readme. ( #10 ) - Fixed
duration
in theset_text
method ( #22 ). The color of the text values has also been fixed. - Added
EditorPlugin
to add theProject - Tools - Debug Draw
menu. - Slightly optimized code to increase performance.
Now the target=editor
libraries are used for the editor and debug templates on the PC So it is recommended to clear the addon folder before updating.
[4.1+] 1.1.3
Support
Changes
- Updated "godot-cpp", now it calls engine methods faster.
- Updated the update checker. Now it shows additional links and uses BBCode. Also added a link to the addon page in
AssetLib
in the project settings. Added engine version check.
This will be useful for future updates, as new versions ofgodot-cpp
are likely to be poorly compatible with previous versions of godot 🤷♂️