summaryrefslogtreecommitdiffstats
path: root/drivers/gles3/rasterizer_canvas_gles3.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Set instancing flags when using GPUParticles in OpenGL rendererclayjohn2023-02-071-0/+2
|
* Merge pull request #72695 from clayjohn/CanvasGroup-shadingYuri Sizov2023-02-041-0/+2
|\ | | | | Avoid shading CanvasGroup nodes twice
| * Avoid shading CanvasGroup nodes twiceclayjohn2023-02-031-0/+2
| |
* | Ignore instance color and instance custom_data when not used in the OpenGL ↵clayjohn2023-02-031-0/+6
|/ | | | renderer
* Fix texture rect transpose for OpenGLNinni Pipping2023-02-021-1/+1
|
* Avoid crash when CanvasTexture used with light decal atlasclayjohn2023-01-301-0/+3
| | | | The decal atlas is used for Light2Ds, decals, and Light3Ds
* Merge pull request #72291 from clayjohn/GL-item-capRémi Verschelde2023-01-291-64/+90
|\ | | | | | | Remove cap on number of items drawn in frame in 2D gl_compatibility renderer
| * Remove cap on number of items drawn in frame in 2D gl_compatibility renderclayjohn2023-01-281-64/+90
| | | | | | | | | | | | Also clean up some names to make the overall organization more clear Also remove cap on items per batch
* | Automatically transform Skeleton2D calculations so pivots are not neededclayjohn2023-01-271-0/+1
|/
* Fix LCD font AA on OpenGL renderer.bruvzg2023-01-261-4/+5
|
* Stop incrementing light_count once max number of lights are reached in 2D ↵clayjohn2023-01-201-1/+1
| | | | canvas renderer
* Remove SCREEN_TEXTURE, DEPTH_TEXTURE, and NORMAL_ROUGHNESS_TEXTUREclayjohn2023-01-181-2/+6
| | | | in favour of texture hints
* fix normal map not flipping in sprite2Djainl28patel2023-01-141-0/+2
|
* One Copyright Update to rule them allRémi Verschelde2023-01-051-29/+29
| | | | | | | | | | | | | | | | | | | | 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".
* Merge pull request #70132 from clayjohn/RT-updateRémi Verschelde2022-12-171-1/+13
|\ | | | | | | Implement render_target_was_used API so that Viewports can properly check if they have been used.
| * Implement render_target_was_used API so that Viewports can properly check if ↵clayjohn2022-12-161-1/+13
| | | | | | | | | | | | they have been used. For the RD renderer, this does not work for Viewports used in scene shaders yet
* | Transform sdf xfrom by particle emission transform when particles are in ↵clayjohn2022-12-161-7/+1
|/ | | | global space
* Use instanced array buffer instead of UBO for canvas item batchingclayjohn2022-12-151-106/+72
| | | | This simplifies the generated shader code which increases both performance and compile time on low end devices
* Various fixes and documentation for CanvasGroupclayjohn2022-12-131-4/+6
| | | | | | | | | | | 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
* Detect and report if 2D particles use the screen SDFclayjohn2022-12-071-7/+8
| | | | This ensures that the SDF is updated even if not used in a canvas_item shader
* Merge pull request #68870 from dsnopek/master-webxr-inputRémi Verschelde2022-12-021-1/+6
|\ | | | | | | Get WebXR fully working in Godot 4!
| * Get WebXR fully working in Godot 4!David Snopek2022-12-011-1/+6
| |
* | Add Skeletons and Blend Shapes to the OpenGL rendererclayjohn2022-11-291-0/+33
| | | | | | | | | | | | | | | | | | | | 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.
* | Fix drawing of Mesh2Dclayjohn2022-11-241-4/+3
|/ | | | The batch was being discarded if no instance buffer was present, but an instance buffer is only needed for MultiMesh and particles.
* Add GPUParticles to the OpenGL3 renderer.clayjohn2022-11-141-33/+104
| | | | | | | | 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.
* Merge pull request #67374 from MrBlockers/fix-draw-primitiveRémi Verschelde2022-11-111-1/+3
|\ | | | | | | Fix draw_primitive ignoring texture argument
| * Fix draw_primitive ignoring texture argumentMrBlockers2022-10-211-1/+3
| |
* | Fix pathological corner case in drawing tileset editorclayjohn2022-11-041-2/+2
| | | | | | | | | | | | | | 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
* | Merge pull request #67639 from clayjohn/GLES3-2d-shadowsRémi Verschelde2022-11-021-45/+543
|\ \ | | | | | | | | | Add 2D shadows and canvas SDF to OpenGL3 renderer
| * | Add 2D shadows and canvas SDF to OpenGL3 rendererclayjohn2022-10-281-45/+543
| | | | | | | | | | | | | | | | | | This is an initial implementation based on the current RD implementation Performance will improve later
* | | Add texture reading code to OpenGL3 renderer for web and mobileclayjohn2022-11-011-0/+7
|/ / | | | | | | | | | | 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
* | Merge pull request #67043 from clayjohn/clip_childrenClay John2022-10-271-6/+39
|\ \ | |/ |/| Improve behaviour of clip_children by clipping to parent alpha value but still retaining parent color
| * Implement multiple clip_children modes for CanvasItemsclayjohn2022-10-141-4/+8
| |
| * Improve behaviour of clip_children by clippingclayjohn2022-10-131-5/+34
| | | | | | | | | | to parent alpha value, but still retaining parent color
* | Merge pull request #67416 from clayjohn/GLES3-primitiveRémi Verschelde2022-10-151-7/+8
|\ \ | | | | | | | | | Fix drawing of 2D primitives in OpenGL3 renderer
| * | Fix drawing of 2D primitives in OpenGL3 rendererclayjohn2022-10-141-7/+8
| |/ | | | | | | | | Previously the wrong vertices were used when assembling the second triangle of a quad
* / Fix error in Web builds that resulting in 2Dclayjohn2022-10-141-0/+3
|/ | | | | | | objects not drawing in the GLES3 backend. Issue came from not binding a light UBO when using the DISABLE_LIGHTING code path
* Merge pull request #67335 from clayjohn/GLES3-2d-lightsRémi Verschelde2022-10-131-30/+272
|\ | | | | | | Add 2D lights to OpenGL3 canvas renderer
| * Add 2D lights to OpenGL3 canvas rendererclayjohn2022-10-121-30/+272
| | | | | | | | This is an initial implementation using the same single-pass approach as the RenderingDevice.
* | Allow clearing backbuffer after finishing CanvasGroupclayjohn2022-10-071-0/+2
|/ | | | | This avoids an issue where having multiple CanvasGroups overlap would create a weird artifact
* Use a giant UBO to optimize performance in 2Dclayjohn2022-10-061-425/+617
| | | | | | | | 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.
* Fix/restore BackBufferCopyHendrik Brucker2022-09-151-3/+15
|
* Fix rendering when using WebGL2.clayjohn2022-09-061-2/+2
| | | | Fixes include using proper depth buffer format in 3D (this had previously been fixed already but the changes were lost in a rebase), Remove unused lighting and shadowing code in 2D, and update 2D UBOs using glBufferSubData so that they remain the appropriate size.
* Rename `uniform` to `parameter` across the engineYuri Rubinsky2022-09-011-1/+1
|
* [Web] Rename JavaScript platform to Web.Fabio Alessandrelli2022-08-291-1/+1
| | | | Also rename export name from "HTML5" to "Web".
* Add font LCD sub-pixel anti-aliasing support.bruvzg2022-08-231-62/+89
|
* Merge pull request #64167 from clayjohn/screen-texture-hintMax Hilbrunner2022-08-191-1/+3
|\ | | | | Add shader uniform hints for screen textures
| * Add shader uniform hints for screen textures so users can specify custom ↵clayjohn2022-08-091-1/+3
| | | | | | | | | | | | | | | | filter and repeat modes. At this time, it works best in the Vulkan Renderers as they support using multiple samplers with the same texture. In GLES3 this feature really only allows you to use the screen texture without mipmaps if you want to save the cost of generating them.
* | Check also GLES3 in CIRafał Mikrut2022-08-061-0/+2
|/
* fix 'Comparison result is always the same' warningsLinuxUserGD2022-07-291-4/+2
|