Updated DebugDraw3D plugin

This commit is contained in:
SchimmelSpreu83 2026-04-20 19:20:59 +02:00
parent 1269e9a059
commit 774b481865
39 changed files with 6531 additions and 18 deletions

View File

@ -1,6 +1,6 @@
MIT License MIT License
Copyright (c) 2024 DmitriySalnikov Copyright (c) 2026 DmitriySalnikov
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the Software), to deal of this software and associated documentation files (the Software), to deal

View File

@ -2,7 +2,7 @@
# Debug drawing utility for Godot # Debug drawing utility for Godot
This is an add-on for debug drawing in 3D and for some 2D overlays, which is written in `C++` and can be used with `GDScript` or `C#`. This is an add-on for debug drawing in 3D and for some 2D overlays, which is written in `C++` and can be used with `GDScript`, `C++` or `C#`.
Based on my previous addon, which was developed [only for C#](https://github.com/DmitriySalnikov/godot_debug_draw_cs), and which was inspired by [Zylann's GDScript addon](https://github.com/Zylann/godot_debug_draw) Based on my previous addon, which was developed [only for C#](https://github.com/DmitriySalnikov/godot_debug_draw_cs), and which was inspired by [Zylann's GDScript addon](https://github.com/Zylann/godot_debug_draw)
@ -28,6 +28,7 @@ Your support adds motivation to develop my public projects.
* Billboard opaque square * Billboard opaque square
* Box * Box
* Camera Frustum * Camera Frustum
* Capsule
* Cylinder * Cylinder
* Gizmo * Gizmo
* Grid * Grid
@ -40,10 +41,6 @@ Your support adds motivation to develop my public projects.
* Sphere * Sphere
* 3D Text * 3D Text
2D:
* **[Work in progress]**
Overlay: Overlay:
* Text (with grouping and coloring) * Text (with grouping and coloring)
@ -57,10 +54,11 @@ Precompiled for:
* iOS * iOS
* Web (Firefox is supported by Godot 4.3+) * Web (Firefox is supported by Godot 4.3+)
This addon supports working with several World3D and different Viewports. This addon supports working with several World3D and different Viewports. [More information](https://dd3d.dmitriysalnikov.ru/docs/?page=md_docs_2SubViewports.html).
There is also a no depth test mode and other settings that can be changed for each instance. There is also a no depth test mode and other settings that can be changed for each instance.
This library supports double-precision builds, for more information, [see the documentation](https://dd3d.dmitriysalnikov.ru/docs/?page=md_docs_2DoublePrecision.html). This addon supports double-precision builds, for more information, [see the documentation](https://dd3d.dmitriysalnikov.ru/docs/?page=md_docs_2DoublePrecision.html).
## [Interactive Web Demo](https://dd3d.dmitriysalnikov.ru/demo/) ## [Interactive Web Demo](https://dd3d.dmitriysalnikov.ru/demo/)
@ -148,10 +146,18 @@ The entire text overlay can only be placed in one corner.
[Frustum of Camera3D does not take into account the window size from ProjectSettings](https://github.com/godotengine/godot/issues/70362). [Frustum of Camera3D does not take into account the window size from ProjectSettings](https://github.com/godotengine/godot/issues/70362).
## Usage Analytics
This addon collects anonymous statistics on **editor** usage time. The data includes the library version, engine version, operating system, system architecture, and locale. No personally identifiable information is gathered.
Libraries without **editor** support do not collect statistics in any way. Also, previews running in the editor do not collect any usage statistics.
You can disable this in the editor settings at: `debug_draw_3d/settings/telemetry_state`.
## More screenshots ## More screenshots
`DebugDrawDemoScene.tscn` in editor `DD3DDemo.tscn` in editor
![screenshot_2](/images/screenshot_2.png) ![screenshot_2](/images/screenshot_2.png)
`DebugDrawDemoScene.tscn` in play mode `DD3DDemo.tscn` in play mode
![screenshot_3](/images/screenshot_3.png) ![screenshot_3](/images/screenshot_3.png)

View File

@ -1,7 +1,7 @@
[configuration] [configuration]
entry_symbol = "debug_draw_3d_library_init" entry_symbol = "debug_draw_3d_library_init"
compatibility_minimum = "4.2.2" compatibility_minimum = "4.4.1"
reloadable = false reloadable = false
[dependencies] [dependencies]
@ -13,6 +13,7 @@ reloadable = false
macos = { } macos = { }
windows.x86_64 = { } windows.x86_64 = { }
linux.x86_64 = { } linux.x86_64 = { }
linux.arm64 = { }
; by default godot is using threads ; by default godot is using threads
web.wasm32.nothreads = {} web.wasm32.nothreads = {}
@ -31,6 +32,7 @@ ios = {}
macos.template_release = { } macos.template_release = { }
windows.template_release.x86_64 = { } windows.template_release.x86_64 = { }
linux.template_release.x86_64 = { } linux.template_release.x86_64 = { }
linux.template_release.arm64 = { }
web.template_release.wasm32.nothreads = { } web.template_release.wasm32.nothreads = { }
web.template_release.wasm32 = { } web.template_release.wasm32 = { }
@ -48,6 +50,7 @@ ios.template_release = {}
macos.template_release.forced_dd3d = { } macos.template_release.forced_dd3d = { }
windows.template_release.x86_64.forced_dd3d = { } windows.template_release.x86_64.forced_dd3d = { }
linux.template_release.x86_64.forced_dd3d = { } linux.template_release.x86_64.forced_dd3d = { }
linux.template_release.arm64.forced_dd3d = { }
web.template_release.wasm32.nothreads.forced_dd3d = { } web.template_release.wasm32.nothreads.forced_dd3d = { }
web.template_release.wasm32.forced_dd3d = { } web.template_release.wasm32.forced_dd3d = { }
@ -62,6 +65,7 @@ ios.template_release.forced_dd3d = {}
macos = "libs/libdd3d.macos.editor.universal.framework" macos = "libs/libdd3d.macos.editor.universal.framework"
windows.x86_64 = "libs/libdd3d.windows.editor.x86_64.dll" windows.x86_64 = "libs/libdd3d.windows.editor.x86_64.dll"
linux.x86_64 = "libs/libdd3d.linux.editor.x86_64.so" linux.x86_64 = "libs/libdd3d.linux.editor.x86_64.so"
linux.arm64 = "libs/libdd3d.linux.editor.arm64.so"
web.wasm32.nothreads = "libs/libdd3d.web.template_debug.wasm32.wasm" web.wasm32.nothreads = "libs/libdd3d.web.template_debug.wasm32.wasm"
web.wasm32 = "libs/libdd3d.web.template_debug.wasm32.threads.wasm" web.wasm32 = "libs/libdd3d.web.template_debug.wasm32.threads.wasm"
@ -79,6 +83,7 @@ ios = "libs/libdd3d.ios.template_debug.universal.dylib"
macos.template_release = "libs/libdd3d.macos.template_release.universal.framework" macos.template_release = "libs/libdd3d.macos.template_release.universal.framework"
windows.template_release.x86_64 = "libs/libdd3d.windows.template_release.x86_64.dll" windows.template_release.x86_64 = "libs/libdd3d.windows.template_release.x86_64.dll"
linux.template_release.x86_64 = "libs/libdd3d.linux.template_release.x86_64.so" linux.template_release.x86_64 = "libs/libdd3d.linux.template_release.x86_64.so"
linux.template_release.arm64 = "libs/libdd3d.linux.template_release.arm64.so"
web.template_release.wasm32.nothreads = "libs/libdd3d.web.template_release.wasm32.wasm" web.template_release.wasm32.nothreads = "libs/libdd3d.web.template_release.wasm32.wasm"
web.template_release.wasm32 = "libs/libdd3d.web.template_release.wasm32.threads.wasm" web.template_release.wasm32 = "libs/libdd3d.web.template_release.wasm32.threads.wasm"
@ -96,6 +101,7 @@ ios.template_release = "libs/libdd3d.ios.template_release.universal.dylib"
macos.template_release.forced_dd3d = "libs/libdd3d.macos.template_release.universal.enabled.framework" macos.template_release.forced_dd3d = "libs/libdd3d.macos.template_release.universal.enabled.framework"
windows.template_release.x86_64.forced_dd3d = "libs/libdd3d.windows.template_release.x86_64.enabled.dll" windows.template_release.x86_64.forced_dd3d = "libs/libdd3d.windows.template_release.x86_64.enabled.dll"
linux.template_release.x86_64.forced_dd3d = "libs/libdd3d.linux.template_release.x86_64.enabled.so" linux.template_release.x86_64.forced_dd3d = "libs/libdd3d.linux.template_release.x86_64.enabled.so"
linux.template_release.arm64.forced_dd3d = "libs/libdd3d.linux.template_release.arm64.enabled.so"
web.template_release.wasm32.nothreads.forced_dd3d = "libs/libdd3d.web.template_release.wasm32.enabled.wasm" web.template_release.wasm32.nothreads.forced_dd3d = "libs/libdd3d.web.template_release.wasm32.enabled.wasm"
web.template_release.wasm32.forced_dd3d = "libs/libdd3d.web.template_release.wasm32.threads.enabled.wasm" web.template_release.wasm32.forced_dd3d = "libs/libdd3d.web.template_release.wasm32.threads.enabled.wasm"
@ -112,6 +118,7 @@ ios.template_release.forced_dd3d = "libs/libdd3d.ios.template_release.universal.
macos.double = "libs/libdd3d.macos.editor.universal.double.framework" macos.double = "libs/libdd3d.macos.editor.universal.double.framework"
windows.x86_64.double = "libs/libdd3d.windows.editor.x86_64.double.dll" windows.x86_64.double = "libs/libdd3d.windows.editor.x86_64.double.dll"
linux.x86_64.double = "libs/libdd3d.linux.editor.x86_64.double.so" linux.x86_64.double = "libs/libdd3d.linux.editor.x86_64.double.so"
linux.arm64.double = "libs/libdd3d.linux.editor.arm64.double.so"
web.wasm32.nothreads.double = "libs/libdd3d.web.template_debug.wasm32.double.wasm" web.wasm32.nothreads.double = "libs/libdd3d.web.template_debug.wasm32.double.wasm"
web.wasm32.double = "libs/libdd3d.web.template_debug.wasm32.threads.double.wasm" web.wasm32.double = "libs/libdd3d.web.template_debug.wasm32.threads.double.wasm"
@ -121,7 +128,7 @@ android.arm64.double = "libs/libdd3d.android.template_debug.arm64.double.so"
android.x86_32.double = "libs/libdd3d.android.template_debug.x86_32.double.so" android.x86_32.double = "libs/libdd3d.android.template_debug.x86_32.double.so"
android.x86_64.double = "libs/libdd3d.android.template_debug.x86_64.double.so" android.x86_64.double = "libs/libdd3d.android.template_debug.x86_64.double.so"
ios.double = "libs/libdd3d.ios.template_debug.universal.dylib" ios.double = "libs/libdd3d.ios.template_debug.universal.double.dylib"
; ------------------------------------- ; -------------------------------------
; release no debug draw ; release no debug draw
@ -129,6 +136,7 @@ ios.double = "libs/libdd3d.ios.template_debug.universal.dylib"
macos.template_release.double = "libs/libdd3d.macos.template_release.universal.double.framework" macos.template_release.double = "libs/libdd3d.macos.template_release.universal.double.framework"
windows.template_release.x86_64.double = "libs/libdd3d.windows.template_release.x86_64.double.dll" windows.template_release.x86_64.double = "libs/libdd3d.windows.template_release.x86_64.double.dll"
linux.template_release.x86_64.double = "libs/libdd3d.linux.template_release.x86_64.double.so" linux.template_release.x86_64.double = "libs/libdd3d.linux.template_release.x86_64.double.so"
linux.template_release.arm64.double = "libs/libdd3d.linux.template_release.arm64.double.so"
web.template_release.wasm32.nothreads.double = "libs/libdd3d.web.template_release.wasm32.double.wasm" web.template_release.wasm32.nothreads.double = "libs/libdd3d.web.template_release.wasm32.double.wasm"
web.template_release.wasm32.double = "libs/libdd3d.web.template_release.wasm32.threads.double.wasm" web.template_release.wasm32.double = "libs/libdd3d.web.template_release.wasm32.threads.double.wasm"
@ -146,6 +154,7 @@ ios.template_release.double = "libs/libdd3d.ios.template_release.universal.doubl
macos.template_release.forced_dd3d.double = "libs/libdd3d.macos.template_release.universal.enabled.double.framework" macos.template_release.forced_dd3d.double = "libs/libdd3d.macos.template_release.universal.enabled.double.framework"
windows.template_release.x86_64.forced_dd3d.double = "libs/libdd3d.windows.template_release.x86_64.enabled.double.dll" windows.template_release.x86_64.forced_dd3d.double = "libs/libdd3d.windows.template_release.x86_64.enabled.double.dll"
linux.template_release.x86_64.forced_dd3d.double = "libs/libdd3d.linux.template_release.x86_64.enabled.double.so" linux.template_release.x86_64.forced_dd3d.double = "libs/libdd3d.linux.template_release.x86_64.enabled.double.so"
linux.template_release.arm64.forced_dd3d.double = "libs/libdd3d.linux.template_release.arm64.enabled.double.so"
web.template_release.wasm32.nothreads.forced_dd3d.double = "libs/libdd3d.web.template_release.wasm32.enabled.double.wasm" web.template_release.wasm32.nothreads.forced_dd3d.double = "libs/libdd3d.web.template_release.wasm32.enabled.double.wasm"
web.template_release.wasm32.forced_dd3d.double = "libs/libdd3d.web.template_release.wasm32.threads.enabled.double.wasm" web.template_release.wasm32.forced_dd3d.double = "libs/libdd3d.web.template_release.wasm32.threads.enabled.double.wasm"

View File

@ -0,0 +1,3 @@
# Temporary editor files
~*.dll
~*.TMP

View File

@ -17,9 +17,9 @@
<key>NSHumanReadableCopyright</key> <key>NSHumanReadableCopyright</key>
<string>Copyright (c) Dmitriy Salnikov.</string> <string>Copyright (c) Dmitriy Salnikov.</string>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
<string>1.5.1</string> <string>1.7.3</string>
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>
<string>1.5.1</string> <string>1.7.3</string>
<key>CFBundlePackageType</key> <key>CFBundlePackageType</key>
<string>FMWK</string> <string>FMWK</string>
<key>CSResourcesFileMapped</key> <key>CSResourcesFileMapped</key>

View File

@ -17,9 +17,9 @@
<key>NSHumanReadableCopyright</key> <key>NSHumanReadableCopyright</key>
<string>Copyright (c) Dmitriy Salnikov.</string> <string>Copyright (c) Dmitriy Salnikov.</string>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
<string>1.5.1</string> <string>1.7.3</string>
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>
<string>1.5.1</string> <string>1.7.3</string>
<key>CFBundlePackageType</key> <key>CFBundlePackageType</key>
<string>FMWK</string> <string>FMWK</string>
<key>CSResourcesFileMapped</key> <key>CSResourcesFileMapped</key>

View File

@ -17,9 +17,9 @@
<key>NSHumanReadableCopyright</key> <key>NSHumanReadableCopyright</key>
<string>Copyright (c) Dmitriy Salnikov.</string> <string>Copyright (c) Dmitriy Salnikov.</string>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
<string>1.5.1</string> <string>1.7.3</string>
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>
<string>1.5.1</string> <string>1.7.3</string>
<key>CFBundlePackageType</key> <key>CFBundlePackageType</key>
<string>FMWK</string> <string>FMWK</string>
<key>CSResourcesFileMapped</key> <key>CSResourcesFileMapped</key>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff