Commit Graph

598 Commits

Author SHA1 Message Date
clayjohn 34cdc6e43f Initialize multimesh buffers to 0 instead of letting them contain garbage data.
In the editor, we read back the data from the GPU to display the buffer values. So when we create the buffer uninitialized, we end up reading back garbage data and displaying it in the editor.

Many GPUs zero-initialize buffers by default, but it isn't guaranteed behaviour, so its best to initialize it ourselves to be safe
2026-06-11 22:18:56 -07:00
Skyth af2fea0ad3 Fix leftover particle data when updating particle buffers.
Co-authored-by:  Skyth <19259897+blueskythlikesclouds@users.noreply.github.com>
2026-06-11 21:02:05 +02:00
Pāvels Nadtočajevs 586d613f43 Fix drawable texture access before null check. 2026-06-01 09:35:34 +03:00
Thaddeus Crews 4354aa9806 Merge pull request #116203 from blueskythlikesclouds/shader-race-condition-fix
Fix `MaterialStorage::material_set_shader` race condition.
2026-05-25 11:18:59 -05:00
Thaddeus Crews f059d64e3d Merge pull request #118968 from CookieBadger/area-light-lut-textures
Fix GPU validation errors due to area light LUT format
2026-04-30 10:58:09 -05:00
Skyth f379b84004 Fix material_set_shader race condition. 2026-04-29 17:31:24 +03:00
LiveTrower 936d67b7c7 Fix area light texture color conversion 2026-04-28 10:54:57 -06:00
CookieBadger 7c532acc09 change LTC lookup table texture format to RGBAF and set p_8bit_dst to true in gaussian_blur 2026-04-27 21:35:46 +02:00
Thaddeus Crews f94bbfc07c Merge pull request #118353 from Chaosus/shader_subgroups
Allow to define more than one subgroup level in shader material
2026-04-14 07:11:08 -05:00
Thaddeus Crews 7ce1853014 Merge pull request #108219 from CookieBadger/area-light-integration
Add Rectangular Area Light Source
2026-04-14 07:10:56 -05:00
Thaddeus Crews cee489f46e Merge pull request #118242 from BlueCube3310/draw-tex-set-type
Properly set `drawable_type` property in RenderingServer's `DrawableTexture`
2026-04-13 15:52:15 -05:00
Clay John ba7f91ccc8 Remove is_discardable property from several textures
The property is causing issues on NVidia devices
2026-04-10 16:00:28 -07:00
Chaosus 5c667de60c Allow to define more than one subgroup level in shader material 2026-04-09 19:15:19 +03:00
Thaddeus Crews b6f86739b6 Merge pull request #109911 from TCROC/fix-particles-moving-timescale-0
Fix particles moving when timescale is 0
2026-04-08 09:25:25 -05:00
BlueCube3310 7ba643bdcf Properly set drawable_type property in RenderingServer's DrawableTexture 2026-04-06 13:11:49 +02:00
Altay Evren Özsan d18e225ba5 Added math constants to texture-blit
Fixes #118144

Fixed an issue where texture-blit shader was failing to compile when using some math constants because the code was incorrectly passing name strings into the shader
2026-04-05 22:45:50 +03:00
CookieBadger 7b7bd1dcea Add AreaLight3D 2026-04-04 01:37:10 +02:00
Thaddeus Crews c05358c1d6 Merge pull request #108073 from Gaktan/fix-decal-atlas
Fix decal atlas clipped when using texture resolution < 32
2026-04-02 12:33:14 -05:00
Thaddeus Crews 7e3bf93f8a Merge pull request #117909 from QbieShay/qbe/fix-trimmed-transform
Fix incorrectly stored emission transform for GPUParticles2D
2026-04-01 18:10:11 -05:00
Qbieshay df081fc7c1 Fix incorrectly stored emision transform for GPUParticles2D 2026-03-27 18:48:37 +01:00
Qbieshay 158d8784c3 Add parameter to request_process_time to have particle process without
emission.

Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2026-03-27 11:57:08 +01:00
Gaktan c0eb935646 Fix decal atlas clipped when using texture resolution < 32 2026-03-26 20:48:25 +01:00
Rémi Verschelde cd8ee7d229 Merge pull request #116620 from QbieShay/qbe/rework-align-rotation
Improve options for orienting particles in space
2026-03-23 22:34:16 +01:00
Rémi Verschelde 7958080d65 Merge pull request #116220 from dsnopek/foveated-rendering-vulkan-subsampled-image
OpenXR: Allow using Vulkan subsampled images with foveated rendering
2026-03-23 22:34:11 +01:00
Qbieshay 113ace0cd3 Add options for billboarding on GPUParticles3D
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2026-03-19 16:10:20 +01:00
Rémi Verschelde e33e98a26f Style: Apply clang-format grouping rules 2026-03-17 20:11:01 +01:00
Thaddeus Crews d7ed107cd8 Merge pull request #116852 from Chaosus/rendering_fix_texture_array
Fix repeating last valid texture in samplers array
2026-03-12 09:03:32 -05:00
Rémi Verschelde f1d63278d7 Remove unused includes in servers with clangd-tidy 2026-03-10 21:42:23 +01:00
David Snopek 4d218bdeb7 OpenXR: Allow using Vulkan subsampled images with foveated rendered 2026-03-05 11:00:37 -06:00
Thaddeus Crews 4296a0c158 Merge pull request #116752 from BastiaanOlij/cleanup_is_frustum
Clean up `is_frustum` projection code
2026-03-04 14:32:33 -06:00
Rémi Verschelde 765362b033 Explicitly include core/config/engine.h where used 2026-03-04 10:17:10 +01:00
Rémi Verschelde f332faf46b Explicitly include core/os/os.h where used 2026-03-04 09:54:10 +01:00
Rémi Verschelde 8c0f175c94 Decouple RenderingServer from as much of the codebase as possible
Notably decouples it from:
- AccessibilityServer
- DisplayServer
- Viewport
- Window
2026-03-03 12:48:07 +01:00
StarryWorm 357fa00a4a rm class_db.h from resource.h 2026-02-27 19:08:29 -05:00
Chaosus 205a1b0972 Fix repeating last valid texture in samplers array 2026-02-27 19:49:09 +03:00
DDarby-Lewis bf326793ba Editor additions for MipMaps and rd_textures 2026-02-27 08:38:13 -06:00
Thaddeus Crews e380a41752 Style: Add class_db.h includes explicitly 2026-02-26 15:50:28 -06:00
Rémi Verschelde e3b60a1530 Move RenderingMethod::RenderInfo to RenderingServerTypes
Also move RS::scaling_3d_mode_type to RenderingServerEnums.
2026-02-25 20:17:28 +01:00
Rémi Verschelde 671864fb05 Decouple TextureStorage from RenderingServer
By moving RS::TextureDetect(Roughness)Callback and RS::TextureInfo
to RenderingServerTypes.
2026-02-25 20:17:28 +01:00
Rémi Verschelde cb9b4cff90 Decouple MeshStorage from RenderingServer
By moving RS::SurfaceData and RS::MeshInfo to RenderingServerTypes.

This notably allows removing RS dependency from `mesh.h`.
2026-02-25 20:17:28 +01:00
Rémi Verschelde 0ce92073ae Move RS::ShaderNativeSourceCode to RenderingServerTypes to reduce dependencies on RS
On my machine, this reduces incremental compilation time after an edit of
`rendering_server.h` by 1s, and paves the way for more decoupling in
rendering code.
2026-02-25 20:17:27 +01:00
Rémi Verschelde f0a448540e Misc dependency improvements for files depending on rendering_server.h
On my machine, this reduces incremental compilation time after an edit of
`rendering_server.h` by 3s.
2026-02-25 20:17:27 +01:00
Rémi Verschelde f5a290ac46 Move RenderingServer enums to a dedicated RenderingServerEnums (RSE) namespace
A number of headers in the codebase included `rendering_server.h` just for
some enum definitions. This means that any change to `rendering_server.h` or
one of its dependencies would trigger a massive incremental rebuild.

With this change, we decouple a number of classes from `rendering_server.h`,
greatly speeding up incremental rebuilds for that area.

On my machine, this reduces incremental compilation time after an edit of
`rendering_server.h` by 60s (from 2m57s).
2026-02-25 19:43:03 +01:00
Bastiaan Olij 2c49923c39 Cleanup projection code so we don't need our frustum override in the renderer 2026-02-25 21:16:38 +11:00
Lukas Tenbrink 0ea5ece984 Move binary math functions to Math namespace in math_funcs_binary header. 2026-02-17 12:24:35 +01:00
Thaddeus Crews 2d5b30c476 Merge pull request #115963 from blueskythlikesclouds/reduce-includes-to-rd
Reduce includes to rendering device.
2026-02-12 08:19:16 -06:00
Josh Jones b8389cc76b Support output to HDR monitors
Co-authored-by: Alvin Wong <alvinhochun@gmail.com>
Co-authored-by: Allen Pestaluky <allenpestaluky@gmail.com>
2026-02-11 22:13:26 -07:00
Skyth 8fbf2f1e14 Reduce includes to rendering device.
Co-authored-by: Lukas Tenbrink <lukas.tenbrink@gmail.com>
2026-02-10 16:58:50 +03:00
Thaddeus Crews fd6e80d4e9 Merge pull request #105701 from ColinSORourke/DrawableTexture
Implement DrawableTextures
2026-01-30 09:32:05 -06:00
Colin O'Rourke 63f6e3691c DrawableTextures
Implementing DrawableTextures based on: https://github.com/godotengine/godot-proposals/issues/7379
2026-01-29 01:16:06 -08:00