1
0
Fork 0
Commit Graph

225 Commits

Author SHA1 Message Date
Robert Grigoryan 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
Allen Pestaluky 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
Thaddeus Crews 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
Thaddeus Crews d7565ffbe5
Merge pull request #104666 from allenwp/color-encoding-docs
Update color encoding documentation
2025-09-22 08:50:11 -05:00
Thaddeus Crews 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
Allen Pestaluky 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
Hugo Locurcio 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
rxlecky 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
Allen Pestaluky ce47160ea4 Update `ProjectSettings` HDR 2D documentation to include Compatibility support. 2025-08-29 13:54:00 -04:00
Pāvels Nadtočajevs 10e11ec87f
Rename SVGTexture to DPITexture. 2025-08-21 11:39:16 +03:00
Lurker 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
Allen Pestaluky 1f363c7ba4 Update HDR 2D documentation to include Compatibility support. 2025-07-29 15:56:24 -04:00
Allen Pestaluky 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
A Thousand Ships 2db7ecd410
[Docs] Various grammar and spelling fixes 2025-06-23 20:54:08 +02:00
kobewi 13f642d959
Replace XML codeblock spaces with tabs 2025-06-06 14:35:38 +02:00
Haoyu Qiu 1e82bafa3a Remove redundant info on the enum types used 2025-06-04 08:21:47 +08:00
Haoyu Qiu e74ebaf18d Fix copy-paste error in Viewport classref 2025-06-03 20:47:06 +08:00
Raymond DiDonato 6b99608950 Add SMAA 1x 2025-05-21 15:02:09 -04:00
Pāvels Nadtočajevs 98817a54f0
Use same oversampling granularity as fonts use for `SVGTexture`s . 2025-04-24 21:23:25 +03:00
Pāvels Nadtočajevs 4afeca3bcf
Replace global oversampling with overrideable per-viewport oversampling. 2025-04-14 13:43:09 +03:00
Thaddeus Crews 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
Pāvels Nadtočajevs b106dfd4f9
Base accessibility API. 2025-04-08 20:14:28 +03:00
Micky 7603945d14 Fix *even* more miscellaneous oddities around the class reference 2025-04-07 17:37:08 +02:00
Hugo Locurcio 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
Thaddeus Crews 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
Stuart Carnie 11dc4f2e5e Metal: Add MetalFX upscaling support
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2025-01-06 06:03:18 -07:00
Thaddeus Crews 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
Rémi Verschelde 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
Hugo Locurcio 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
Markus Sauermann 8e00035f08 Introduce `Viewport` functions for keeping the mouse over state consistent 2024-12-01 11:22:11 +01:00
tetrapod00 141737d168 Docs: Standardize names and terms for renderers 2024-11-29 19:53:52 -08:00
Wagner 6995b6a03e Allow changing the anisotropic filter level at run-time per Viewport 2024-11-30 00:50:45 -03:00
Thaddeus Crews 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
Hugo Locurcio 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
clayjohn 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
Micky eaebb3f864 Fix more miscellaneous oddities around the class reference 2024-11-12 17:44:45 +01:00
Micky 5c5460b026 Fix many untagged true/false/null in the documentation 2024-11-10 11:26:39 +01:00
Clay John 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
Lisandro Lorea 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
Markus Sauermann 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
tetrapod00 461283887f Docs: Add cross-links to antialiasing project settings 2024-09-11 20:17:55 -07:00
graydoubt e589c5baf3 Expose Viewport.gui_cancel_drag() to GDScript as a counterpart to Control.force_drag() 2024-09-06 06:20:22 -04:00
Rémi Verschelde 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
Ricardo Buring 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
clayjohn 3b9d074fd7 Ensure MovieWriter output is in gamma space when using HDR 2D 2024-05-28 15:30:13 -07:00
Bastiaan Olij 9042ddf19f Improvements to VRS/Foveated rendering 2024-05-03 17:20:30 +10:00
Micky 328b00774b Use `[codeblock lang=text]` more often in class ref 2024-04-08 16:17:50 +02:00
Rémi Verschelde 2ae6343533
Merge pull request #90310 from mhilbrunner/OutdatedDemos
Update links to outdated asset library demos
2024-04-08 11:21:38 +02:00
Micky 50f69656a7
Add missing documentation to Viewport 2024-04-08 11:12:10 +02:00
skyace65 c83718624f Update links to outdated asset library demos
Update links to outdated asset library demos

Co-authored-by: Max Hilbrunner <m.hilbrunner@gmail.com>
2024-04-07 16:59:43 +02:00