Commit graph

420 commits

Author SHA1 Message Date
Clay John
8a10bb7d0d
Use OpenGL 3.3 core profile instead of compatibility profile
- Rename OpenGL to GLES3 in the source code per community feedback.
  - The renderer is still exposed as "OpenGL 3" to the user.
- Hide renderer selection dropdown until OpenGL support is more mature.
  - The renderer can still be changed in the Project Settings or using
    the `--rendering-driver opengl` command line argument.
- Remove commented out exporter code.
- Remove some OpenGL/DisplayServer-related debugging prints.
2021-10-31 15:56:45 +01:00
clayjohn
1b2cd9f251 Addition of FogVolumes, FogShaders, FogMaterial, and overhaul of VolumetricFog
Co-authored-by: Brian Semrau <brian.semrau@gmail.com>
2021-10-28 22:02:23 -07:00
Hugo Locurcio
970bed62ab
Decrease the default soft shadow quality to improve performance
Soft shadows are relatively expensive to filter. However, with the
default blur factors, it's not needed to use too many samples
(unless PCSS-like shadows are used with a large size). Textures
and screen-space antialiasing can also be used to mask the noise
pattern effectively.

On a GeForce GTX 1080, going from Medium to Low for both shadow types
saves 0.2-0.4 ms of GPU time per frame in 2560×1440 resolution.
This can translate to significantly higher savings on lower-end GPUs.

Given how the shader works, this improves rendering performance
even if lights with shadows are never used.
2021-10-23 16:32:38 +02:00
Rémi Verschelde
3bebbcacdb
Merge pull request #53992 from Calinou/hard-shadow-mapping-allow-dithering 2021-10-22 19:34:09 +02:00
Hugo Locurcio
e87ec8ec17
Add Soft Very Low shadow quality mode for 3D
This can be used to improve 3D shadow rendering quality at little
performance cost. Unlike the existing Hard setting which is limited
to variable shadow blur only, it works with both fixed blur and
variable blur.
2021-10-21 18:34:26 +02:00
ne0fhyk
b5c750fa65 Restrict the project data directory configuration 2021-10-18 14:10:38 -07:00
ne0fhyk
3e44a6375e Make the project data directory customizable. 2021-10-11 14:40:14 -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
61ce8b206e
Merge pull request #52877 from Calinou/add-print-verbose
Add `print_verbose()` built-in function to print in verbose mode only
2021-09-21 17:00:58 +02:00
Hugo Locurcio
650b1db4b8
Add print_verbose() built-in function to print in verbose mode only
This can be used as a shorthand for:

    if OS.is_stdout_verbose():
        print("...")

Unlike `print_debug()`, this works in release builds too and can
be toggled off in debug builds.
2021-09-21 15:59:49 +02:00
Aaron Franke
d54f2ad7ca
Don't generate empty doc sections and reduce code duplication 2021-09-20 20:59:33 -05:00
Fabio Alessandrelli
d187bb4e11 [HTML5] Use browser mix rate by default on the Web.
Browsers doesn't really like forcing the mix rate, e.g. Firefox does not
allow input (microphone) if the mix rate is not the default one, Chrom*
will exhibit worse performances, etc.
2021-09-15 11:56:21 +02:00
Hugo Locurcio
9b1986fb9c
Rename osx to macos in input map feature tag handling
This follows the general feature tag rename for 4.0.
2021-09-15 03:12:18 +02:00
Rémi Verschelde
4059cf2f02
Merge pull request #52068 from ThreeRhinosInAnElephantCostume/fixgdscript
Fix parse error on statement-less files with only newlines, add a warning for empty files.
2021-09-13 17:30:31 +02:00
ThreeRhinosInAnElephantCostume
e99730340b Fix error on parsing statement-less GDScript files,
add an empty file warning,
add relevant tests.
2021-09-11 20:38:15 +02:00
Hugo Locurcio
2daaf0fdc3
Make platform feature tag names lowercase
Feature tag names are still case-sensitive, but this makes built-in
feature tags more consistent.

- `Windows` -> `windows`
- `OSX` -> `osx`
- `LinuxBSD` -> `linuxbsd`
- `Android` -> `android`
- `iOS` -> `ios`
- `HTML5` -> `html5`
- `JavaScript` -> `javascript`
- `UWP` -> `uwp`
2021-08-31 20:34:44 +02:00
Bastiaan Olij
64626cc435 Optionally scale 3D render content 2021-08-26 20:48:40 +10:00
Pedro J. Estébanez
abdfbef075 Add project setting for agile input event flushing
If enabled, key/touch/joystick events will be flushed just before every idle and physics frame.

Enabling this can greatly improve the responsiveness to input, specially in devices that need to run multiple physics frames per each idle frame, because of not being powerful enough to run at the target frame rate.

This will only work for platforms using input buffering (regardless event accumulation). Currenly, only Android does so, but could be implemented for iOS in an upcoming PR.
2021-08-13 11:45:50 +02:00
Rémi Verschelde
c89ad92c96
Merge pull request #51532 from nekomatata/layer-mask-accessors
Uniformize layer names, script methods and documentation
2021-08-12 17:55:11 +02:00
PouleyKetchoupp
989acbbe81 Uniformize layer names, script methods and documentation
- Back to 1-based layer names to make it clearer in editor UI
- Layer bit accessors are renamed to layer value and 1-based too
- Uniform errors and documentation in render and physics
- Fix a few remaining collision_layer used in place of collision_mask
2021-08-12 08:06:42 -07:00
Hugo Locurcio
635f6cdf2e
Fix the Use Nearest Mipmap Filter project setting not working
The project setting wasn't being used anywhere.

This also tweaks the property hints to denote that these properties
are only effective after a restart.
2021-08-12 01:58:42 +02:00
Hugo Locurcio
d364ff2087
Decrease the default depth of field bokeh quality
This makes depth of field perform better out of the box, with little
visual difference.
2021-08-11 16:59:22 +02:00
Rémi Verschelde
62047e4e48
Merge pull request #51486 from reduz/fixes-to-mobile-renderer
Fixes and optimizations to mobile renderer
2021-08-11 15:19:11 +02:00
reduz
ca117910da Fixes and optimizations to mobile renderer
* Only apply final actions to attachments used in the last pass.
* Fixes to draw list final action (was using continue instead of read/drop).
* Profiling regions inside draw lists now properly throw errors.
* Ability to enable gpu profile printing from project settings. (used to debug).
2021-08-10 23:17:28 -03:00
Hugo Locurcio
937c1a716c
Rename iterations_per_second to physics_ticks_per_second
This makes it clearer that this property is only about physics FPS,
not rendering FPS.

The `physics_fps` project setting was also renamed to
`physics_ticks_per_second` for consistency.
2021-08-11 02:37:02 +02:00
Rémi Verschelde
73cd3f0b38
Merge pull request #51395 from angad-k/pseudolocalization-squashed
Add pseudolocalization to Godot. (GSoC'21)
2021-08-08 17:55:30 +02:00
Angad Kambli
e79dde1cbb add pseudolocalization to Godot 2021-08-08 20:37:57 +05:30
Rémi Verschelde
c17a541650
Merge pull request #51039 from nekomatata/layer-grid-32
Refactor layer property editor grid
2021-08-02 21:14:16 +02:00
PouleyKetchoupp
7a0c210f9b Refactor layer property editor grid
- Now able to display up to 32 layers in physics (still 20 for render)
- Adjustable grid size to fit available space in dock
- Expansion icon to display more layers vertically
- Layer numbers in cells to help with selection
2021-07-30 11:19:50 -07: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
reduz
9293bc3935 Implement more rendering options as specialization constants
* Shadow quality settings now specialization constant.
* Decal and light projector filters can be set.
* Changing those settings forces re-creation of the pipelines.

These changes should help improve performance related to shadow mapping, and allows improving performance by sacrificing decal and light projector quality.
2021-07-19 21:51:29 -03:00
Hendrik Brucker
74ab336fe3 Change VSync mode project setting enum type from string to integer 2021-07-12 03:35:51 +02:00
Hugo Locurcio
a2d5f191d8
Merge pull request #48622 from Geometror/reimplement-disableable-vsync 2021-07-10 01:02:23 +02:00
Hugo Locurcio
7f845d913a
Fix warning message spam when a VoxelGI node is selected in the editor
Support for anisotropy in VoxelGI was removed during its development
due to the high cost. This was a leftover from anisotropy support.
2021-07-06 23:02:59 +02:00
Hendrik Brucker
043ae91560 Restructure and reimplement vsync options
-Add a v-sync mode setting which allows to choose between DISABLED, ON, ADAPTIVE and MAILBOX
-Removed the V-Sync via Compositor option
2021-07-06 16:34:26 +02:00
Hugo Locurcio
e3ef50db38
Improve descriptions for ProjectSettings' disable_stdout/disable_stderr 2021-06-20 16:44:58 +02:00
Rémi Verschelde
cca29b78b9
Merge pull request #48359 from Calinou/add-engine-print-error-property 2021-06-20 13:22:08 +02:00
Michael Alexsander Silva Dias
0ff4095b36 Better format arguments in variant parser 2021-06-18 00:06:40 -03:00
Gregory Basile
8ab13f8ace Documentation search fixes
Updates rich_text_label so that the built-in documentation can be searched
Previously, it would only find the first result and would not select other results
Renames "_entered" functions to "_submitted"
2021-06-16 09:43:34 -07:00
reduz
38d164c74b Refactor VisibilityNotifier
* Works from RenderinServer
* Accurately tells when on or off-scren, its no longer approximate.
* VisibilityEnabler also simplified to use the process mode instead.
2021-06-16 10:48:57 -03:00
Rémi Verschelde
c2ba60f31a
Merge pull request #48682 from Calinou/doc-audio-generation
Improve AudioStreamGenerator and AudioEffectSpectrumAnalyzer documentation
2021-06-15 16:55:14 +02:00
Rémi Verschelde
529bf43134
Merge pull request #49432 from Calinou/tweak-physics-fps-property-hint
Tweak the physics FPS property hint to only allow reasonable values
2021-06-15 15:19:24 +02:00
Bastiaan Olij
15c1a76361 Add stereoscopic rendering through multiview 2021-06-13 22:52:20 +10:00
Rémi Verschelde
ab29e3af53
Merge pull request #49515 from Calinou/doc-projectsettings-vram-compression-change
Document applying VRAM compression setting changes retroactively
2021-06-11 23:35:12 +02:00
Hugo Locurcio
de39223503
Document applying VRAM compression setting changes retroactively 2021-06-11 22:47:50 +02:00
Rémi Verschelde
50d1e0ea99
Merge pull request #47835 from mortarroad/master-lossless-webp
Implement lossless WebP encoding
2021-06-11 19:34:36 +02:00
Morris Tabor
1bc1e94208 Implement lossless WebP encoding 2021-06-11 18:46:04 +02:00
reduz
c66b2651a6 Refactor CommandQueueMT
* RingBuffer had no reason to be in this context
* A single buffer is used that can grow as much as the game needs.

This should make thread loading entirely reliable.
2021-06-09 13:10:49 -03:00
Hugo Locurcio
8f4ac7bc4a
Tweak the physics FPS property hint to only allow reasonable values
Physics FPS above 1000 cause the whole project to slow down
and are not very practical in the first place (since no CPU currently
available can keep up).
2021-06-08 19:52:48 +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
Rémi Verschelde
f0b17bcddb
doc: Sync classref after merge of #47336 2021-06-04 11:49:01 +02:00
Paulb23
168427624e Update String/Comment, autocomplete and hints docs 2021-06-01 16:14:03 +01:00
reduz
0d2e02945b Implement shader caching
* Shader compilation is now cached. Subsequent loads take less than a millisecond.
* Improved game, editor and project manager startup time.
* Editor uses .godot/shader_cache to store shaders.
* Game uses user://shader_cache
* Project manager uses $config_dir/shader_cache
* Options to tweak shader caching in project settings.
* Editor path configuration moved from EditorSettings to new class, EditorPaths, so it can be available early on (before shaders are compiled).
* Reworked ShaderCompilerRD to ensure deterministic shader code creation (else shader may change and cache will be invalidated).
* Added shader compression with SMOLV: https://github.com/aras-p/smol-v
2021-05-31 10:13:09 +02:00
Rémi Verschelde
af03e9c830
Merge pull request #48939 from Calinou/screen-orientation-use-enum
Use an enum to represent screen orientation in the Project Settings
2021-05-24 19:53:19 +02:00
Hugo Locurcio
660952a857
Use an enum to represent screen orientation in the Project Settings
- Tweak the setting property hint to be more informative.
- Make the setting a "basic" setting so it appears when Advanced Settings
  is disabled.
- Remove redundant orientation setting in the iOS export preset.
  The project setting is now used (like on Android).

Projects upgrading from a previous version will have to set the
screen orientation again in the Project Settings if it wasn't set
to the default value ("landscape").
2021-05-24 18:53:10 +02:00
Hugo Locurcio
80f4e407b2
Add a keyboard shortcut to select the word under cursor in TextEdit
This also acts as a general-purpose "deselect" shortcut since pressing
it a second time will deselect text.

This is available both in the script editor and in TextEdit fields
in use, both in the editor and projects.

The Duplicate Line script editor shortcut was moved to Ctrl + Shift + D
since it conflicts with the new shortcut (Ctrl + D). The rationale for
doing so is that Duplicate Line is a less commonly used action, and
its behavior can be replicated by copying and pasting the current line
anyway. (With no selection active, the whole line will be copied.)
2021-05-22 23:47:43 +02:00
Rémi Verschelde
4219a4cb6f
Fix typos with codespell
Using codespell 2.0.0.

Method:
```
$ cat > ../godot-word-whitelist.txt << EOF
ang
curvelinear
dof
doubleclick
fave
findn
GIRD
leapyear
lod
merchantibility
nd
numer
ois
ony
que
seeked
synching
te
uint
unselect
webp
EOF

$ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"
$ git diff // undo unwanted changes
```
2021-05-20 12:38:56 +02:00
Aaron Franke
ab674a41aa
Area: Uncap the range for gravity and change the slider hints 2021-05-18 07:17:11 -04:00
Rémi Verschelde
b2fb119c53
Merge pull request #36263 from Calinou/increase-default-2d-gravity 2021-05-18 10:54:47 +02:00
Hugo Locurcio
c872819be6
Improve AudioStreamGenerator and AudioEffectSpectrumAnalyzer documentation
- Mention audio sample rate caveats in other classes where relevant.
2021-05-15 23:23:06 +02:00
PouleyKetchoupp
3877ed73d0 Dynamic BVH broadphase in 2D & 3D Godot Physics
Port lawnjelly's dynamic BVH implementation from 3.x to be used in
both 2D and 3D broadphases.

Removed alternative broadphase implementations which are not meant to be
used anymore since they are much slower.

Includes changes in Rect2, Vector2, Vector3 that help with the template
implementation of the dynamic BVH by uniformizing the interface between
2D and 3D math.

Co-authored-by: lawnjelly <lawnjelly@gmail.com>
2021-05-10 16:28:55 -07:00
Hugo Locurcio
ce4aa07276
Implement the %command% placeholder in the Main Run Args setting
This can be used to tell Godot to run an executable that will run Godot
rather than running Godot directly. This is useful to make Godot start
on the dedicated GPU when using a NVIDIA Optimus setup on Linux:
`prime-run %command%`

The `editor/run/main_run_args` setting declaration was moved to make it
visible in the ProjectSettings documentation.
2021-05-07 00:05:02 +02:00
Hugo Locurcio
4a28f7e44f
Increase the default 2D gravity to 980.0
This makes 2D RigidBody physics feel less floaty out of the box.

This closes https://github.com/godotengine/godot-proposals/issues/98.
2021-05-05 22:49:06 -04:00
Rémi Verschelde
a8f45efa43
doc: Sync classref with current source 2021-05-03 20:42:21 +02:00
Bastiaan Olij
58ff0dac1a Create mobile renderer 2021-05-03 21:54:11 +10:00
Hugo Locurcio
0eb9b414c1
Add Engine.print_error_messages property to disable printing errors
This can be used during unit test suite runs to hide error and warning
messages.

Care should be taken when using this feature, as it can hide important
information if used wrongly.
2021-05-01 23:11:08 +02:00
Rémi Verschelde
cab5064f20
doc: Sync classref with current source
And typo fix from https://github.com/godotengine/godot-docs/pull/4882.
2021-04-29 12:11:40 +02:00
Rémi Verschelde
95cfce661b
Merge pull request #48050 from JFonS/occlusion_culling 2021-04-27 19:07:12 +02: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
Hugo Locurcio
188bd5638c
Link to Feature tags more explicitly in ProjectSettings documentation 2021-04-22 20:07:54 +02:00
bruvzg
b56241f22f
ICU: Update to version 69.1, improve ICU data export process. 2021-04-22 16:56:53 +03:00
Rémi Verschelde
29775a1714
doc: Sync classref with current source 2021-04-19 12:26:37 +02:00
Hugo Locurcio
554742312d
Document overriding project settings that have feature tags
This non-obvious behavior can take a while to discover and fix,
so it's important to mention it in the class reference.
2021-04-12 21:51:08 +02:00
Hugo Locurcio
6c9259ff2f
Fix feature tag casing in the Windows pen tablet project setting name
Feature tags are case-sensitive.
2021-03-22 14:18:48 +01:00
Paul Joannon
8455e901f3
class reference proofreading 2021-03-19 13:21:20 +01:00
Rémi Verschelde
4ca1e73ff9
doc: Sync classref with current source
And move GLTF docs to its module folder.
2021-03-18 16:37:43 +01:00
Gilles Roudière
ba1344408f Implement Navigation layers 2021-03-10 11:23:06 +01:00
Gilles Roudière
a9dc53d152 Remove Navigation2D/3D nodes, and move the navigation map to the world resource 2021-03-10 11:23:06 +01:00
Rémi Verschelde
469ac1e415 doc: Sync classref with current source 2021-03-10 10:54:21 +01:00
Fabio Alessandrelli
f34c7982c5 [HTML5] Respect allow_hidpi option during setup
The option was forced to `true` before, unlike on other platforms.
2021-03-08 23:37:53 +01:00
Rémi Verschelde
afd0df7921
Merge pull request #46386 from KoBeWi/projekt_settingz
Clarify ProjectSettings.save for exported projects
2021-03-07 10:17:59 +01:00
kobewi
156c402f2b Allow to save override.cfg with ProjectSettings 2021-03-07 01:21:44 +01:00
Mateo Kuruk Miccino
89283b7b53 Logger: Cache 'flush_stdout_on_print' to improve performance, and works before ProjectSettings starts.
ProjectSetting: Now 'application/run/flush_stdout_on_print' requires a restart of the Editor to take effect
2021-02-28 19:36:10 -03:00
PouleyKetchoupp
c4b116cff7 Added option in project settings to draw Shape2D outlines
Disabling collision outlines can be useful for performance when the game
is running and many collision shapes are displayed.
2021-02-25 07:52:50 -07:00
Rémi Verschelde
0d1d719178 doc: Sync classref with current source
And fix various bogus bindings following previous PRs.
2021-02-19 14:39:14 +01:00
bruvzg
3e0262509f
Move tablet driver API from OS to DisplayServer. 2021-02-18 17:12:24 +02:00
Rémi Verschelde
9b623635c8
doc: Sync classref with current source 2021-02-08 12:34:28 +01:00
Rémi Verschelde
fb01d057af
doc: Sync classref with current source 2021-01-28 11:26:37 +01:00
Rémi Verschelde
a3b76e26f3
doc: Sync classref with current source 2021-01-06 15:23:58 +01:00
Rémi Verschelde
215d18814e
doc: Sync classref with current source 2021-01-04 14:33:44 +01:00
Rémi Verschelde
96aff740fe
Merge pull request #44809 from Calinou/physics-render-layers-zero-index
Use zero-indexing for physics and render layer names
2021-01-01 23:37:37 +01:00
Hugo Locurcio
bd0b7003e0
Document the desktop-only file logging setting override
This closes https://github.com/godotengine/godot-docs/issues/4505.
2020-12-30 18:39:50 +01:00
Hugo Locurcio
f87d42f4ca
Use zero-indexing for physics and render layer names
The first layer is now Layer 0 instead of Layer 1, and the last
layer is now Layer 19 instead of Layer 20.

This helps reference physics and render layers from scripts since
layers start from 0 there.
2020-12-30 16:03:11 +01:00
clayjohn
44f8922305 Port ASSAO to Godot to replace SAO 2020-12-21 23:08:59 -08:00
Hugo Locurcio
341b9cf15a
Add a project setting to enable stdout flushing in release builds
This can be used in server builds for journalctl compatibility.
2020-12-15 16:40:52 +01:00
Rémi Verschelde
1a001ad964
doc: Sync classref with current source
And fixups:
- Add missing bindings in RenderingServer
- Remove duplicate ArrayMesh enum bindings (they're in Mesh already)
- Remove redundant _unhandled_key_input binding in Control (it's in Node
  already)
2020-12-04 22:28:08 +01:00
Rémi Verschelde
53b23c6bdc
Merge pull request #43922 from Calinou/doc-projectsettings-globalize-path
Improve the `ProjectSettings.globalize_path()` documentation
2020-11-28 10:29:23 +01:00
Hugo Locurcio
f415db5b75
Improve the ProjectSettings.globalize_path() documentation
This closes https://github.com/godotengine/godot-docs/issues/4409.
2020-11-27 17:12:13 +01:00
bruvzg
7e2c0ffd1a
[Complex Text Layouts] Add TextServer documentation. Update Font, CanvasItem, Theme and modified controls documentation. 2020-11-26 14:25:52 +02:00
Rémi Verschelde
7a2d721536
Merge pull request #43509 from Calinou/doc-projectsettings-packetpeerstream-size
Clarify packet peer `max_buffer_po2` in ProjectSettings documentation
2020-11-16 14:52:24 +01:00
Hugo Locurcio
c475b1fd0b
Clarify packet peer max_buffer_po2 in ProjectSettings documentation
This closes https://github.com/godotengine/godot-docs/issues/4364.
2020-11-16 14:13:59 +01:00
Rémi Verschelde
91dd6da2ff
Merge pull request #43246 from HaSa1002/docs-lang-5
Docs: Port code examples to C# (M, N, O, P, Q, R)
2020-11-16 09:16:18 +01:00
HaSa1002
a3df26e554 Docs: Port Code Examples to C# (M, N, O, P, R)
Includes:
 * MarginContainer
 * NavigationPolygon
 * Node
 * NodePath
 * OS
 * PackedByteArray
 * PackedScene
 * PacketPeerUDP
 * PCKPacker
 * Performance
 * PhysicsShapeQueryParameters2D
 * PhysicsShapeQueryParameters3D
 * PrimitiveMesh
 * ProjectSettings

Co-authored-by: Aaron Franke <arnfranke@yahoo.com>
2020-11-09 10:05:53 +01:00
Rémi Verschelde
a9bc440311
Merge pull request #41746 from Calinou/doc-projectsettings-fullscreen-borderless
Improve the documentation related to fullscreen and borderless settings
2020-11-06 14:34:22 +01:00
Rémi Verschelde
424cd00f8b
doc: Sync classref with current source + fixup some bindings
Includes various changes triggered by the refactoring of method bindings.
2020-11-04 15:38:26 +01:00
Hugo Locurcio
a1f81a52df
Improve the documentation related to fullscreen and borderless settings 2020-10-28 14:30:33 +01:00
Juan Linietsky
53d5a252bb
Revert "Replace SAO implementation with MSSAO" 2020-10-18 19:27:51 -03:00
clayjohn
366ee46774 Replace SAO implementation with MSSAO 2020-10-18 13:15:51 -07:00
Rémi Verschelde
7baefe812a
Merge pull request #42604 from KoBeWi/da100mp
Correct the doc about linear damping
2020-10-13 11:53:01 +02:00
Tomasz Chabora
ebca7d4e4e Correct the doc about linear damping 2020-10-13 11:41:18 +02:00
Charles Merriam
5160a9f650 Fix typo in the ProjectSettings class documentation 2020-10-13 09:55:31 +02:00
Rémi Verschelde
a33fe75050
doc: Sync classref with current source 2020-10-09 15:04:15 +02:00
Aaron Franke
439be614f4
Link to demos from within the class reference 2020-10-01 23:57:21 -04:00
Sergey Minakov
1d9b6b01db iOS: move touch delay to settings 2020-10-01 12:36:11 +03:00
Hugo Locurcio
f83249f224
Clarify that 2D cell sizes are defined in pixels
See https://github.com/godotengine/godot/issues/40577#issuecomment-662329021.
2020-09-15 14:06:42 +02:00
Rémi Verschelde
4a5138bb99
Merge pull request #40400 from Arivval/load-resourcepack-with-offset
Added PCK file loading with offset feature
2020-09-03 07:33:19 +02:00
Yilin Ma
c524d50444 added load resource pack with offset feature
updated variables to use size_t

removed line break to make code style more consistent

added conditional check to return an error if offset field is used when loading a ZIP package

fixed typo

formatted file

added commit regarding self contained exe files

handled error loging for load zip file with offset

spelling tweak

updated conditional statement for magic check

udpated error message when load Zip file with offset is called

fix CI

Trying to fix CI

fix CI done

Added error message for loading self-contained exe with offset.

Updated documentation.

Fix indent

final fix indent

Updated documentation.

fix indents

Updated doc based on suggestion

Final fix

fixed format
2020-09-02 17:57:01 -05:00
Rémi Verschelde
23ce1dbfd5
Merge pull request #41668 from clayjohn/GLOW-HQ
Add high quality glow mode
2020-09-01 21:04:07 +02:00
Hugo Locurcio
386f86cddf
Document how renaming the project affects the user data path 2020-09-01 19:19:25 +02:00
clayjohn
8da3c739bf Add high quality glow mode 2020-08-31 23:16:41 -07:00
Rémi Verschelde
ee03e39da7
doc: Sync classref with current source 2020-08-31 11:25:11 +02:00
Rémi Verschelde
33b2070d2e Remove obsolete GLES2 backend code
This code currently isn't compiled (and cannot compile).

We plan to re-add OpenGL ES-based renderer(s) in Godot 4.0 alongside Vulkan
(probably ES 3.0, possibly also a low-end ES 2.0), but the code will be quite
different so it's not relevant to keep this old Godot 3.2 code.

The `drivers/gles2` code from the `3.2` branch can be used as a reference for
a potential new implementation.
2020-08-13 10:04:53 +02:00
Rémi Verschelde
932b75e247 doc: Sync classref with current source 2020-07-28 01:08:44 +02:00
bruvzg
0181c3dde1
Docs: Ignore OS specific values (constants, project settings, properties). 2020-07-15 12:24:59 +03:00
Daniel Ting
9605fc54c7 Fix cancel/OK button order on macOS
The macOS platform convention regarding button order is cancel on left,
OK on right.
2020-07-10 15:10:11 -05:00
Hugo Locurcio
20af28ec06
Enable file logging by default on desktops to help with troubleshooting
- Use the `.log` file extension (recognized on Windows out of the box)
  to better hint that generated files are logs. Some editors provide
  dedicated syntax highlighting for those files.
- Use an underscore to separate the basename from the date and
  the date from the time in log filenames. This makes the filename
  easier to read.
- Keep only 5 log files by default to decrease disk usage in case
  messages are spammed.
2020-07-08 18:57:25 +02:00
Rémi Verschelde
96644d23a0 doc: Sync classref with current source 2020-07-03 16:09:12 +02:00
Rémi Verschelde
372136fe75 Environment: Refactor code for readability + more
- Makes all boolean setters/getters consistent.
- Fixes bug where `glow_hdr_bleed_scale` was not used.
- Split CameraEffects to their own source file.
- Reorder all Environment method and properties declarations,
  definitions and bindings to be consistent with each other
  and with the order of property bindings.
- Bind missing enum values added with SDFGI.
- Remove unused SDFGI enhance_ssr boolean.
- Sync doc changes after SDFGI merge and other misc changes.
2020-07-01 14:44:45 +02:00
Rémi Verschelde
2b6bbf8dce Mono: Always define options in main.cpp to keep them in docs
Otherwise generating docs with non-Mono builds removes them,
which is not so convenient for the documentation work.
2020-06-18 12:06:24 +02:00
Gustav
728c0c1e14 Fix ProjectSettings.save_custom documentation 2020-05-26 09:13:37 +02:00
Rémi Verschelde
0b8cb945cf doc: Sync classref with current source 2020-05-20 15:29:37 +02:00
bruvzg
d0b5174b6a
[Windows] Add tablet driver selection. 2020-05-20 09:37:32 +03:00
Rémi Verschelde
2800c8f43d doc: Sync classref with current source 2020-05-15 18:25:09 +02:00
Rémi Verschelde
02bcaa7a46
Merge pull request #38689 from Calinou/rename-ssl-certificate-setting
Rename SSL certificate bundle setting to clarify the "overriding" aspect
2020-05-12 11:37:46 +02:00
Hugo Locurcio
c6fbbdf15d Rename SSL certificate bundle setting to clarify the "overriding" aspect
This closes https://github.com/godotengine/godot-docs/issues/2531.
2020-05-12 10:13:27 +02:00
Rémi Verschelde
d3bd219362 doc: Sync classref with current source
Adds API changes from the new GPU lightmapper.
2020-05-12 10:10:50 +02:00
Hugo Locurcio
3a11baaeac
Turn the anisotropic filtering setting into an enum
Since it only accepts power-of-two values, exposing it as an enum
makes more sense. This also allows for adding property hints to indicate
the performance cost of each value.

This also improves property hints for MSAA and FXAA.
2020-05-08 12:07:35 +02:00
Rémi Verschelde
b9594b2c10 doc: Sync classref with current source 2020-05-06 10:27:02 +02:00
bruvzg
d978658f81
[Windows] Add support for the WinTab API for pen input. 2020-05-05 14:16:02 +03:00
Rémi Verschelde
b0c0d506b6 doc: Sync classref with current source 2020-05-01 12:46:05 +02:00
Rémi Verschelde
d8066aa6a4
Merge pull request #38286 from bojidar-bg/x-expose-cell-size
Expose the cell_size affecting VisibilityNotifier2D precision
2020-04-28 11:19:16 +02:00
Bojidar Marinov
d49ff7aff7
Expose the cell_size affecting VisibilityNotifier2D precision
Refs: #4803
2020-04-28 10:33:45 +03:00
Hugo Locurcio
b2b8db7897 Improve the compression project settings documentation 2020-04-27 09:58:23 +02:00
Rémi Verschelde
d567c15aed doc: Fix parsing typed arrays in makerst.py
`Type[]` typed arrays will link to `Type`, as it's likely the most
interesting information for the user.

And sync classref with current source.
2020-04-24 17:50:20 +02:00
Juan Linietsky
ae09b55a19 Exposed RenderingDevice to script API
Also added an easier way to load native GLSL shaders.

Extras:

Had to fix no-cache for subresources in resource loader, it was not properly working, making shaders not properly reload.

Note:

The precommit hooks are broken because they don't seem to support enums from one class being used in another.
Feel free to fix this after merging this PR.
2020-04-20 21:21:58 -03:00
Rémi Verschelde
f8218c76ef
Merge pull request #38036 from akien-mga/doc-update
doc: Sync classref with current source
2020-04-20 14:36:29 +02:00
Rémi Verschelde
83b21cd302
Merge pull request #38035 from akien-mga/revert-35261-pck-destination
Revert "Made possible to specify where to dump the contents when load…
2020-04-20 13:47:25 +02:00
Rémi Verschelde
b7b46093d8 doc: Sync classref with current source
Add missing enum bindings.
2020-04-20 11:48:00 +02:00
Rémi Verschelde
088c2a0870
Merge pull request #37947 from clayjohn/DOCS-rendering-update
Update many docs with recent rendering changes
2020-04-20 11:16:12 +02:00
Rémi Verschelde
515fe0f29b Revert "Made possible to specify where to dump the contents when loading a ".pck" file"
This reverts commit 3c261e0dfa.

This was not so useful as is due to the way dependency paths are stored
in scenes and resources.
2020-04-20 10:57:05 +02:00
clayjohn
b50d954cb0 Update many docs with recent rendering changes 2020-04-17 09:47:59 -07:00
Michael Alexsander
3c261e0dfa Made possible to specify where to dump the contents when loading a ".pck" file 2020-04-16 22:52:26 -03:00
Rémi Verschelde
06748a2b5f
Merge pull request #37749 from clayjohn/Vulkan-improved-ss
Add vogel filter and settings to soft shadows
2020-04-13 00:39:37 +02:00
clayjohn
621f6f09a8 Add proper quality settings to soft shadows 2020-04-10 23:09:17 -07:00
WARIO-MDMA
6d5c6ffbe0 Rename "GodotPhysics" to "GodotPhysics{2D,3D}" 2020-04-09 03:13:33 +10:00
Rémi Verschelde
1222541c95 i18n: Sync translate template for class reference
Adds initial fr.po translation for initialization on Weblate.
2020-04-07 09:57:51 +02:00
Rémi Verschelde
9abb415d92
Merge pull request #37391 from dreamsComeTrue/embedded-windows-mode
Expose 'Embedded Windows Mode' as Editor and Project Settings
2020-04-04 07:58:53 +02:00
Dominik 'dreamsComeTrue' Jasiński
7af84d7213 Expose 'Embedded Windows Mode' as Editor and Project Settings 2020-04-03 21:15:22 +02:00
Rémi Verschelde
d9a560d783 doc: Sync classref with current source 2020-04-03 10:11:23 +02:00
Rémi Verschelde
e5033d3952 doc: Sync classref with DisplayServer/Window changes 2020-03-31 11:56:58 +02:00
Rémi Verschelde
eaaee63b62 doc: Update classref with node renames
A few extra renames for classes which were missed in last week's PRs.
2020-03-30 18:23:02 +02:00
clayjohn
61a74739ca Working sky shader implementation 2020-03-21 20:43:44 -07:00
Rémi Verschelde
f65781fe7f doc: Sync classref with current source 2020-03-13 17:16:44 +01:00
Fabio Alessandrelli
b8ddaf9c33 Refactor ScriptDebugger.
EngineDebugger is the new interface to access the debugger.
It tries to be as agnostic as possible on the data that various
subsystems can expose.

It allows 2 types of interactions:

- Profilers:
  A subsystem can register a profiler, assigning it a unique name.
  That name can be used to activate the profiler or add data to it.
  The registered profiler can be composed of up to 3 functions:
    - Toggle: called when the profiler is activated/deactivated.
    - Add: called whenever data is added to the debugger
      (via `EngineDebugger::profiler_add_frame_data`)
    - Tick: called every frame (during idle), receives frame times.

- Captures: (Only relevant in remote debugger for now)
  A subsystem can register a capture, assigning it a unique name.
  When receiving a message, the remote debugger will check if it starts
  with `[prefix]:` and call the associated capture with name `prefix`.

Port MultiplayerAPI, Servers, Scripts, Visual, Performance to the new
profiler system.

Port SceneDebugger and RemoteDebugger to the new capture system.
The LocalDebugger also uses the new profiler system for scripts
profiling.
2020-03-08 12:36:39 +01:00
fhuya
f097defba1 Re-architecture of the Godot Android plugin. 2020-03-05 10:00:19 -08:00
clayjohn
3e299aa225 Basic fast filtering implementation 2020-02-27 22:30:34 -08:00
Hugo Locurcio
b89a37269b
Improve documentation related to fixed physics processing 2020-02-27 22:23:46 +01:00
Rémi Verschelde
49fec646cb Fix compilation warnings and re-enable werror=yes on Travis
Fix -Wunused-variable, -Wunused-but-set-variable and -Wswitch warnings
raised by GCC 8 and 9.

Fix -Wunused-function, -Wunused-private-field and
-Wtautological-constant-out-of-range-compare raised by Clang.

Fix MSVC 2019 warning C4804 (unsafe use of type 'bool' in comparison
operation).

GCC -Wcpp warnings/Clang -W#warnings (`#warning`) are no longer raising
errors and will thus not abort compilation with `werror=yes`.

Treat glslang headers are system headers to avoid raising warnings.

Re-enables us to build with `werror=yes` on Linux and macOS, thus
catching warnings that would be introduced by new code.

Fixes #36132.
2020-02-18 20:51:25 +01:00
Rémi Verschelde
213a85521d doc: Sync classref with current source
Handle removal of Pool*Array types and other recent changes.
2020-02-18 14:02:02 +01:00
Rémi Verschelde
2f6ca917f7
Merge pull request #36174 from akien-mga/byebye-openghell-3
Remove obsolete GLES3 backend
2020-02-13 11:24:15 +01:00
Rémi Verschelde
386968ea97 Remove obsolete GLES3 backend
Due to the port to Vulkan and complete redesign of the rendering backend,
the `drivers/gles3` code is no longer usable in this state and is not
planned to be ported to the new architecture.

The GLES2 backend is kept (while still disabled and non-working) as it
will eventually be ported to serve as the low-end renderer for Godot 4.0.

Some GLES3 features might be selectively ported to the updated GLES2
backend if there's a need for them, and extensions we can use for that.

So long, OpenGL driver bugs!
2020-02-13 10:36:44 +01:00
Rémi Verschelde
1f39a2d3e6 Remove deprecated sync and slave networking keywords
Those keywords were deprecated for 3.1 in #22087.

Also fix token name for `TK_REMOTE`, should be "remote" like the keyword.
2020-02-13 08:59:36 +01:00
Rémi Verschelde
0e3d625737 doc: Sync classref with current source
Lots of internal API changes and some docstrings were lost in the conversion.
I manually salvaged many of them but for all the rendering-related ones, an
additional pass is needed.

Added missing enum bindings in BaseMaterial3D and VisualServer.
2020-02-12 12:37:13 +01:00
clayjohn
57e27683ba Update docs to version 4.0 2020-01-31 17:15:41 -08:00
Rémi Verschelde
2d20fc39aa doc: Drop unused 'category' property from header
We already removed it from the online docs with #35132.

Currently it can only be "Built-In Types" (Variant types) or "Core"
(everything else), which is of limited use.

We might also want to consider dropping it from `ClassDB` altogether
in Godot 4.0.
2020-01-26 16:02:39 +01:00
Rémi Verschelde
3697ea799c doc: Document all remaining ProjectSettings 2020-01-26 13:37:21 +01:00
clayjohn
eb5cb5d016 Add project setting for max irradiance size 2020-01-25 13:27:13 -08:00
Hugo Locurcio
1b9b07e658
Document how to change the default gravity at runtime
Changing the default gravity at runtime isn't exactly obvious,
so it makes sense to add a code sample.
2020-01-25 16:28:28 +01:00
clayjohn
6b66957b85 Finish documenting CSG* and *probes 2020-01-23 13:54:17 +01:00
Bojidar Marinov
b4770c0a27
Add settings from SceneTree in the documentation
Fixes #35439
2020-01-22 22:37:56 +02:00
Bojidar Marinov
387ee7d763
Get real default values for project settings in documentation
Also, ignore custom project settings and values for input/ entries

Fixes #34154
2020-01-22 15:57:10 +02:00
Rémi Verschelde
ab97f78fa5 Revert "Enable Vsync via Compositor by default"
This reverts commit 9600fd5dde.

Add comment warning about possible implications of using this option.

Fixes #35038.
2020-01-13 09:33:27 +01:00
Rémi Verschelde
7f9bf5472c doc: Sync classref with current source 2020-01-12 14:30:21 +01:00
Hugo Locurcio
9600fd5dde
Enable Vsync via Compositor by default
This feature was added in #33414 but it was disabled by default.
Now that it got some testing, it's probably safe to enable it
by default.
2020-01-09 22:22:11 +01:00
Rémi Verschelde
c64c46db1d doc: Sync classref with current source 2019-12-17 11:43:07 +01:00
Rémi Verschelde
cf3a863fa9
Merge pull request #34229 from NoFr1ends/fix-home-indicator-ios
Allow to change the home indicator behaviour on iOS
2019-12-13 14:00:14 +01:00
Jonas Bernemann
4d61118f64 Add project setting to hide home indicator on iOS
On iOS devices without a physical home button iOS
shows a home indicator instead. This is often in the
way of the UI or the game.
Added a project setting to disable hidden home indicator.
The default value is to hide the home indicator
2019-12-13 11:00:18 +01:00
Rémi Verschelde
37d164e24e CharFXTransform: Drop unnecessary get_value_or()
See https://github.com/godotengine/godot/pull/23658#issuecomment-562706669
The method was implemented back when Dictionary.get(key, default) did not
exist, but now that it does we do not need a custom method in CharFXTransform.

It's a new feature in 3.2, so does not break compat with 3.1.x.
2019-12-12 07:47:08 +01:00
Rémi Verschelde
4eff13d768 doc: Markup fixes for enums and constants 2019-12-06 23:09:20 +01:00
TerminalJack
e1dda5195c Added support for vertical syncing via the Windows OS compositor (DWM.) 2019-12-04 11:14:21 +01:00
Rémi Verschelde
9d4e596c69 doc: Sync classref with current source
Fix incomplete binding.
2019-11-08 16:00:01 +01:00
Hugo Locurcio
8ca0f1a71c
Remove unused editor/active project setting
This closes #33322.
2019-11-04 14:35:46 +01:00
conankzhang
e72d6cf54a Add descriptions to set_initial_value and set_setting. 2019-10-30 23:39:24 -07:00
Hugo Locurcio
a57c265266
Document override.cfg behavior in the ProjectSettings class 2019-10-25 21:54:38 +02:00
homer666
0c75cac7de Fix silly mistake in ProjectSettings docs 2019-10-05 05:13:15 +10:00
homer666
3ba3cd7b61 Improve ProjectSettings window docs 2019-10-04 06:09:45 +10:00
Max Hunt
2a642e1e6d Improve documentation of ProjectSettings class 2019-09-27 07:32:35 +01:00
Rémi Verschelde
28fcc5e25a
Merge pull request #32291 from Dragoncraft89/add_load_resource_flag
Add flag to control the replacement of files by ProjectSettings.load_resource_pack
2019-09-25 16:30:01 +02:00
Florian Kothmeier
aae25abf30
Add flag to control the replacement of files by ProjectSettings.load_resource_pack 2019-09-25 15:29:59 +02:00
Rémi Verschelde
0bcc2c2f5f
Merge pull request #31976 from Calinou/doc-improve-shadow-atlas-sizes
Improve documentation pertaining to shadow atlas sizes
2019-09-24 11:06:05 +02:00