Commit graph

121 commits

Author SHA1 Message Date
Bastiaan Olij
d139131aab Adding Variable Rate Shading support to Godot
Improve GI renderer and add VRS support
Implement render device has_feature and move subgroup settings to limit_get
2022-07-17 15:42:24 +10:00
Hugo Locurcio
21ea1c3835
Rename soft shadow quality project settings for easier searching
`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-07-13 19:56:02 +02:00
jfons
ba832d83b2 Initial TAA implementation
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-07 13:14:44 +02:00
Haoyu Qiu
83d931ad3c Fix Viewport.own_world_3d documentation
Also fixed the naming of the setter's parameter and made an `if` block
straightforward.
2022-06-06 21:34:40 +08:00
kobewi
708a3b3db8 Improve Viewport.get_texture() description 2022-05-04 02:30:32 +02:00
kobewi
31a23ab33f Improve descriptions for drag methods 2022-04-24 20:41:00 +02:00
Hugo Locurcio
d15b69118d
Fix 3D scaling enum size in the editor and improve descriptions 2022-04-09 17:53:45 +02:00
Markus Sauermann
0494e024d8 Rename warp mouse functions to warp_mouse 2022-03-27 14:12:01 +02:00
kobewi
3c53752b4a Cleanup embed subwindows getters 2022-03-13 18:20:53 +01:00
kobewi
bcf13dc175 Expose methods for screen-space transforms 2022-03-13 16:05:08 +01:00
kobewi
c49cd80ab8 Update some docs regarding SubViewports 2022-03-01 01:11:23 +01:00
Hugo Locurcio
b68dd2e189
Add an XML schema for documentation
This makes it easier to spot syntax errors when editing the
class reference. The schema is referenced locally so validation
can still work offline.

Each class XML's schema conformance is also checked on GitHub Actions.
2022-02-15 00:03:31 +01:00
JFonS
b2da1a5c20
Merge pull request #57889 from Calinou/doc-occlusion-culling
Document occlusion culling classes and settings
2022-02-10 20:35:38 +01:00
Hugo Locurcio
dee43ea650
Document occlusion culling classes and settings 2022-02-10 18:24:32 +01:00
Rémi Verschelde
1bdb82c64e
Fix typos with codespell
Using codespell 2.2-dev from current git.

Added `misc/scripts/codespell.sh` to make it easier to run it once in a
while and update the skip and ignore lists.
2022-02-10 12:30:19 +01:00
Marcel Admiraal
012809d8ae Update definitions of get_mouse_position methods 2022-02-04 14:21:47 +00:00
Gilles Roudière
3521eecb4c Exposes gui_release_focus and gui_get_focus_owner to Viewport 2022-02-01 15:07:22 +01:00
Rémi Verschelde
851fb16350
Merge pull request #56305 from Calinou/rename-lod-threshold 2022-01-04 15:28:06 +01:00
Rémi Verschelde
7f66c16c03
Merge pull request #51206 from clayjohn/Vulkan-ASSGI 2022-01-04 10:00:17 +01:00
Hugo Locurcio
df09bc38cb
Rename Lod Threshold to Mesh Lod Threshold
This makes it more obvious that the setting only affects mesh LOD,
not manual (H)LOD achieved using visibility ranges.
2021-12-29 00:11:50 +01:00
Hugo Locurcio
7e4d805d29
Improve the ReflectionProbe class documentation 2021-12-11 19:10:23 +01:00
Rémi Verschelde
69a194f051
Merge pull request #55239 from zacryol/find-world-2d-description-fix
Fix description of Viewport `find_world_2d()` method.
2021-11-28 10:37:14 +01:00
zacryol
81c1d5197e Fix description of Viewport find_world_2d() method.
The doc now states that the method searches for a World2D among ancestor Viewports as well, differentiating it from the get_world_2d() getter.

and also find_world_3d()
2021-11-27 13:49:03 -07:00
Je06jm
20deb0917d Implemented AMD's FSR as a computer shader for upscaling 3D scenes 2021-11-23 14:16:03 -07:00
Rémi Verschelde
78dbe4e3e4
Merge pull request #54339 from ConteZero/line_edit_drag_and_drop 2021-11-22 12:20:01 +01:00
ConteZero
2b1787b446 Fix drag and drop on LineEdit 2021-11-15 17:10:56 +01:00
Rémi Verschelde
6c1bd4d227
Replace Godot docs URL with $DOCS_URL in XML class reference 2021-11-15 13:02:21 +01:00
clayjohn
0eff109a21 Added SSIL post processing effect 2021-11-06 12:43:19 -07:00
Hugo Locurcio
73c6e19acc
Allow any floating-point value as a 3D rendering scale option
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-10-08 18:22:10 +02:00
Rémi Verschelde
862994a8ef
doc: Update links to latest documentation after content reorganization 2021-10-06 13:48:48 +02:00
Rémi Verschelde
8ecc571158
Merge pull request #49063 from Calinou/remove-16x-msaa
Remove 16× MSAA support due to driver bugs and low performance
2021-09-13 17:34:04 +02:00
Max Hilbrunner
e73eecfec5
Merge pull request #50336 from SirQuartz/patch-20
Add description to `Viewport`
2021-09-09 04:06:10 +02:00
Bastiaan Olij
64626cc435 Optionally scale 3D render content 2021-08-26 20:48:40 +10:00
Hugo Locurcio
7192852da3
Remove 16× MSAA support due to driver bugs and low performance
In the `master` branch, 16× MSAA caused the entire system to freeze
on NVIDIA GPUs. This is likely caused by graphics drivers not actually
implementing 16× MSAA, but combining 8× MSAA with 2× SSAA instead.

On top of that, modern shader complexity makes 16× MSAA very difficult
to use while keeping a good framerate. 8× MSAA is hard enough to use
as it is.
2021-08-25 07:56:27 +02:00
reduz
5cecdfa8af Entirely removes BIND_VMETHOD in favor of GDVIRTUAL
* `_gui_input`, `_input`, `_unhandled_input` and `_unhandled_key_input` are now regular C++ virutal functions.
* Everything else converted to GDVIRTUAL
* BIND_VMETHOD is gone, always use the new syntax from now on.

Creating `_gui_input` method and using the binder to register events will no longer work, simply override the virtual function now.
2021-08-23 08:10:13 -03:00
Hugo Locurcio
7612cff432
Use the Unicode multiplication symbol where relevant 2021-08-12 21:45:33 +02:00
Aaron Franke
339687e04f
Organize methods in Viewport and explicitly name 3D methods with 3D 2021-08-10 09:10:34 -05:00
Rémi Verschelde
7adf4cc9b5
doc: Use self-closing tags for return and argument
For the time being we don't support writing a description for those, preferring
having all details in the method's description.

Using self-closing tags saves half the lines, and prevents contributors from
thinking that they should write the argument or return documentation there.
2021-07-30 15:29:52 +02:00
Nick Huelin
7e56b7083d
Add method description to is_embedding_subwindows in Viewport
This pull request adds a missing method description to `Viewport` in the class docs.
2021-07-10 05:59:26 -04:00
Josh Chandler
879f84d8f8 add viewport.get_camera_2d()
* there is now a more clear distinction between camera_2d and camera_3d functions in the engine code
* simplified camera2d's exported interface - now everything happens directly with the 'current' variable and make_current and clear_current are no longer exposed- there were some situations where calling one instead of set_current would result in incomplete results
* rebased to current godot master
2021-07-03 15:08:17 -04:00
reduz
6c55d2aad2 Fix Render Info
* Fixed and redone the process to obtain render information from a viewport
* Some stats, such as material changes are too difficult to guess on Vulkan, were removed.
* Separated visible and shadow stats, which causes confusion.
* Texture, buffer and general video memory can be queried now.
* Fixed the performance metrics too.
2021-07-03 10:15:04 -03:00
reduz
d07f7c8d25 Fixes to 2D viewport
* Editor 2D viewport now uses embedded subwindows (windows no longer pop up)
* Restored the ability to disable 3D on the 2D viewport (makes 3D not display on 2D when there is a camera on the scene)
2021-06-29 17:40:45 -03:00
reduz
6e98c4cd50 Refactor VisibilityNotifier3D
* This is the 3D counterpart to #49632
* Implemented a bit different as 3D works using instancing

After merged, both 2D and 3D classes will most likely be renamed in a separate PR to DisplayNotifier2D/3D.
2021-06-16 18:50:39 -03:00
kobewi
7ff135b015 Consistently prefix bound virtual methods with _ 2021-06-12 00:55:52 +02:00
Rémi Verschelde
74b3b0db0e
Merge pull request #47584 from HaSa1002/docs-lang-7 2021-06-11 14:35:45 +02:00
Johannes
23bc697239
Port code examples to C# (V)
Includes:
 * Variant
 * Viewport

and two fixes in Array that were pointed out in #40978
VisualScript classes are skipped on purpose.
That is the final commit of the inital code porting to C#. :)
2021-06-11 13:24:11 +02:00
reduz
32625145c8 Rename GI Classes
* GIProbe is now VoxelGI
* BakedLightmap is now LightmapGI

As godot adds more ways to provide GI (as an example, SDFGI in 4.0), the different techniques (which have different pros/cons) need to be properly named to avoid confusion.
2021-06-05 09:28:56 -03:00
Bastiaan Olij
e0bdf40d15 Move XR flag from subviewport into viewport 2021-05-01 19:58:11 +10:00
jfons
4d9d99bb82 Implement occlusion culling
Added an occlusion culling system with support for static occluder meshes.
It can be enabled via `Project Settings > Rendering > Occlusion Culling > Use Occlusion Culling`.

Occluders are defined via the new `Occluder3D` resource and instanced using the new
`OccluderInstance3D` node. The occluders can also be automatically baked from a
scene using the built-in editor plugin.
2021-04-23 21:45:23 +02:00
Marcel Admiraal
fd30c36985 Rename Texture.get_data() to get_image() 2021-03-28 13:00:46 +01:00