1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-05 12:10:55 +00:00
Commit Graph

367 Commits

Author SHA1 Message Date
Kaleb Reid
96ca7a205d Use correct ndc equation in Compatibility refraction 2025-10-04 02:03:31 -07:00
Aaron Franke
9fbf5808a0 Rename server "free" functions to "free_rid" to match exposed API 2025-09-30 16:52:25 -07:00
Bastiaan Olij
748f35ccb8 Fix fixed size flag on StandardMaterial3D when rendering in stereo 2025-09-11 20:53:19 +10:00
Pāvels Nadtočajevs
f766e401db [MSDF] Fix outline bleed out at small sizes. 2025-08-31 23:35:33 +03:00
Thaddeus Crews
61c6d40c63 Merge pull request #109052 from Squamto/108905
Fix overflowing render priority for stencil mode outline and xray
2025-08-21 06:24:27 -05:00
Pāvels Nadtočajevs
6a3941b5d9 Fix MSDF outline size clamping. 2025-08-19 08:28:33 +03:00
Pāvels Nadtočajevs
86e61a311f Use MSDF instead of MTSDF for font rendering.
Co-authored-by: K. S. Ernest (iFire) Lee <ernest.lee@chibifire.com>
2025-08-09 10:41:16 +03:00
Squamto
cd737eed2f Fix disallow stencil mode outline and xray for RENDER_PRIORITY_MAX 2025-07-29 22:42:00 +02:00
Thaddeus Crews
db28859774 Merge pull request #107591 from timothyqiu/group-enable-default
Make `PROPERTY_HINT_GROUP_ENABLE` hide properties by default
2025-06-24 18:34:28 -05:00
Rémi Verschelde
8450eb2411 Merge pull request #107808 from apples/apples-stencil-preset-readwrite-fix
Fix stencil preset `next_pass` stencil flags
2025-06-22 11:59:26 +02:00
Apples
b0947003e0 Fix stencil preset next_pass stencil flags 2025-06-21 11:05:32 -05:00
Apples
8ce3011ae6 Fixed stencil preset priorities 2025-06-21 10:48:25 -05:00
Haoyu Qiu
a7ab249a2a Make PROPERTY_HINT_GROUP_ENABLE hide properties by default 2025-06-16 20:03:49 +08:00
Capry
bf8edd2c2a Fix bent normal maps not working with triplanar UVs 2025-06-12 14:45:37 +02:00
LuoZhihao
8ba4656ea3 Compile out editor-only logic within validate_property in games 2025-06-12 12:54:19 +08:00
Apples
d674c9e289 Add stencil support for spatial materials 2025-06-11 09:59:10 -05:00
Apples
7574a5dbb3 Add depth function for spatial materials 2025-06-06 09:21:19 -05:00
Dario
5a30a7e7cd Add shader baker to project exporter.
Metal Support contributed by Migeran (https://migeran.com) and Stuart Carnie.

Co-authored-by: Stuart Carnie <stuart.carnie@gmail.com>
Co-authored-by: Gergely Kis <gergely.kis@migeran.com>
2025-05-27 12:45:27 -03:00
Thaddeus Crews
506417fe43 Merge pull request #105623 from lodetrick/section-feature-hide
Allow Inspector Section Checkboxes to hide features, Add "On" text to checkboxes
2025-05-26 11:24:25 -05:00
Logan Detrick
1a427d3dec Add feature hint string and "On" text for checkable groups 2025-05-21 14:56:55 -07:00
clayjohn
9a1def8da1 Add new StandardMaterial properties to allow users to control FPS-style objects (hands, weapons, tools close to the camera)
Add new shader built in Z_CLIP_SCALE to easily adjust clipping distance to avoid clipping walls etc.

Add fov_override to StandardMaterial3D to easily have a custom FOV for FPS objects

Add IN_SHADOW_PASS built-in to shaders for tweaking materials without impacting shadow maps
2025-05-21 10:16:05 -03:00
Capry
9828c365c3 Add support for bent normals for indirect lighting and specular occlusion 2025-05-12 12:52:04 +02:00
landervr
56730d0cb2 Add specular occlusion from ambient light
Co-authored-by: guerro323 <kaltobattle@gmail.com>
2025-05-08 23:52:01 +02:00
lawnjelly
f8f350a32a Add GLOBAL_GET cached macros.
GLOBAL_GET is an expensive operation which should not be used each frame / tick.
This PR adds macros which do a cheaper revision check, and only call the expensive GLOBAL_GET when project settings have changed.

Co-authored-by: Lukas Tenbrink <lukas.tenbrink@gmail.com>
2025-04-30 15:08:50 +01:00
Lukas Tenbrink
91fe434a86 Always use String as StringName backing internally. 2025-04-23 14:57:03 +02:00
cier
ebe9370724 Add enable checkboxes to editor sections
Fixes https://github.com/godotengine/godot-proposals/issues/4173
2025-04-15 13:49:41 -07:00
Stuart Carnie
09282c316a Renderer: Reduce scope of mutex locks to prevent common deadlocks
Fixes #102877
2025-04-13 06:56:13 +10:00
Yyf2333
22b5ec17fb Using iterator pattern instead of List::Element *.
Co-authored-by: Adam Scott <ascott.ca@gmail.com>
2025-03-28 13:29:15 +08:00
Aaron Franke
97ee05e9b7 Rename version defines to GODOT_VERSION_* to match GDExtension godot-cpp 2025-03-12 11:11:38 -07:00
A Thousand Ships
a1846b27ea Improve use of Ref.is_null/valid
Use `is_null` over `!is_valid` and vice versa.
2024-12-23 16:35:02 -05:00
clayjohn
ed83e5ee4b Fix shader compilation errors when using MSDF fonts with Label3D nodes 2024-12-20 17:30:55 -07:00
Pedro J. Estébanez
4bfc6f8d70 Fix deadlock possibility in threaded load of materials 2024-12-13 12:49:10 +01:00
Hugo Locurcio
3dfc832272 Replace textureSize() with a uniform in BaseMaterial3D for MSDF rendering
This uniform was already defined for other uses previously.

`textureSize()` is known to be slow on mobile platforms due to how
the drivers implement it there, so it's best avoided.
2024-12-11 15:44:06 +01:00
Thaddeus Crews
70ff57b5f3 Merge pull request #99716 from DarioSamo/material-dirty-updates
Restore dirty list for BaseMaterial3D but don't use it on resource loader.
2024-12-03 14:40:41 -06:00
Dario
34a19f07a4 Restore dirty list for BaseMaterial3D but don't use it on resource loader. 2024-11-27 10:37:19 -03:00
clayjohn
9e34e45480 Use Vector4 for texture mask in BaseMaterial to avoid converting to and from Plane 2024-11-26 21:43:46 -08:00
kobewi
b9d25580ce Fix implementation of property_can_revert() in various classes 2024-10-04 23:02:04 +02:00
Dario
e2c6daf7ef Implement asynchronous transfer queues, thread guards on RenderingDevice. Add ubershaders and rework pipeline caches for Forward+ and Mobile.
- Implements asynchronous transfer queues from PR #87590.
- Adds ubershaders that can run with specialization constants specified as push constants.
- Pipelines with specialization constants can compile in the background.
- Added monitoring for pipeline compilations.
- Materials and shaders can now be created asynchronously on background threads.
- Meshes that are loaded on background threads can also compile pipelines as part of the loading process.
2024-10-02 15:11:58 -03:00
Rémi Verschelde
41ffc696d2 Merge pull request #93449 from Calinou/basematerial3d-refraction-use-depth-comparison
Fix BaseMaterial3D refracting objects located in front of the material
2024-10-01 17:30:20 +02:00
Hugo Locurcio
8a485ff658 Fix BaseMaterial3D refracting objects located in front of the material
Depth comparison is now used to prevent refraction from occurring
if the pixel being refracted is located in front of the object.

For pixels slightly behind the object, a `smoothstep()` curve
is used to progressively increases refraction intensity
as the distance between the object and the refraction increases.
This avoids sudden discontinuities in the refraction.

Co-authored-by: GeneralLegendary <generallegendary456@gmail.com>
2024-09-26 15:12:31 +02:00
David Snopek
c2af6bcb59 GDExtension: Mark virtual function as is_required in extension_api.json
Co-authored-by: Jovan Gerodetti <jovan.gerodetti@titannano.de>
2024-09-11 16:48:14 -05:00
A Thousand Ships
194bdde947 Cleanup of raw nullptr checks with Ref
Using `is_valid/null` over checks with `nullptr` or `ERR_FAIL_NULL` etc.
2024-08-31 15:01:09 +02:00
Rakka Rage
ba23b22153 Enable revert button for ShaderMaterial::next_pass and ShaderMaterial::render_priority. 2024-08-22 16:28:59 -04:00
Yuri Rubinsky
72c7e51905 Use PackedVector4Array instead of float array for vec4 array uniform 2024-06-28 13:34:43 +03:00
Hugo Locurcio
281e0e6a5b Allow BaseMaterial3D height/dither fade to work with Compatibility rendering
Compatibility is based on OpenGL ES 3.0, so the height shader
(including deep parallax) and distance fade dither modes work
just fine with no adjustments required.
2024-06-22 00:57:22 +02:00
BlueCube3310
ea683cd152 Material: Fix marking as ready 2024-06-13 13:12:55 +02:00
Rémi Verschelde
2c50e87f60 Merge pull request #89470 from jsjtxietian/msdf-uv
Fix shader compilation error when enabling texture MSDF and UV1 Triplanar at the same time
2024-05-29 22:13:30 +02:00
Rémi Verschelde
bdefe53992 Merge pull request #91909 from KoBeWi/have_fun_reviewing_this
Use Core/Scene stringnames consistently
2024-05-14 12:07:03 +02:00
kobewi
413c11357d Use Core/Scene stringnames consistently 2024-05-13 23:41:07 +02:00
Pedro J. Estébanez
187e5ef258 Let materials' shaders update happen on loader threads 2024-05-06 19:40:00 +02:00