summaryrefslogtreecommitdiff
path: root/servers/rendering/renderer_canvas_cull.cpp
AgeCommit message (Collapse)Author
2023-01-05One Copyright Update to rule them allRémi Verschelde
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".
2022-12-17Scale MSDF font outline with the font size and MSDF source size to match ↵bruvzg
dynamic font behavior.
2022-12-05draw fish bones for Path2D and Path3DYaohua Xiong
These fish bones are add to indicate the direction and local transforms alone the path.
2022-12-01Fix child nodes still being drawn when the visible area of a control with ↵Rindbee
`clip_contents` enabled is `0`
2022-11-04Add call_deferred() method to Callablekobewi
2022-10-31Viewport canvas cull mask featureBimDav
Co-authored-by: Valentin Zagura <puthre@gmail.com>
2022-10-07Fix MSVC warnings, rename shadowed variables, fix uninitialized values, ↵bruvzg
change warnings=all to use /W4.
2022-09-15Fix/restore BackBufferCopyHendrik Brucker
2022-08-23Add font LCD sub-pixel anti-aliasing support.bruvzg
2022-08-02Merge pull request #62639 from Calinou/line-antialiasing-decrease-feather-widthRémi Verschelde
2022-07-29Remove Signal connect bindsJuan Linietsky
Remove the optional argument p_binds from `Object::connect` since it was deprecated by Callable.bind(). Changed all uses of it to Callable.bind()
2022-07-08Account for relative z-indexes when y-sortingXentripetal
2022-07-02Improve antialiased line drawing sharpness and respect of original widthHugo Locurcio
Antialiased lines with a width of 2 pixels or more now use a smaller feather width of 1.25 instead of 2.0. This makes them look sharper and better preserves their original shape while still having good antialiasing quality. This also improves the appearance of thin antialiased lines by slightly increasing their feather size (from 1.0 to 1.25). It makes them appear a tad thicker, but the antialiasing quality is much improved by doing this.
2022-05-20Add a new HashSet templatereduz
* Intended to replace RBSet in most cases. * Optimized for iteration speed
2022-05-19Use range iterators for RBSet in most casesAaron Record
2022-05-16Replace most uses of Map by HashMapreduz
* Map is unnecessary and inefficient in almost every case. * Replaced by the new HashMap. * Renamed Map to RBMap and Set to RBSet for cases that still make sense (order matters) but use is discouraged. There were very few cases where replacing by HashMap was undesired because keeping the key order was intended. I tried to keep those (as RBMap) as much as possible, but might have missed some. Review appreciated!
2022-04-29Rename Transform2D "elements" to "columns"Aaron Franke
2022-04-17Moved particles into ParticlesStorageBastiaan Olij
2022-04-17Merge canvas and decal into TextureStorage and add render targetBastiaan Olij
2022-04-12Restore antialiasing for `draw_line`Yuri Roubinsky
2022-04-11Merge pull request #57899 from Chaosus/fix_aaYuri Rubinsky
2022-04-02Move storage for Mesh, MeshInstance, MultiMesh and Skeleton into MeshStorageBastiaan Olij
2022-03-29Fix canvas_group not being freed in RendererCanvasCull::freeDimitris Nikolaidis
2022-03-16Split dummy renderer classes into separate filesBastiaan Olij
Split canvas_texture_storage and texture_storage from render_storage class
2022-03-04Tweak render timestamp names for explicitness and consistencyHugo Locurcio
- Add 2D and 3D in timestamp names when needed to avoid ambiguity. - Use present tense in all render timestamp names. - Add a space after ">" (begin) and "<" (end) symbols. - Remove redundant "End" in render timestamp names (indicated by "<").
2022-02-16Fix antialiasing for beginning/end of line in `canvas_item_add_polyline`Yuri Roubinsky
2022-01-17Fix invalid read when using LightOccluder2DHaoyu Qiu
2022-01-09Fix canvas items being drawn outside clip rectsDarren Kaste
2022-01-03Update copyright statements to 2022Rémi Verschelde
Happy new year to the wonderful Godot community!
2021-12-09Add a double-precision editor build to CIAaron Franke
2021-10-28clang-format: Disable alignment of operands, too unreliableRémi Verschelde
Sets `AlignOperands` to `DontAlign`. `clang-format` developers seem to mostly care about space-based indentation and every other version of clang-format breaks the bad mismatch of tabs and spaces that it seems to use for operand alignment. So it's better without, so that it respects our two-tabs `ContinuationIndentWidth`.
2021-09-29Rename RID's `getornull()` to `get_or_null()`Hugo Locurcio
2021-09-23Construct values only when necessary.Anilforextra
2021-08-27Makes FontData importable resource.bruvzg
Adds multi-channel SDF font texture generation and rendering support. Adds per-font oversampling support. Adds FontData import plugins (for dynamic fonts, BMFonts and monospaced image fonts), font texture cache pre-generation and loading. Adds BMFont binary format and outline support.
2021-08-10Fix incorrect border width of antialiased linesYuri Roubinsky
2021-06-29Improve RID_Owner memory usagereduz
* Ability to allocate empty objects in RID_Owner, so RID_PtrOwner is not needed in most cases. * Improves cache usage, as objects are now allocated together * Should improve performance in 2D rendering
2021-06-17Implement animation slice drawing in CanvasItemreduz
* Added a function to ignore subsequent commands if they don't fall within the slice. * This will be used by the new TileMap to properly provide animated tiles.
2021-06-16Refactor VisibilityNotifierreduz
* Works from RenderinServer * Accurately tells when on or off-scren, its no longer approximate. * VisibilityEnabler also simplified to use the process mode instead.
2021-06-05Deleted YSort, moved its functionality directly into Node2D.andriyDev
YSort now has a compatibility alias to Node2D. Updated TileMap to use the existing Node2D y_sort_enabled property instead of its own property. Updated Node2D doc to include the new y_sort_enabled member. Updated TileMap doc to remove its mention of cell_y_sort. Deleted YSort doc.
2021-05-11Fixes missng 2D engine bitsreduz
-Mesh2D now works -MultiMesh2D now works -Polygon2D now works -Added hooks for processing 2D particles -Skeleton2D now works 2D particles still not working, but stuff needed for it is now implemented.
2021-03-04Fix canvas renderer line widthAlex Hirsch
fix #46644
2021-03-02Fix rounding error in Clip Contentasheraryam
Rounds the position and size of the final clip rect to avoid flickering issues. Fixes https://github.com/godotengine/godot/issues/46493
2021-02-10Make Servers truly Thread Safereduz
-Rendering server now uses a split RID allocate/initialize internally, this allows generating RIDs immediately but initialization to happen later on the proper thread (as rendering APIs generally requiere to call on the right thread). -RenderingServerWrapMT is no more, multithreading is done in RenderingServerDefault. -Some functions like texture or mesh creation, when renderer supports it, can register and return immediately (so no waiting for server API to flush, and saving staging and command buffer memory). -3D physics server changed to be made multithread friendly. -Added PhysicsServer3DWrapMT to use 3D physics server from multiple threads. -Disablet Bullet (too much effort to make multithread friendly, this needs to be fixed eventually).
2021-01-09Use Math_TAU and deg2rad/rad2deg in more places and optimize codeAaron Franke
2021-01-01Update copyright statements to 2021Rémi Verschelde
Happy new year to the wonderful Godot community! 2020 has been a tough year for most of us personally, but a good year for Godot development nonetheless with a huge amount of work done towards Godot 4.0 and great improvements backported to the long-lived 3.2 branch. We've had close to 400 contributors to engine code this year, authoring near 7,000 commit! (And that's only for the `master` branch and for the engine code, there's a lot more when counting docs, demos and other first-party repos.) Here's to a great year 2021 for all Godot users 🎆
2020-12-28Merge pull request #44149 from madmiraal/rename-tangent-orthogonalRémi Verschelde
Rename Vector2.tangent() to Vector2.orthogonal()
2020-12-28Rename empty() to is_empty()Marcel Admiraal
2020-12-23Rename Control margin to offsetMarcel Admiraal
2020-12-19Rename Rect2 and Rect2i clip() to intersection()Marcel Admiraal
2020-12-06Rename Vector2.tangent() to Vector2.orthogonal()Marcel Admiraal