summaryrefslogtreecommitdiffstats
path: root/servers/rendering/renderer_canvas_render.h
Commit message (Collapse)AuthorAgeFilesLines
* Fixed Timestep Interpolation (2D)Ricardo Buring2024-03-231-9/+27
| | | | | | | 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-0/+4
|
* Implement render info counters for the 2D rendererclayjohn2023-12-061-1/+2
| | | | This provides information for the debug monitors
* Debug CanvasItem redrawJuan Linietsky2023-08-281-0/+5
| | | | | | | | | | | | | | | | | | | 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.
* Fixes a canvas item set to clip children being drawn as black if no children ↵SlugFiller2023-03-071-0/+1
| | | | are visible
* 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".
* Add 2D shadows and canvas SDF to OpenGL3 rendererclayjohn2022-10-281-1/+0
| | | | | | This is an initial implementation based on the current RD implementation Performance will improve later
* Add font LCD sub-pixel anti-aliasing support.bruvzg2022-08-231-1/+2
|
* 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.
* Implement Vector4, Vector4i, Projectionreduz2022-07-231-1/+1
| | | | | | | | | | | | | Implement built-in classes Vector4, Vector4i and Projection. * Two versions of Vector4 (float and integer). * A Projection class, which is a 4x4 matrix specialized in projection types. These types have been requested for a long time, but given they were very corner case they were not added before. Because in Godot 4, reimplementing parts of the rendering engine is now possible, access to these types (heavily used by the rendering code) becomes a necessity. **Q**: Why Projection and not Matrix4? **A**: Godot does not use Matrix2, Matrix3, Matrix4x3, etc. naming convention because, within the engine, these types always have a *purpose*. As such, Godot names them: Transform2D, Transform3D or Basis. In this case, this 4x4 matrix is _always_ used as a _Projection_, hence the naming.
* Split dependency logicBastiaan Olij2022-06-281-6/+2
| | | | | | Split FOG Split visibility notifier Final cleanup of storage classes
* Remove mesh and particles RD dependencies from canvas rendering serverclayjohn2022-05-261-2/+0
|
* Implement 2D Meshes and MultiMeshes in GLES3 backendclayjohn2022-05-251-97/+1
|
* Moved particles into ParticlesStorageBastiaan Olij2022-04-171-1/+2
|
* Zero initialize all pointer class and struct membersRémi Verschelde2022-04-041-18/+18
| | | | | This prevents the pitfall of UB when checking if they have been assigned something valid by comparing to nullptr.
* Move storage for Mesh, MeshInstance, MultiMesh and Skeleton into MeshStorageBastiaan Olij2022-04-021-2/+3
|
* Update copyright statements to 2022Rémi Verschelde2022-01-031-2/+2
| | | | Happy new year to the wonderful Godot community!
* Makes FontData importable resource.bruvzg2021-08-271-0/+5
| | | | | | | 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.
* Clean up RenderingServer and its bindingsreduz2021-07-011-2/+0
| | | | | | * Rewrote bindings for RenderingServer. * They are now all up to date. * Several unused methods and deprecated features were cleaned up.
* 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.
* [4] Fix canvas rect bound calculationlawnjelly2021-05-281-1/+0
| | | | | | It turns out the calculation of the bounding rect for canvas items has a nasty bug. When a transform is applied (especially in a custom draw), in the renderer this extra matrix is applied to all later commands in the canvas item. However in the calculation of the bound, the transform is only applied to the first command following the transform. This PR fixes this inconsistency.
* Fixes missng 2D engine bitsreduz2021-05-111-1/+6
| | | | | | | | | | -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.
* 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/+604