From 8eedf38b54afd821137cc7dd05337e8205264dc9 Mon Sep 17 00:00:00 2001 From: Godot Organization <> Date: Mon, 2 Jun 2025 21:30:09 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20published=20from=20@=20godoten?= =?UTF-8?q?gine/godot-website@dc24a7480688e40965811b2229de2877679c3f15=20?= =?UTF-8?q?=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dev-snapshot-godot-4-5-dev-5/index.html | 11 +--- atom.xml | 55 +++++++++++++++---- rss.xml | 53 ++++++++++++++---- 3 files changed, 86 insertions(+), 33 deletions(-) diff --git a/article/dev-snapshot-godot-4-5-dev-5/index.html b/article/dev-snapshot-godot-4-5-dev-5/index.html index 39b1db4137..f187977050 100644 --- a/article/dev-snapshot-godot-4-5-dev-5/index.html +++ b/article/dev-snapshot-godot-4-5-dev-5/index.html @@ -7,16 +7,7 @@

The purpose of an abstract class is to create a baseline for other classes to derive from:
class_name ExtendsMyAbstract extends MyAbstract

From the technical gurus behind implementing ubershaders, Darío Samo and Pedro J. Estébanez bring us another miracle of rendering via GH-102552: shader baker exporting. This is an optional feature that can be enabled at export time to speed up shader compilation massively. This feature works with ubershaders automatically without any work from the user. Using shader baking is strongly recommended when targeting Apple devices or D3D12 since it makes the biggest difference there (over 20× decrease in load times in the TPS demo)!

Before:
After:
However, it comes with tradeoffs:
.metallib requires a Metal compiler (macOS with Xcode / Command Line Tools installed).As you might recall, Godot 4.0 initially released under the assumption that multi-threaded web support would become the standard, and only supported that format for web builds. This assumption unfortunately proved to be wishful thinking, and was reverted in 4.3 by allowing for single-threaded builds once more. However, this doesn’t mean that these single-threaded environments are inherently incapable of parallel processing; it just requires alternative implementations. One such implementation, SIMD, is a perfect candidate thanks to its support across all major browsers. To that end, web-wiz Adam Scott has taken to integrating this implementation for our web builds by default (GH-106319).
While it’s always been possible to see what kind of variable is assigned to an exported color in the inspector, some users have expressed a keen interest in allowing for this functionality within the script editor itself. This is because it would mean seeing what kind of color is represented by a variable without it needing to be exposed, as well as making it more intuitive at a glance as to what color a name or code corresponds to. Koliur Rahman has blessed us with this quality-of-life goodness, which adds an inline color picker GH-105724. Now no matter where the color is declared, users will be able to immediately and intuitively know what is actually represented in a non-intrusive manner.

The renderer got a fair amount of love this snapshot; not from any one PR, but rather a multitude of community members bringing some long-awaited features to light. Raymond DiDonato helped SMAA 1x make its transition from addon to fully-fledged engine feature (GH-102330). Capry brings bent normal maps to further enhance specular occlusion and indirect lighting (GH-89988). Our very own Clay John converted our Compatibility backend to use a fragment shader copy instead of a blit copy, working around common sample rate issues on mobile devices (GH-106267). More technical information on these rendering changes can be found in their associated PRs.
SMAA comparison:
-| Off | On |
-| :————————————————————————————————–: | :————————————————————————————————: |
-|
|
|
-|
|
|
Bent normal map comparison:
-| Before | After |
-| :————————————————————————————————————————: | :———————————————————————————————————————-: |
-|
|
|
-|
|
|
-|
|
|
There are too many exciting changes to list them all here, but here’s a curated selection:
--scene command line argument (GH-105302).String::num_scientific to fix serializing (GH-98750).EditorResourcePicker (GH-104490).PROPERTY_HINT_INPUT_NAME for use with @export_custom to allow using input actions (GH-96611).EditorScripts to the command palette (GH-99318).ResourceImporterTexture (GH-99676).gradle_build/compress_native_libraries export option (GH-106359).PThread pool size for get_default_thread_pool_size() (GH-104458).SceneTree traversal (GH-106244).109 contributors submitted 252 fixes for this release. See our interactive changelog for the complete list of changes since the previous 4.5-dev4 snapshot.
This release is built from commit 64b09905c.

However, it comes with tradeoffs:
.metallib requires a Metal compiler (macOS with Xcode / Command Line Tools installed).As you might recall, Godot 4.0 initially released under the assumption that multi-threaded web support would become the standard, and only supported that format for web builds. This assumption unfortunately proved to be wishful thinking, and was reverted in 4.3 by allowing for single-threaded builds once more. However, this doesn’t mean that these single-threaded environments are inherently incapable of parallel processing; it just requires alternative implementations. One such implementation, SIMD, is a perfect candidate thanks to its support across all major browsers. To that end, web-wiz Adam Scott has taken to integrating this implementation for our web builds by default (GH-106319).
While it’s always been possible to see what kind of variable is assigned to an exported color in the inspector, some users have expressed a keen interest in allowing for this functionality within the script editor itself. This is because it would mean seeing what kind of color is represented by a variable without it needing to be exposed, as well as making it more intuitive at a glance as to what color a name or code corresponds to. Koliur Rahman has blessed us with this quality-of-life goodness, which adds an inline color picker GH-105724. Now no matter where the color is declared, users will be able to immediately and intuitively know what is actually represented in a non-intrusive manner.

The renderer got a fair amount of love this snapshot; not from any one PR, but rather a multitude of community members bringing some long-awaited features to light. Raymond DiDonato helped SMAA 1x make its transition from addon to fully-fledged engine feature (GH-102330). Capry brings bent normal maps to further enhance specular occlusion and indirect lighting (GH-89988). Our very own Clay John converted our Compatibility backend to use a fragment shader copy instead of a blit copy, working around common sample rate issues on mobile devices (GH-106267). More technical information on these rendering changes can be found in their associated PRs.
SMAA comparison:
| Off | On |
|---|---|
![]() | ![]() |
![]() | ![]() |
Bent normal map comparison:
| Before | After |
|---|---|
![]() | ![]() |
![]() | ![]() |
![]() | ![]() |
There are too many exciting changes to list them all here, but here’s a curated selection:
--scene command line argument (GH-105302).String::num_scientific to fix serializing (GH-98750).EditorResourcePicker (GH-104490).PROPERTY_HINT_INPUT_NAME for use with @export_custom to allow using input actions (GH-96611).EditorScripts to the command palette (GH-99318).ResourceImporterTexture (GH-99676).gradle_build/compress_native_libraries export option (GH-106359).PThread pool size for get_default_thread_pool_size() (GH-104458).SceneTree traversal (GH-106244).109 contributors submitted 252 fixes for this release. See our interactive changelog for the complete list of changes since the previous 4.5-dev4 snapshot.
This release is built from commit 64b09905c.