Age | Commit message (Collapse) | Author |
|
This ensures that Particles and MultiMeshes still draw when instance_count is 1
(cherry picked from commit 579ca03e885f294b2d430a3550693b43d58d4f64)
|
|
are visible
(cherry picked from commit f25508befb4f0358ba8a8aaa35cdee4d9c20637c)
|
|
Use the original canvas to calculate light positioning
|
|
|
|
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.
|
|
By binding this and unbinding it, the state was getting modified in other parts of the pipeline
|
|
|
|
|
|
|
|
Avoid shading CanvasGroup nodes twice
|
|
|
|
renderer
|
|
|
|
The decal atlas is used for Light2Ds, decals, and Light3Ds
|
|
Remove cap on number of items drawn in frame in 2D gl_compatibility renderer
|
|
Also clean up some names to make the overall organization more clear
Also remove cap on items per batch
|
|
|
|
|
|
canvas renderer
|
|
in favour of texture hints
|
|
|
|
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".
|
|
Implement render_target_was_used API so that Viewports can properly check if they have been used.
|
|
global space
|
|
they have been used.
For the RD renderer, this does not work for Viewports used in scene shaders yet
|
|
This simplifies the generated shader code which increases both performance and compile time on low end devices
|
|
Properly apply custom materials with CanvasGroups in the GLES3 backend
Properly blur backbuffer when using a partial rect in forward_plus and
gl_compatibility renderers
Properly set fit_margin when clear_margin is set
Fix shader error during backbuffer clear in mobile renderer
|
|
This ensures that the SDF is updated even if not used in a canvas_item shader
|
|
Get WebXR fully working in Godot 4!
|
|
|
|
This uses a similar multipass approach to blend shapes
as Godot 3.x, the major difference here is that we
need to convert the normals and tangents to octahedral
for rendering.
Skeletons work the same as the Vulkan renderer except the bones
are stored in a texture as they were in 3.x.
|
|
The batch was being discarded if no instance buffer was present, but an instance buffer is only needed for MultiMesh and particles.
|
|
This includes collision (2D SDF, Box, Sphere, Heightmap),
attraction (Box, Sphere), and all sorting modes.
This does not include 3D SDF collisions, trails, or
manual emission.
|
|
Fix draw_primitive ignoring texture argument
|
|
Interleaving draw_rect calls with and without a texture forces every rect to
have its own draw call. In this case it meant that there is a draw call for every single
tile in the atlas. This change makes it so the renderer can batch draw calls
which reduced the draw call count by a factor of 512
|
|
Add 2D shadows and canvas SDF to OpenGL3 renderer
|
|
This allows using texture_2d_get on all platforms which is needed for the get_image function
This commit also fixes some OpenGL warnings on the Web platform that came from attempting to map a buffer with zero length
|
|
This is an initial implementation based on the current RD implementation
Performance will improve later
|
|
Improve behaviour of clip_children by clipping to parent alpha value but still retaining parent color
|
|
|
|
Fix drawing of 2D primitives in OpenGL3 renderer
|
|
Previously the wrong vertices were used when assembling the second triangle
of a quad
|
|
objects not drawing in the GLES3 backend.
Issue came from not binding a light UBO when using the DISABLE_LIGHTING
code path
|
|
|
|
to parent alpha value, but still retaining
parent color
|
|
Add 2D lights to OpenGL3 canvas renderer
|
|
This is an initial implementation using the same single-pass approach as the RenderingDevice.
|
|
This avoids an issue where having multiple CanvasGroups overlap
would create a weird artifact
|
|
This removes the countless small UBO writes we had before
and replaces them with a single large write per render pass.
This results in much faster rendering on low-end devices
but improves speed on all devices.
|
|
|