Commit Graph

229 Commits

Author SHA1 Message Date
660b52b828 Merge pull request #112990 from allenwp/update-hdr2d-docs
Update docs to describe new `use_hdr_2d` behavior with Mobile renderer.
2025-11-26 23:44:01 +01:00
ef18638ac3 Update docs to describe new use_hdr_2d behavior with Mobile renderer. 2025-11-26 14:47:58 -05:00
be0c68845e Fix miscellaneous oddities around the class reference (part 6) 2025-11-25 21:20:57 +01:00
89aa5137b8 add gui_drag_threshold for viewports 2025-10-24 19:01:25 +02:00
b3bb376391 Fix description of Viewport::set_input_as_handled
The method stops the `InputEvent` from propagating up, not down.
2025-10-14 11:06:54 +02:00
bd9d1bf070 Add material debanding for use in Mobile rendering method.
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2025-10-08 16:22:41 -04:00
d86123870b Merge pull request #52285 from rxlecky/camera-override-cleanup
Clean up and simplify camera override API
2025-09-30 18:35:11 -05:00
d7565ffbe5 Merge pull request #104666 from allenwp/color-encoding-docs
Update color encoding documentation
2025-09-22 08:50:11 -05:00
27a3f0eb8d Merge pull request #108206 from Calinou/transparent-viewport-no-ssr-sss-dof
Disable unsupported SSR, SSS, DoF on transparent viewports
2025-09-16 11:44:48 -05:00
46e40969a2 Replace the term "color space" with "color encoding". Add additional detail to Color class description. State clearly that Color is expected to use the nonlinear sRGB transfer function. 2025-09-15 18:11:53 -04:00
1c62ba40b7 Disable unsupported SSR, SSS, DoF on transparent viewports
For technical reasons, transparent viewports cannot support
screen-space reflections, subsurface scattering and depth of field.
Previously, enabling any of these would turn transparent viewports
invisible.
2025-09-11 14:59:07 +02:00
02e1919514 Cleanup and simplify camera override API
- Harmonise the camera override 2D and 3D APIs
- Switch to using Camera2D/3D nodes to provide override functionality. This makes for simpler code, gets rid of much of copy-pasted camera code and makes code that relies on current viewport camera such as VisibleOnScreenNotifiers and object picking work out of the box.
- Make camera override code only accesible within DEBUG_ENABLED builds
2025-08-31 15:34:46 +02:00
ce47160ea4 Update ProjectSettings HDR 2D documentation to include Compatibility support. 2025-08-29 13:54:00 -04:00
10e11ec87f Rename SVGTexture to DPITexture. 2025-08-21 11:39:16 +03:00
0ea06fe446 Added the C# code equivalent to the note in Viewport.GetTexture()
Define 'viewport' for parity with GDScript's '$viewport'

Co-authored-by: Paul Joannon <437025+paulloz@users.noreply.github.com>
2025-08-14 18:53:34 -07:00
1f363c7ba4 Update HDR 2D documentation to include Compatibility support. 2025-07-29 15:56:24 -04:00
a1591512f8 Always perform color correction and debanding on nonlinear sRGB values.
Fixes #107730

Co-authored-by: LuoZhihao <luo_zhihao@outlook.com>
2025-07-08 13:44:53 -04:00
2db7ecd410 [Docs] Various grammar and spelling fixes 2025-06-23 20:54:08 +02:00
13f642d959 Replace XML codeblock spaces with tabs 2025-06-06 14:35:38 +02:00
1e82bafa3a Remove redundant info on the enum types used 2025-06-04 08:21:47 +08:00
e74ebaf18d Fix copy-paste error in Viewport classref 2025-06-03 20:47:06 +08:00
6b99608950 Add SMAA 1x 2025-05-21 15:02:09 -04:00
98817a54f0 Use same oversampling granularity as fonts use for SVGTextures . 2025-04-24 21:23:25 +03:00
4afeca3bcf Replace global oversampling with overrideable per-viewport oversampling. 2025-04-14 13:43:09 +03:00
e6a61b1ecc Merge pull request #76829 from bruvzg/ac_kit_direct
Implement screen reader support using AccessKit library.
2025-04-08 12:32:47 -05:00
b106dfd4f9 Base accessibility API. 2025-04-08 20:14:28 +03:00
7603945d14 Fix *even* more miscellaneous oddities around the class reference 2025-04-07 17:37:08 +02:00
5472936b69 Disable debug draw modes in the 3D editor according to current rendering method
- Add tooltips to some debug draw modes, including when it's unsupported
  due to the current rendering method in use.
- Improve documentation related to debug draw modes.
2025-03-12 00:10:24 +01:00
654b5993e2 Merge pull request #99890 from Sauermann/fix-vp-mouse-notifications
Introduce `Viewport` functions for keeping the mouse over state consistent
2025-02-03 11:14:42 -06:00
11dc4f2e5e Metal: Add MetalFX upscaling support
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2025-01-06 06:03:18 -07:00
3d523ee86d Merge pull request #92997 from Calinou/styleboxflat-antialiasing-adjust-for-stretch-scale
Adjust StyleBoxFlat antialiasing to account for 2D stretch scale
2024-12-19 19:59:48 -06:00
d60c0e21a6 Merge pull request #88313 from wagnerfs/run-time-anisotropic-filtering
Allow changing the anisotropic filter level at run-time per Viewport
2024-12-17 16:18:38 +01:00
b43c47d6dd Adjust StyleBoxFlat antialiasing to account for 2D stretch scale
This prevents the antialiasing feather from becoming too wide
at viewport sizes higher than the default, which can lead to blurry visuals.

This is adjusted to account for the 2D scale factor returned on the root
Window, so it takes both the `canvas_items` scaling and
`content_scale_factor` into account.
2024-12-04 01:07:25 +01:00
8e00035f08 Introduce Viewport functions for keeping the mouse over state consistent 2024-12-01 11:22:11 +01:00
141737d168 Docs: Standardize names and terms for renderers 2024-11-29 19:53:52 -08:00
6995b6a03e Allow changing the anisotropic filter level at run-time per Viewport 2024-11-30 00:50:45 -03:00
9c300a6c05 Merge pull request #80965 from Calinou/viewport-add-get-stretch-scale-factor
Add a Viewport method to get automatically computed 2D stretch transform
2024-11-27 10:47:12 -06:00
0cf99cf95d Add a Viewport method to get automatically computed 2D stretch transform
`Viewport.get_stretch_transform()` returns the automatically computed
2D stretch transform. Combined with `Transform2D.get_scale()`, this is
useful when using the `canvas_items` stretch mode in a project.

There are many situations where knowing this factor is useful:

- Divide Camera2D zoom to keep the size of the 2D game world identical
  regardless of the 2D scale factor (so that UI elements can still be scaled).
- Make certain controls always drawn at 1:1 scale
  (e.g. for the crosshair in a FPS). This is done by dividing the Control
  node's scale by the scale factor.
2024-11-19 23:11:13 +01:00
90b4b48b5a Ensure shadow material and mesh are not used with wireframe mode
And in the Compatibility renderer actually use the wireframe render mode
2024-11-16 22:25:00 -08:00
eaebb3f864 Fix more miscellaneous oddities around the class reference 2024-11-12 17:44:45 +01:00
5c5460b026 Fix many untagged true/false/null in the documentation 2024-11-10 11:26:39 +01:00
cdf45f73ab Merge pull request #96893 from tetrapod00/docs-crosslink-antialiasing
Docs: Add cross-links to antialiasing project settings
2024-10-17 16:54:19 -07:00
bdcee836ad Expose Viewport::get_audio_listener_2d and Viewport::get_audio_listener_3d to scripting
Document exposed methods

Apply suggestions from code review

Co-authored-by: Micky <66727710+Mickeon@users.noreply.github.com>

Document default behavior when no audio listeners are active
2024-09-19 18:43:33 -03:00
60aaa017ff Enable Drag and Drop for SubViewports and Windows
Make Drag and Drop an application-wide operation.
This allows do drop on Controls in other Viewports/Windows.

In order to achieve this, `Viewport::_update_mouse_over` is adjusted to
remember the Control, that the mouse is over (possibly within nested
viewports). This Control is used as a basis for the Drop-operation, which
replaces the previous algorithm, which was only aware of the topmost
Viewport.

Also now all nodes in the SceneTree are notified about the Drag and Drop
operation, with the exception of SubViewports that are not children of
SubViewportContainers.
2024-09-15 01:06:02 +02:00
461283887f Docs: Add cross-links to antialiasing project settings 2024-09-11 20:17:55 -07:00
e589c5baf3 Expose Viewport.gui_cancel_drag() to GDScript as a counterpart to Control.force_drag() 2024-09-06 06:20:22 -04:00
f4037d6f6c Merge pull request #92496 from clayjohn/HDR-2D-sRGB
Ensure MovieWriter output is in gamma space when using HDR 2D
2024-08-19 12:08:40 +02:00
2f8ab4a654 Fixed Timestep Interpolation (3D)
Adds 3D fixed timestep interpolation to the rendering server.
This does not yet include support for multimeshes or particles.

Co-authored-by: lawnjelly <lawnjelly@gmail.com>
2024-07-07 22:15:23 +02:00
3b9d074fd7 Ensure MovieWriter output is in gamma space when using HDR 2D 2024-05-28 15:30:13 -07:00
9042ddf19f Improvements to VRS/Foveated rendering 2024-05-03 17:20:30 +10:00