a62870956a
Add new Parallax2D node
2024-03-03 15:46:40 -05:00
2c7dd35822
Ensure proper vertex input masks are used in 2D compatibility renderer
2024-02-27 15:39:20 -08:00
294f16c862
Consistently use system_fbo instead of binding 0 as it is needed for iOS devices
2024-02-25 13:52:41 -08:00
4a30fe5e7c
Merge pull request #86564 from Giwayume/feature/canvas-item-shader-custom-data
...
Support CUSTOM shader attributes in 2D
2024-02-08 10:53:24 +01:00
bb83c4adec
Add custom shader attributes to Canvas Item Shaders
2024-01-23 14:36:39 -05:00
062e8802b7
Disable scissor test after rendering batches in compatibility renderer
2024-01-22 14:55:20 -08:00
ac87d5f9a2
Fix issue where the UV's were off in Compatibility
...
Fixes a bug where CanvasTexture's UVs were off when using the Compatibility mode's renderer.
Fixes #86746
2024-01-11 13:26:57 +01:00
342531597b
Merge pull request #85811 from clayjohn/2D-render-info
...
Implement render info counters for the 2D renderer
2023-12-12 10:41:06 +01:00
777d6ae1c6
Ensure that 2D meshes use a proper input mask
...
The input mask was wrongly ignored in earlier versions. Now it is actually used so the input mask variable needs to be a valid number
2023-12-09 12:15:59 -07:00
528b4a3283
Implement render info counters for the 2D renderer
...
This provides information for the debug monitors
2023-12-06 14:39:33 -07:00
51dcb38840
GLES3: Skip batches with zero instance count while rendering
2023-12-05 18:49:59 +09:00
a1d7c62df7
Merge pull request #83003 from AThousandShips/null_check_extra
...
Replace `ERR_FAIL_COND` with `ERR_FAIL_NULL` where applicable
2023-10-09 15:37:14 +02:00
f18aa00e85
Replace ERR_FAIL_COND with ERR_FAIL_NULL where applicable
2023-10-08 17:23:33 +02:00
034c0f1624
Replace sanity with safety for checks
2023-10-08 16:22:24 +02:00
51ed3aef63
Vertex and attribute compression to reduce the size of the vertex format.
...
This allows Godot to automatically compress meshes to save a lot of bandwidth.
In general, this requires no interaction from the user and should result in
no noticable quality loss.
This scheme is not backwards compatible, so we have provided an upgrade
mechanism, and a mesh versioning mechanism.
Existing meshes can still be used as a result, but users can get a
performance boost by reimporting assets.
2023-10-05 12:02:23 -06:00
6f88ed73be
Fix GLES3 instanced rendering color and custom data defaults
2023-09-29 11:44:37 +03:00
1887a9df19
[macOS/Windows] Add optional ANGLE backed OpenGL renderer support. Add EGL_ANDROID_blob_cache caching.
...
Co-authored-by: Riteo <riteo@posteo.net >
2023-09-21 14:21:00 +03:00
3565d1bf7e
[Drivers,Platform] Replace ERR_FAIL_COND with ERR_FAIL_NULL where applicable
2023-09-12 20:13:32 +02:00
e21a485dbc
Fix clear color's alpha value will affects 2D editor in Compatibility mode
...
When the rt's transparency is false, force the alpha of the clear color to one
2023-09-07 12:56:34 +08:00
d48b95a305
fix glMapBufferRange return null when r_index + last_item_index > max_instances
2023-08-27 18:00:35 +08:00
2987dd0c71
fix GLES3 changing 2d shadow atlas size is broken
2023-08-16 15:58:23 +00:00
36a005fafc
Add RENDERING_INFO parameters to GL Compatibility renderer
...
This also fixes RENDERING_INFO_TOTAL_PRIMITIVES_IN_FRAME for the RD renderers as it was incorrectly reporting vertex/index count at times
This also adds memory tracking to textures and buffers to catch memory leaks.
This also cleans up some memory leaks that the new system caught.
2023-06-16 09:10:00 +02:00
a2abea8b98
[OpenGL] Fix LCD blend mode color caching.
2023-06-07 10:55:38 +03:00
43b0702a02
Fix "Light Only" mode of CanvasItemMaterial
2023-05-13 09:06:09 +03:00
579ca03e88
Check for instancing without relying on instance_count when drawing 2D meshes
...
This ensures that Particles and MultiMeshes still draw when instance_count is 1
2023-04-11 16:58:42 -07:00
f25508befb
Fixes a canvas item set to clip children being drawn as black if no children are visible
2023-03-07 09:53:26 +02:00
5e57205365
Merge pull request #73478 from NewDefectus/master
...
Use the original canvas to calculate light positioning
2023-02-21 21:14:51 +01:00
2d7db30f0d
Use the original canvas to calculate light positioning
2023-02-21 11:57:16 +02:00
aeab31b13a
Fix bufSize parameter for glGetSynciv
...
According to the docs:
https://registry.khronos.org/OpenGL-Refpages/es3.0/html/glGetSynciv.xhtml
Bufsize is in integers, not bytes.
The current code overflows data unto other stack variables.
2023-02-20 11:35:28 +02:00
5bbf5b8e72
Avoid unecessary binding of occlusion polygon vertex array
...
By binding this and unbinding it, the state was getting modified in other parts of the pipeline
2023-02-17 13:11:25 -08:00
ab4e79cd03
Store blend mode between CanvasItems to preserve batching
2023-02-13 14:46:26 -08:00
f6d22df072
Properly reset blend mode when resetting canvas in compatibility renderer
2023-02-09 15:50:17 -08:00
76caf3fbae
Set instancing flags when using GPUParticles in OpenGL renderer
2023-02-07 10:45:34 -08:00
2bd5302704
Merge pull request #72695 from clayjohn/CanvasGroup-shading
...
Avoid shading CanvasGroup nodes twice
2023-02-04 21:38:25 +03:00
dfbf439081
Avoid shading CanvasGroup nodes twice
2023-02-03 15:40:42 -08:00
bf0cc8f52a
Ignore instance color and instance custom_data when not used in the OpenGL renderer
2023-02-03 10:34:30 -08:00
e241f871a4
Fix texture rect transpose for OpenGL
2023-02-02 13:20:29 +01:00
cfd5fe0f29
Avoid crash when CanvasTexture used with light decal atlas
...
The decal atlas is used for Light2Ds, decals, and Light3Ds
2023-01-30 20:59:53 -08:00
fca400450c
Merge pull request #72291 from clayjohn/GL-item-cap
...
Remove cap on number of items drawn in frame in 2D gl_compatibility renderer
2023-01-29 14:12:38 +01:00
0b28c1f8ed
Remove cap on number of items drawn in frame in 2D gl_compatibility render
...
Also clean up some names to make the overall organization more clear
Also remove cap on items per batch
2023-01-28 20:36:17 -08:00
eb9c2b878a
Automatically transform Skeleton2D calculations so pivots are not needed
2023-01-27 14:55:22 -08:00
653799bb38
Fix LCD font AA on OpenGL renderer.
2023-01-26 18:45:18 +02:00
d3c3fa32af
Stop incrementing light_count once max number of lights are reached in 2D canvas renderer
2023-01-20 17:04:00 -08:00
faea9f5c10
Remove SCREEN_TEXTURE, DEPTH_TEXTURE, and NORMAL_ROUGHNESS_TEXTURE
...
in favour of texture hints
2023-01-18 19:52:47 -08:00
390f83bf5a
fix normal map not flipping in sprite2D
2023-01-14 11:51:56 +05:30
d95794ec8a
One Copyright Update to rule them all
...
As many open source projects have started doing it, we're removing the
current year from the copyright notice, so that we don't need to bump
it every year.
It seems like only the first year of publication is technically
relevant for copyright notices, and even that seems to be something
that many companies stopped listing altogether (in a version controlled
codebase, the commits are a much better source of date of publication
than a hardcoded copyright statement).
We also now list Godot Engine contributors first as we're collectively
the current maintainers of the project, and we clarify that the
"exclusive" copyright of the co-founders covers the timespan before
opensourcing (their further contributions are included as part of Godot
Engine contributors).
Also fixed "cf." Frenchism - it's meant as "refer to / see".
2023-01-05 13:25:55 +01:00
676f60b0cc
Merge pull request #70132 from clayjohn/RT-update
...
Implement render_target_was_used API so that Viewports can properly check if they have been used.
2022-12-17 12:26:51 +01:00
99a159cd9b
Transform sdf xfrom by particle emission transform when particles are in global space
2022-12-16 11:55:11 -08:00
1b330820bf
Implement render_target_was_used API so that Viewports can properly check if they have been used.
...
For the RD renderer, this does not work for Viewports used in scene shaders yet
2022-12-16 09:50:45 -08:00
b6a1aa15b1
Use instanced array buffer instead of UBO for canvas item batching
...
This simplifies the generated shader code which increases both performance and compile time on low end devices
2022-12-15 08:25:44 -08:00