Skip to content

Releases: DmitriySalnikov/godot_debug_draw_3d

[4.1.3+] 1.4.1

14 Apr 13:00
Compare
Choose a tag to compare

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

01 Apr 19:58
Compare
Choose a tag to compare

Support

Boosty

USDT-TRC20

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 to frustum_length_scale and now sets the distance scaling from Near to Far camera planes.

And a short video made for fun:

[4.1.3+] 1.3.1

08 Jan 19:45
Compare
Choose a tag to compare

Support

Boosty

USDT-TRC20

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

02 Jan 18:26
Compare
Choose a tag to compare

Support

Boosty

USDT-TRC20

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_configs 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 RayCasts are drawn in _physics_process at a frequency of 15 ticks:
browser_ho5dIhh45H

Added more project settings

image

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.

Godot_v4 2 1-stable_mono_win64_0rvOhgEFpM

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.
image

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!
browser_CYCI59xbnW

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 to culling_distance.

DebugDraw3D

DebugDraw3DStats

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

16 Sep 08:39
Compare
Choose a tag to compare

Support

qiwi

Boosty

Changes

  • DebugDraw is now divided into DebugDraw2D and DebugDraw3D. Now you will have to explicitly specify the 3D or 2D 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 than GDScript. 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 the set_text method ( #22 ). The color of the text values has also been fixed.
  • Added EditorPlugin to add the Project - 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

31 Jul 01:16
Compare
Choose a tag to compare

Support

qiwi

Boosty

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 of godot-cpp are likely to be poorly compatible with previous versions of godot 🤷‍♂️

[4.0] 1.1.2

20 Jul 18:52
Compare
Choose a tag to compare

Support

qiwi

Boosty

Changes

Hotfix 1.1.2:

  • Changed the way the update notification is displayed. Now normal text will be printed instead of a warning.

Update 1.1.1:

  • Updated to support Godot 4.1. Godot 4.0 is not supported due to the huge differences in GDExtension.
  • Added the dummy release library (same API, but no rendering).
  • Lowered the minimum version of Linux to Ubuntu 20.04 and macOS to 10.14.
  • Added an update checker. Now, when a new version is released, a warning will be displayed in the console (which can be disabled).

[4.0] 1.1.1

19 Jul 19:25
Compare
Choose a tag to compare

Support

qiwi

Boosty

Changes

  • Updated to support Godot 4.1. Godot 4.0 is not supported due to the huge differences in GDExtension.
  • Added the dummy release library (same API, but no rendering).
  • Lowered the minimum version of Linux to Ubuntu 20.04 and macOS to 10.14.
  • Added an update checker. Now, when a new version is released, a warning will be displayed in the console (which can be disabled).

[4.0] 1.1.0

31 Mar 05:51
Compare
Choose a tag to compare

Support

qiwi

Boosty

Changes

Updated to support GDExtension and Godot 4.0.
Lots of internal changes with minor changes to the API.

1.0.1

21 Sep 15:36
Compare
Choose a tag to compare

Support

qiwi

Boosty

Changes

Added comments to generated scripts
Added project parameters to disable library initialization
Updated the readme for Godot 3.5