summaryrefslogtreecommitdiffstats
path: root/servers/rendering/renderer_canvas_cull.h
Commit message (Collapse)AuthorAgeFilesLines
* Add antialias support for CanvasItem draw primitivesYaohua Xiong2024-05-131-3/+3
| | | | | | including - rect, circle; both filled and unfilled. - polyline, multiline
* Fixed Timestep Interpolation (2D)Ricardo Buring2024-03-231-0/+38
| | | | | | | Adds fixed timestep interpolation to the rendering server (2D only). Switchable on and off with a project setting (default is off). Co-authored-by: lawnjelly <lawnjelly@gmail.com>
* Enforce template syntax `typename` over `class`Thaddeus Crews2024-03-071-1/+1
|
* Add new Parallax2D nodemarkdibarry2024-03-031-2/+3
|
* Stabilize snapping 2D transforms to pixelAdam Scott2024-02-121-1/+1
| | | | Co-authored-by: Danni <34800072+KeyboardDanni@users.noreply.github.com>
* Merge pull request #85520 from YuriSizov/rendering-gracefully-leak-canvas-itemsRémi Verschelde2024-01-091-0/+6
|\ | | | | | | Avoid crashes when engine leaks canvas items and friends
| * Avoid crashes when engine leaks canvas items and friendsYuri Sizov2023-12-201-0/+6
| |
* | unify parameter names for 'RendererCanvasCull'Yaohua Xiong2023-12-241-4/+4
|/
* Merge pull request #85811 from clayjohn/2D-render-infoRémi Verschelde2023-12-121-2/+2
|\ | | | | | | Implement render info counters for the 2D renderer
| * Implement render info counters for the 2D rendererclayjohn2023-12-061-2/+2
| | | | | | | | This provides information for the debug monitors
* | Transform mesh's AABB to skeleton's space when calculate mesh's bounds.ShirenY2023-12-091-0/+2
|/
* Disable update spinner when debug redraw is activekobewi2023-10-111-0/+1
|
* Debug CanvasItem redrawJuan Linietsky2023-08-281-0/+6
| | | | | | | | | | | | | | | | | | | I wanted to add this tool for years and always forget. This command line option: ``` $ godot.exe -e --debug-canvas-item-redraw ``` Allows to see when a canvas item is redrawn. This helps find out if something in the UI is refreshing in a way it should not. Examples as such: * Signals causing more of the UI to redraw. * Container resizing causes more UI elements to redraw. * Something using a timer is redrawing all time time, which can go unnoticed. To my surprise, the editor UI is redrawing very efficiently. There is some weird stuff with the scene tabs, redrawing when the inspector changes but most things for the most part are fine.
* Single Compilation Unit build.lawnjelly2023-06-061-0/+2
| | | | | Adds support for simple SCU build (DEV_ENABLED only). This speeds up compilation by compiling multiple cpp files within a single translation unit.
* CanvasItem::draw_polyline Support thin polylines drawn using line stripkleonc2023-01-191-1/+1
|
* Fix scaling issue in `draw_line` and similar methodsDanil Alexeev2023-01-161-3/+3
|
* 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".
* Scale MSDF font outline with the font size and MSDF source size to match ↵bruvzg2022-12-171-1/+1
| | | | dynamic font behavior.
* Viewport canvas cull mask featureBimDav2022-10-311-3/+7
| | | | Co-authored-by: Valentin Zagura <puthre@gmail.com>
* Fix MSVC warnings, rename shadowed variables, fix uninitialized values, ↵bruvzg2022-10-071-2/+2
| | | | change warnings=all to use /W4.
* Add font LCD sub-pixel anti-aliasing support.bruvzg2022-08-231-0/+1
|
* Code quality: Fix header guards consistencyRémi Verschelde2022-07-251-3/+3
| | | | | Adds `header_guards.sh` bash script, used in CI to validate future changes. Can be run locally to fix invalid header guards.
* Account for relative z-indexes when y-sortingXentripetal2022-07-081-0/+2
|
* Add a new HashSet templatereduz2022-05-201-5/+5
| | | | | * Intended to replace RBSet in most cases. * Optimized for iteration speed
* Replace most uses of Map by HashMapreduz2022-05-161-5/+5
| | | | | | | | | | | | * 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!
* Restore antialiasing for `draw_line`Yuri Roubinsky2022-04-121-1/+1
|
* Zero initialize all pointer class and struct membersRémi Verschelde2022-04-041-1/+1
| | | | | This prevents the pitfall of UB when checking if they have been assigned something valid by comparing to nullptr.
* Update copyright statements to 2022Rémi Verschelde2022-01-031-2/+2
| | | | Happy new year to the wonderful Godot community!
* Rename `remove()` to `remove_at()` when removing by indexLightning_A2021-11-231-1/+1
|
* Replace references to VisualServer in code comments with RenderingServerHugo Locurcio2021-10-071-1/+1
| | | | VisualServer no longer exists in the `master` branch.
* Makes FontData importable resource.bruvzg2021-08-271-0/+1
| | | | | | | 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.
* Improve RID_Owner memory usagereduz2021-06-291-5/+5
| | | | | | * 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
* Implement animation slice drawing in CanvasItemreduz2021-06-171-0/+2
| | | | | * 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.
* Refactor VisibilityNotifierreduz2021-06-161-0/+24
| | | | | | * Works from RenderinServer * Accurately tells when on or off-scren, its no longer approximate. * VisibilityEnabler also simplified to use the process mode instead.
* Deleted YSort, moved its functionality directly into Node2D.andriyDev2021-06-051-1/+1
| | | | | | | | | 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.
* Make Servers truly Thread Safereduz2021-02-101-11/+23
| | | | | | | | | -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).
* Update copyright statements to 2021Rémi Verschelde2021-01-011-2/+2
| | | | | | | | | | | | | | 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 🎆
* RenderingServer reorganizationreduz2020-12-041-0/+279