summaryrefslogtreecommitdiffstats
path: root/servers/rendering/renderer_canvas_cull.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Fix Y-sort modulate for top-most Y-sorted CanvasItemkleonc2023-06-121-0/+1
|
* Single Compilation Unit build.lawnjelly2023-06-061-2/+0
| | | | | Adds support for simple SCU build (DEV_ENABLED only). This speeds up compilation by compiling multiple cpp files within a single translation unit.
* Merge pull request #77079 from kleonc/y_sort_fix_modulation_propagationRémi Verschelde2023-05-241-5/+6
|\ | | | | | | Fix modulation propagation for Y-sorted CanvasItems
| * Fix modulation propagation for Y-sorted CanvasItemskleonc2023-05-151-5/+6
| |
* | Merge pull request #71684 from kleonc/draw_polyline_simplify_antialiasedRémi Verschelde2023-05-241-165/+68
|\ \ | |/ |/| | | `RendererCanvasCull` Simplify drawing antialiased polyline
| * RendererCanvasCull Simplify drawing antialiased polylinekleonc2023-01-191-165/+68
| |
* | Fix `draw_multiline_colors()` for `width < 0`Danil Alexeev2023-03-141-6/+18
| |
* | CanvasItem::draw_polyline Support thin polylines drawn using line stripkleonc2023-01-191-3/+32
|/
* CanvasItem::draw_arc Clamp angle difference so arc won't overlap itselfkleonc2023-01-181-6/+9
|
* Merge pull request #62236 from MinusKube/masterRémi Verschelde2023-01-161-84/+158
|\ | | | | Fix polyline not supporting closed polygons and not having a uniform width
| * Fix draw_polyline not supporting closed polygons and not having a uniform offsetMinusKube2023-01-161-84/+158
| |
* | Fix scaling issue in `draw_line` and similar methodsDanil Alexeev2023-01-161-4/+4
|/
* 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-2/+2
| | | | dynamic font behavior.
* draw fish bones for Path2D and Path3DYaohua Xiong2022-12-051-7/+25
| | | | These fish bones are add to indicate the direction and local transforms alone the path.
* Fix child nodes still being drawn when the visible area of a control with ↵Rindbee2022-12-011-5/+5
| | | | `clip_contents` enabled is `0`
* Add call_deferred() method to Callablekobewi2022-11-041-2/+2
|
* Viewport canvas cull mask featureBimDav2022-10-311-13/+31
| | | | Co-authored-by: Valentin Zagura <puthre@gmail.com>
* Fix MSVC warnings, rename shadowed variables, fix uninitialized values, ↵bruvzg2022-10-071-16/+16
| | | | change warnings=all to use /W4.
* Fix/restore BackBufferCopyHendrik Brucker2022-09-151-1/+1
|
* Add font LCD sub-pixel anti-aliasing support.bruvzg2022-08-231-0/+32
|
* Merge pull request #62639 from Calinou/line-antialiasing-decrease-feather-widthRémi Verschelde2022-08-021-6/+14
|\
| * Improve antialiased line drawing sharpness and respect of original widthHugo Locurcio2022-07-021-6/+14
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Remove Signal connect bindsJuan Linietsky2022-07-291-4/+4
| | | | | | | | | | Remove the optional argument p_binds from `Object::connect` since it was deprecated by Callable.bind(). Changed all uses of it to Callable.bind()
* | Account for relative z-indexes when y-sortingXentripetal2022-07-081-5/+16
|/
* 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.