summaryrefslogtreecommitdiff
path: root/scene/main/viewport.h
AgeCommit message (Collapse)Author
2023-01-09Calculate the mouse focus inverse transform only when neededMarkus Sauermann
Revival of #49158 Co-authored-by: Marcel Admiraal <madmiraal@users.noreply.github.com>
2023-01-08Use BitField<> in core type masksJuan Linietsky
* All core types masks are now correctly marked as bitfields. * The enum hacks in MouseButtonMask and many other types are gone. This ensures that binders to other languages non C++ can actually implement type safe bitmasks. * Most bitmask operations replaced by functions in BitField<> * Key is still a problem because its enum and mask at the same time. While it kind of works in C++, this most likely can't be implemented safely in other languages and will have to be changed at some point. Mostly left as-is. * Documentation and API dump updated to reflect bitfields in core types.
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-11-30Fix routing of InputEventScreenDrag events to Control nodesFredia Huya-Kouadio
2022-11-28Merge pull request #59801 from Sauermann/fix-node2d-viewport-root-orderRémi Verschelde
Fix Viewport root order after Node2D raise
2022-11-08Allow canceling Drag and Drop with the Escape-KeyMarkus Sauermann
This patch implements the functionality to cancel Drag and Drop by using the escape key or more general, the ui_cancel action. Since this would be the third location, where the finalization of Drag and Drop would have to be implemented, that functionality was put into the private function _perform_drop. Simplified gui.drag_data.get_type() != Variant::NIL to gui.dragging because they are equivalent.
2022-11-02Fix Viewport root order after Node2D raiseMarkus Sauermann
2022-10-31Viewport canvas cull mask featureBimDav
Co-authored-by: Valentin Zagura <puthre@gmail.com>
2022-10-04Make sure to reset the tooltip of its gui_parent when the viewport is removedRindbee
2022-09-19Change return type of `get_configuration_warnings` to `PackedStringArray`Marc Gilleron
2022-09-07Fix MOUSE_MODE_CAPTURED not working correctly with popupsMinusKube
2022-08-30Prevent subwindow_focused from pointing to a window that is not a subwindowMinusKube
2022-08-30Merge pull request #63003 from Geometror/msaa-2dRémi Verschelde
2022-08-25Fix warp_mouse for transient windows, smoother mouse positioning when ↵MathieuRoux
releasing mouse for spinbox
2022-08-22Make `_validate_property` a multilevel methodYuri Sizov
2022-08-13Implement MSAA for 2D [Vulkan only]Hendrik Brucker
2022-07-28Allow changing mipmap LOD bias when FSR 1.0 scaling is not usedHugo Locurcio
Mipmap LOD bias can be useful to improve the appearance of distant textures without increasing anisotropic filtering (or in situations where anisotropic filtering is not effective). `fsr_mipmap_bias` was renamed to `texture_mipmap_bias` accordingly. The property hint now allows for greater precision as well.
2022-07-25Code quality: Fix header guards consistencyRémi Verschelde
Adds `header_guards.sh` bash script, used in CI to validate future changes. Can be run locally to fix invalid header guards.
2022-07-17Adding Variable Rate Shading support to GodotBastiaan Olij
Improve GI renderer and add VRS support Implement render device has_feature and move subgroup settings to limit_get
2022-07-13Rename soft shadow quality project settings for easier searchingHugo Locurcio
`rendering/quality/shadows` is now `rendering/quality/positional_shadow` to explicitly denote that the settings only affect positional light shadows, not directional light shadows. Shadow atlas settings now contain the word "atlas" for easier searching. Soft shadow quality settings were renamed to contain the word "filter". This makes the settings appear when searching for "filter" in the project settings dialog, like in Godot 3.x.
2022-06-07Initial TAA implementationjfons
Initial TAA support based on the implementation in Spartan Engine. Motion vectors are correctly generated for camera and mesh movement, but there is no support for other things like particles or skeleton deformations.
2022-06-06Fix `Viewport.own_world_3d` documentationHaoyu Qiu
Also fixed the naming of the setter's parameter and made an `if` block straightforward.
2022-05-20Add a new HashSet templatereduz
* Intended to replace RBSet in most cases. * Optimized for iteration speed
2022-05-17Merge pull request #61088 from groud/keep_unhandled_events_on_passRémi Verschelde
2022-05-17Keep input event as unhandled if they go through a control set to ↵Gilles Roudière
MOUSE_FILTER_PASS
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-05-02Style: Partially apply clang-tidy's `cppcoreguidelines-pro-type-member-init`Rémi Verschelde
Didn't commit all the changes where it wants to initialize a struct with `{}`. Should be reviewed in a separate PR. Option `IgnoreArrays` enabled for now to be conservative, can be disabled to see if it proposes more useful changes. Also fixed manually a handful of other missing initializations / moved some from constructors.
2022-04-05[Input] Add extra `shortcut_input` input processing step to process Unicode ↵bruvzg
character input with Alt / Ctrl modifiers, after processing of shortcuts.
2022-03-28Fix using Viewport::warp_mouse within ViewportsMarkus Sauermann
2022-03-27Rename warp mouse functions to warp_mouseMarkus Sauermann
2022-03-14Cleanup internal GUI state, if event is accepted in _input.Markus Sauermann
2022-03-13Cleanup embed subwindows getterskobewi
2022-02-19Update variable name to reflect usageMarkus Sauermann
2022-02-03Merge pull request #57517 from groud/viewport_expose_gui_focusRémi Verschelde
2022-02-01Fix mouse_over not dropped when mouse leaves windowMarcel Admiraal
2022-02-01Exposes gui_release_focus and gui_get_focus_owner to ViewportGilles Roudière
2022-01-07Merge pull request #53419 from TechnoPorg/rework-subwindowsRémi Verschelde
2022-01-04Merge pull request #56305 from Calinou/rename-lod-thresholdRémi Verschelde
2022-01-04Merge pull request #51206 from clayjohn/Vulkan-ASSGIRémi Verschelde
2022-01-03Update copyright statements to 2022Rémi Verschelde
Happy new year to the wonderful Godot community!
2021-12-29Rename Lod Threshold to Mesh Lod ThresholdHugo Locurcio
This makes it more obvious that the setting only affects mesh LOD, not manual (H)LOD achieved using visibility ranges.
2021-11-29Don't obtain a reference to a subwindowTechnoPorg
Fixes the wrong location being accessed after changing the order of embedded windows. This commit also removes an unused variable.
2021-11-23Implemented AMD's FSR as a computer shader for upscaling 3D scenesJe06jm
2021-11-15Fix drag and drop on LineEditConteZero
2021-11-12Use "enum class" for input enumsAaron Franke
2021-11-06Added SSIL post processing effectclayjohn
2021-10-08Allow any floating-point value as a 3D rendering scale optionHugo Locurcio
This allows for finer control over 3D rendering resolution. Supersampling can also be performed by setting a 3D rendering resolution above 1.0, which is useful for offline rendering or for very high-end GPUs.
2021-09-16Rename Listener2D/Listener3D to AudioListener2D/AudioListener3DWilson E. Alvarez
2021-09-13Merge pull request #49063 from Calinou/remove-16x-msaaRémi Verschelde
Remove 16× MSAA support due to driver bugs and low performance
2021-08-31Add Listener2Dkobewi