Commit Graph

4452 Commits

Author SHA1 Message Date
963c20565b Remove OAHashMap, in favour of AHashMap.
The two types had (mostly) the same decisions, but `AHashMap` is a faster implementation, and is more consistent with `HashMap`.
2025-05-31 15:50:10 +02:00
8b2dda868b Correctly place viewport and use viewport relative rect for the final blit in Compatibility renderer 2025-05-28 22:11:20 -07:00
de37627404 Merge pull request #102552 from DarioSamo/shader-baker
Add shader baker to project exporter.
2025-05-28 17:09:38 -05:00
90c75d02dd Merge pull request #106732 from stuartcarnie/rd_reduce_allocations
Renderer: Eliminate `String` allocations for all labels in the renderer
2025-05-28 09:47:43 -05:00
7d93119353 Renderer: Eliminates String allocations for all labels in the renderer
Uses `Span<char>` to avoid additional allocations in the graph.
2025-05-28 06:01:35 +10:00
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
1194609662 Merge pull request #106827 from akien-mga/d3d12-fix-DCOMP_ENABLED-inconsistency
D3D12: Fix inconsistent value for `DCOMP_ENABLED` in platform code
2025-05-27 09:39:28 -05:00
4cb8a0c77e Add resize_initialized and resize_uninitialized to Vector. These functions serve as replacements for resize, to make sure the caller understands whether elements need to be initialized 'by hand' after the call. 2025-05-26 18:35:41 +02:00
514e80bcc1 D3D12: Fix inconsistent value for DCOMP_ENABLED in platform code 2025-05-26 15:16:19 +02:00
d609cf62a0 Implement get_filesystem_type on macOS and Linux. 2025-05-23 23:05:06 +03:00
eb4f3a82a3 Ignore destination alpha when blitting to window in compatibility renderer 2025-05-22 22:21:32 -04:00
452dc667fb Merge pull request #106592 from beicause/shader-fix-editor-mat-default
Shader: Fix the default behavior when mat uniforms are null
2025-05-22 12:15:08 -05:00
8085fd3102 Merge pull request #93142 from clayjohn/z_clip_scale
Add new shader built ins: `Z_CLIP_SCALE` and `PERSPECTIVE_SCALE`
2025-05-22 12:15:06 -05:00
f129e542da Merge pull request #106708 from bruvzg/nohang_exitcode
Fix `execute_with_pipe` / `create_process` exit code.
2025-05-22 12:15:06 -05:00
d19b34c5be Merge pull request #106694 from stuartcarnie/metal_fix_clear_crash
Metal: Fix crash when clearing render buffers
2025-05-22 12:15:05 -05:00
dd5c5ed631 Merge pull request #106267 from clayjohn/android-msaa-bug
Use a fragment shader copy instead of a blit copy in the final blit to screen in the Compatibility backend
2025-05-22 12:14:57 -05:00
1501f447bf Fix execute_with_pipe / create_process exit code. 2025-05-22 08:56:37 +03:00
32043fc682 Metal: Fix crash when clearing render buffers 2025-05-22 07:25:48 +10:00
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
4621d3e1f4 Shader: Fix the default behavior when mat uniforms are null 2025-05-21 13:28:39 +08:00
a0e3ade99f Use a fragment shader copy instead of a blit copy in the final blit to screen in the Compatibility renderer to avoid black screen when "Force MSAA 4x is used" on Android devices 2025-05-20 16:34:43 -07:00
4201db6f01 Metal: Ensure stencil-only rendering is supported
Closes #106652
2025-05-21 08:45:30 +10:00
25a3c27c41 Merge pull request #105628 from rsanchezsaez/apple/ios-visionos-4.5
Native visionOS platform support
2025-05-20 23:09:07 +02:00
19e6bc68aa Explicitly handle Image AlphaMode enum instead of treating as bool
Co-authored-by: K. S. Ernest (iFire) Lee <ernest.lee@chibifire.com>
2025-05-20 05:04:23 -07:00
47971c0a27 Introduce 'visionos' platform derived from 'apple_embedded' 2025-05-19 15:47:01 -07:00
457299449d Introduce 'drivers/apple_embedded' abstract platform for code reuse 2025-05-19 15:37:13 -07:00
2d42b889d1 Merge pull request #104124 from Ivorforce/alloc-static-calloc
Add `Memory::alloc_static_zeroed` to allocate memory that's filled with zeroes.
2025-05-19 08:01:33 -05:00
83ba0687f7 Merge pull request #106407 from DarioSamo/present-validation-error
Rework semaphores for presentation to be created per swap chain image to fix validation error.
2025-05-15 10:22:18 -05:00
902d2b45bb Merge pull request #106400 from RandomShaper/win_compat
Improve platform compatibility of Windows and Direct3D 12
2025-05-15 10:22:16 -05:00
e625565853 Merge pull request #106396 from chocola-mint/canvas-item-add-triangle-array-count
Implement the `count` parameter in `RenderingServer.canvas_item_add_triangle_array`
2025-05-15 10:22:16 -05:00
ad22f65489 Rework semaphores for presentation to be created per swap chain image to fix validation error. 2025-05-14 15:27:51 -03:00
7759296594 Direct3D 12: Let platforms report support for direct composition 2025-05-14 17:48:19 +02:00
3d645bdd13 Merge pull request #106392 from bruvzg/wine_sh_secure
[Wine] Use `_SH_DENY*` flags instead of unsupported `_SH_SECURE`.
2025-05-14 09:44:15 -05:00
43010e8839 Merge pull request #106357 from YYF233333/remove_search_array
Move bisect functionality to `Span` and deduplicate code
2025-05-14 09:44:14 -05:00
fb39aa4fd3 Merge pull request #105833 from marcosc90/perf-web-shader-source
[Web] Optimize `GL.getSource` for known-length shader sources
2025-05-14 09:44:08 -05:00
d0693d6867 Merge pull request #89988 from LunaCapra/specular-occlusion
Add support for bent normal maps for specular occlusion and indirect lighting
2025-05-14 09:44:06 -05:00
101dc9868f Implement the count parameter in RenderingServer.canvas_item_add_triangle_array() 2025-05-14 22:52:30 +09:00
563136f859 [Wine] Use _SH_DENY* flags instead of unsupported _SH_SECURE. 2025-05-14 13:50:28 +03:00
3bf400ffae Move bisect to Span and deduplicate code.
Co-authored-by: Lukas Tenbrink <lukas.tenbrink@gmail.com>
2025-05-14 18:19:09 +08:00
3207066e19 Add Memory::alloc_static_zeroed to allocate memory that's filled with zeroes.
This is generally faster than `malloc` followed by `memset` / loop-set to 0.
2025-05-13 01:57:05 +02:00
9828c365c3 Add support for bent normals for indirect lighting and specular occlusion 2025-05-12 12:52:04 +02:00
f658161619 macOS: Embedded window can be dismissed by clicking close
- Installed a SIGINT handler to terminate the application gracefully.
- Handle varying display scaling
2025-05-12 07:09:42 +10:00
19bb18716e Merge pull request #102399 from clayjohn/cull-mask-overhaul
Overhaul the cull mask internals for Lights, Decals, and Particle Colliders
2025-05-09 11:29:28 -05:00
821170f054 Merge pull request #106145 from lander-vr/ambient-light-specular-occlusion
Add specular occlusion from ambient light
2025-05-09 11:29:14 -05:00
305216f558 Overhaul the cull mask internals for Lights, Decals, and Particle Colliders
Properly pair and unpair instances based on cull mask to avoid any unnecessary processing and to ensure that changing the cull_mask and layer_mask actually updates culling behavior
2025-05-08 21:39:12 -07:00
56730d0cb2 Add specular occlusion from ambient light
Co-authored-by: guerro323 <kaltobattle@gmail.com>
2025-05-08 23:52:01 +02:00
288822e330 Merge pull request #105570 from kroketio/texture-extension-mipmaps
RenderingDevice: Pass mipmap count to `texture_create_from_extension()`
2025-05-08 07:19:16 -05:00
909f9ca9d4 Compatibility: Disable environment ambient light when affected by light probes 2025-05-07 18:08:54 +02:00
6ae50cad17 RenderingDevice: introduce parameter 'mipmaps' for texture_create_from_extension() 2025-05-07 15:15:55 +03:00
a895a8682f Merge pull request #102783 from stuartcarnie/fix_gles3_lightmapper
GLES3: Fix errors baking light map with compatibility renderer
2025-05-06 08:38:09 -05:00