summaryrefslogtreecommitdiffstats
path: root/servers/rendering/renderer_canvas_cull.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Add a new HashSet templatereduz2022-05-201-4/+4
| | | | | * Intended to replace RBSet in most cases. * Optimized for iteration speed
* Use range iterators for RBSet in most casesAaron Record2022-05-191-8/+8
|
* 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!
* Rename Transform2D "elements" to "columns"Aaron Franke2022-04-291-2/+2
|
* Moved particles into ParticlesStorageBastiaan Olij2022-04-171-1/+1
|
* Merge canvas and decal into TextureStorage and add render targetBastiaan Olij2022-04-171-7/+7
|
* Restore antialiasing for `draw_line`Yuri Roubinsky2022-04-121-7/+168
|
* Merge pull request #57899 from Chaosus/fix_aaYuri Rubinsky2022-04-111-33/+192
|\
| * Fix antialiasing for beginning/end of line in `canvas_item_add_polyline`Yuri Roubinsky2022-02-161-33/+192
| |
* | Move storage for Mesh, MeshInstance, MultiMesh and Skeleton into MeshStorageBastiaan Olij2022-04-021-5/+5
| |
* | Fix canvas_group not being freed in RendererCanvasCull::freeDimitris Nikolaidis2022-03-291-0/+5
| |
* | Split dummy renderer classes into separate filesBastiaan Olij2022-03-161-6/+7
| | | | | | | | Split canvas_texture_storage and texture_storage from render_storage class
* | Tweak render timestamp names for explicitness and consistencyHugo Locurcio2022-03-041-3/+3
|/ | | | | | | - 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 "<").
* Fix invalid read when using LightOccluder2DHaoyu Qiu2022-01-171-1/+1
|
* Fix canvas items being drawn outside clip rectsDarren Kaste2022-01-091-0/+4
|
* Update copyright statements to 2022Rémi Verschelde2022-01-031-2/+2
| | | | Happy new year to the wonderful Godot community!
* Add a double-precision editor build to CIAaron Franke2021-12-091-1/+1
|
* clang-format: Disable alignment of operands, too unreliableRémi Verschelde2021-10-281-2/+1
| | | | | | | | | 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`.
* Rename RID's `getornull()` to `get_or_null()`Hugo Locurcio2021-09-291-100/+100
|
* Construct values only when necessary.Anilforextra2021-09-231-1/+1
|
* Makes FontData importable resource.bruvzg2021-08-271-0/+34
| | | | | | | 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.
* Fix incorrect border width of antialiased linesYuri Roubinsky2021-08-101-3/+5
|
* Improve RID_Owner memory usagereduz2021-06-291-19/+8
| | | | | | * 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/+12
| | | | | * 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-22/+103
| | | | | | * 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-101/+112
| | | | | | | | | 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.
* Fixes missng 2D engine bitsreduz2021-05-111-1/+28
| | | | | | | | | | -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.
* Fix canvas renderer line widthAlex Hirsch2021-03-041-5/+5
| | | | fix #46644
* Fix rounding error in Clip Contentasheraryam2021-03-021-0/+2
| | | | | | Rounds the position and size of the final clip rect to avoid flickering issues. Fixes https://github.com/godotengine/godot/issues/46493
* Make Servers truly Thread Safereduz2021-02-101-18/+31
| | | | | | | | | -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).
* Use Math_TAU and deg2rad/rad2deg in more places and optimize codeAaron Franke2021-01-091-1/+3
|
* 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 🎆
* Merge pull request #44149 from madmiraal/rename-tangent-orthogonalRémi Verschelde2020-12-281-3/+3
|\ | | | | Rename Vector2.tangent() to Vector2.orthogonal()
| * Rename Vector2.tangent() to Vector2.orthogonal()Marcel Admiraal2020-12-061-3/+3
| |
* | Rename empty() to is_empty()Marcel Admiraal2020-12-281-5/+5
| |
* | Rename Control margin to offsetMarcel Admiraal2020-12-231-4/+4
| |
* | Rename Rect2 and Rect2i clip() to intersection()Marcel Admiraal2020-12-191-2/+2
|/
* RenderingServer reorganizationreduz2020-12-041-0/+1553