Skip to content

Commit 42fac8b

Browse files
authored
Merge pull request #90 from Spartan322/merge/da1ef85
Merge commit godotengine/godot-docs@da1ef85
2 parents a61e2aa + c9aae51 commit 42fac8b

File tree

217 files changed

+9747
-1274
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

217 files changed

+9747
-1274
lines changed

.github/ISSUE_TEMPLATE/bug_report.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
name: Bug report
33
about: Report incorrect or outdated documentation
44
title: ''
5-
labels: bug
5+
labels: ''
66
assignees: ''
77
---
88

.github/ISSUE_TEMPLATE/enhancement_request.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
name: Enhancement request
33
about: Suggest new documentation or improving existing documentation
44
title: ''
5-
labels: enhancement
5+
labels: ''
66
assignees: ''
77
---
88

.github/workflows/ci.yml

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -15,19 +15,11 @@ jobs:
1515
- name: Checkout
1616
uses: actions/checkout@v4
1717

18-
- name: Install dependencies
19-
run: |
20-
# Install tools used by `_tools/format.sh`.
21-
sudo apt-get -qq update
22-
sudo apt-get -qq install dos2unix recode
23-
sudo pip3 install -r requirements.txt
24-
sudo pip3 install codespell
18+
- name: Style checks via pre-commit
19+
uses: pre-commit/action@v3.0.1
2520

26-
- name: Linter checks
27-
run: |
28-
bash _tools/format.sh
29-
30-
codespell -D- -D _tools/codespell-dict.txt -I _tools/codespell-ignore.txt -x _tools/codespell-ignore-lines.txt -S tutorials/i18n/locales.rst {about,community,contributing,getting_started,tutorials}/{*.rst,**/*.rst,**/**/*.rst,**/**/**/*.rst}
21+
- name: Install dependencies
22+
run: sudo pip3 install -r requirements.txt
3123

3224
- name: Migrate to Redot
3325
run: |

.pre-commit-config.yaml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
default_language_version:
2+
python: python3
3+
4+
repos:
5+
- repo: https://github.com/codespell-project/codespell
6+
rev: v2.3.0
7+
hooks:
8+
- id: codespell
9+
files: ^(about|community|contributing|getting_started|tutorials)/.*\.rst$
10+
additional_dependencies: [tomli]
11+
12+
- repo: https://github.com/pre-commit/pre-commit-hooks
13+
rev: v5.0.0
14+
hooks:
15+
- id: fix-byte-order-marker
16+
- id: mixed-line-ending
17+
args: ['--fix=lf']

_static/css/custom.css

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -398,6 +398,7 @@ a.btn:hover {
398398

399399
/* Style self-links to make them appear only on hover. */
400400
.classref-method > a[href*="-method-"].reference,
401+
.classref-method > a[href*="-func-"].reference,
401402
.classref-property > a[href*="-property-"].reference,
402403
.classref-signal > a[href*="-signal-"].reference,
403404
.classref-annotation > a[href*="-annotation-"].reference,
@@ -412,6 +413,7 @@ a.btn:hover {
412413
padding-right: 20px;
413414
}
414415
.classref-method:hover > a[href*="-method-"].reference,
416+
.classref-method:hover > a[href*="-func-"].reference,
415417
.classref-property:hover > a[href*="-property-"].reference,
416418
.classref-signal:hover > a[href*="-signal-"].reference,
417419
.classref-annotation:hover > a[href*="-annotation-"].reference,
@@ -810,6 +812,31 @@ html.writer-html5 .rst-content table.docutils th {
810812
.wy-table-responsive table.wrap-normal th {
811813
white-space: normal;
812814
}
815+
/* Turn nowrap on per-column */
816+
.wy-table-responsive table.nowrap-col1 td:nth-child(1),
817+
.wy-table-responsive table.nowrap-col1 th:nth-child(1) {
818+
white-space: nowrap;
819+
}
820+
.wy-table-responsive table.nowrap-col2 td:nth-child(2),
821+
.wy-table-responsive table.nowrap-col2 th:nth-child(2) {
822+
white-space: nowrap;
823+
}
824+
.wy-table-responsive table.nowrap-col3 td:nth-child(3),
825+
.wy-table-responsive table.nowrap-col3 th:nth-child(3) {
826+
white-space: nowrap;
827+
}
828+
.wy-table-responsive table.nowrap-col4 td:nth-child(4),
829+
.wy-table-responsive table.nowrap-col4 th:nth-child(4) {
830+
white-space: nowrap;
831+
}
832+
.wy-table-responsive table.nowrap-col5 td:nth-child(5),
833+
.wy-table-responsive table.nowrap-col5 th:nth-child(5) {
834+
white-space: nowrap;
835+
}
836+
.wy-table-responsive table.nowrap-col6 td:nth-child(6),
837+
.wy-table-responsive table.nowrap-col6 th:nth-child(6) {
838+
white-space: nowrap;
839+
}
813840

814841
/* Make sure line blocks don't stretch tables */
815842
.wy-table-responsive table .line-block {
@@ -1136,6 +1163,7 @@ kbd.compound > .kbd,
11361163
.classref-descriptions-group > p.classref-annotation,
11371164
.classref-descriptions-group > p.classref-themeproperty,
11381165
.classref-descriptions-group > p.classref-method,
1166+
.classref-descriptions-group > div.classref-method.line-block,
11391167
.classref-descriptions-group > p.classref-constructor,
11401168
.classref-descriptions-group > p.classref-operator,
11411169
.classref-descriptions-group > p.classref-constant,

_templates/layout.html

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -34,23 +34,15 @@
3434
</div>
3535
{% endif %}
3636

37-
{% if godot_show_article_status and not godot_is_latest %}
38-
<div class="admonition tip article-status">
39-
{% if meta and meta.get('article_outdated') == 'True' %}
37+
{% if godot_show_article_status and not godot_is_latest and meta and meta.get('article_outdated') == 'True' %}
38+
<div class="admonition attention article-status">
4039
<p class="first admonition-title">Work in progress</p>
4140
<p>
4241
The content of this page was not yet updated for Godot
4342
<code class="docutils literal notranslate">{{ godot_version }}</code>
4443
and may be <strong>outdated</strong>. If you know how to improve this page or you can confirm
4544
that it's up to date, feel free to <a href="https://github.com/godotengine/godot-docs">open a pull request</a>.
4645
</p>
47-
{% else %}
48-
<p class="first admonition-title">Up to date</p>
49-
<p>
50-
This page is <strong>up to date</strong> for Godot <code class="docutils literal notranslate">{{ godot_version }}</code>.
51-
If you still find outdated information, please <a href="https://github.com/godotengine/godot-docs">open an issue</a>.
52-
</p>
53-
{% endif %}
5446
</div>
5547
{% endif %}
5648
</div>

_tools/format.sh

Lines changed: 0 additions & 42 deletions
This file was deleted.

about/docs_changelog.rst

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,21 @@ added since version 3.0.
1616
New pages since version 4.3
1717
---------------------------
1818

19+
2D
20+
^^
21+
22+
- :ref:`doc_introduction_to_2d`
23+
1924
3D
2025
^^
2126

2227
- :ref:`doc_spring_arm`
2328

29+
Debug
30+
^^^^^
31+
32+
- :ref:`doc_output_panel`
33+
2434
Editor
2535
^^^^^^
2636

@@ -31,11 +41,26 @@ Performance
3141

3242
- :ref:`doc_pipeline_compilations`
3343

44+
Physics
45+
^^^^^^^
46+
47+
- :ref:`doc_physics_interpolation`
48+
- :ref:`doc_physics_interpolation_quick_start_guide`
49+
- :ref:`doc_physics_interpolation_introduction`
50+
- :ref:`doc_using_physics_interpolation`
51+
- :ref:`doc_advanced_physics_interpolation`
52+
- :ref:`doc_2d_and_3d_physics_interpolation`
53+
3454
Rendering
3555
^^^^^^^^^
3656

3757
- :ref:`doc_renderers`
3858

59+
Shaders
60+
^^^^^^^
61+
62+
- :ref:`doc_shader_functions`
63+
3964
New pages since version 4.2
4065
---------------------------
4166

about/faq.rst

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,38 @@ The main reasons for creating a custom scripting language for Godot were:
167167

168168
GDScript was designed to curtail the issues above, and more.
169169

170+
.. _doc_faq_which_programming_language_is_fastest:
171+
172+
Which programming language is fastest?
173+
--------------------------------------
174+
175+
In most games, the *scripting language* itself is not the cause of performance
176+
problems. Instead, performance is slowed by inefficient algorithms (which are
177+
slow in all languages), by GPU performance, or by the common C++ engine code
178+
like physics or navigation. All languages supported by Godot are fast enough for
179+
general-purpose scripting. You should choose a language based on other factors,
180+
like ease-of-use, familiarity, platform support, or language features.
181+
182+
In general, the performance of C# and GDScript is within the same order of
183+
magnitude, and C++ is faster than both.
184+
185+
Comparing GDScript performance to C# is tricky, since C# can be faster in some
186+
specific cases. The C# *language* itself tends to be faster than GDScript, which
187+
means that C# can be faster in situations with few calls to Godot engine code.
188+
However, C# can be slower than GDScript when making many Godot API calls, due
189+
to the cost of *marshalling*. C#'s performance can also be brought down by garbage
190+
collection which occurs at random and unpredictable moments. This can result in
191+
stuttering issues in complex projects, and is not exclusive to Godot.
192+
193+
C++, using :ref:`GDExtension <doc_what_is_gdextension>`, will almost always be
194+
faster than either C# or GDScript. However, C++ is less easy to use than C# or
195+
GDScript, and is slower to develop with.
196+
197+
You can also use multiple languages within a single project, with
198+
:ref:`cross-language scripting <doc_cross_language_scripting>`, or by using
199+
GDExtension and scripting languages together. Be aware that doing so comes with
200+
its own complications.
201+
170202
What 3D model formats does Godot support?
171203
-----------------------------------------
172204

@@ -290,7 +322,7 @@ While Vulkan and OpenGL remain our primary focus for their open standard and
290322
cross-platform benefits, Godot 4.3 introduced experimental support for Direct3D 12.
291323
This addition aims to enhance performance and compatibility on platforms where
292324
Direct3D 12 is prevalent, such as Windows and Xbox. However, Vulkan and OpenGL
293-
will continue as the default rendering backends on all platforms, including Windows.
325+
will continue as the default rendering drivers on all platforms, including Windows.
294326

295327
Why does Godot aim to keep its core feature set small?
296328
------------------------------------------------------

about/list_of_features.rst

Lines changed: 25 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -95,17 +95,18 @@ Editor
9595
Rendering
9696
---------
9797

98-
3 rendering *methods* (running over 2 rendering *drivers*) are available:
99-
100-
- **Forward+**, running over Vulkan 1.0 (with optional Vulkan 1.1 and 1.2
101-
features). The most advanced graphics backend, suited for desktop platforms
102-
only. Used by default on desktop platforms.
103-
- **Forward Mobile**, running over Vulkan 1.0 (with optional Vulkan 1.1 and 1.2
104-
features). Less features, but renders simple scenes faster. Suited for mobile
105-
and desktop platforms. Used by default on mobile platforms.
106-
- **Compatibility**, running over OpenGL 3.3 / OpenGL ES 3.0 / WebGL 2.0. The least
107-
advanced graphics backend, suited for low-end desktop and mobile platforms.
108-
Used by default on the web platform.
98+
Godot 4 includes three renderers:
99+
100+
- **Forward+**. The most advanced renderer, suited for desktop platforms only.
101+
Used by default on desktop platforms. This renderer uses **Vulkan**, **Direct3D 12**,
102+
or **Metal** as the rendering driver, and it uses the **RenderingDevice** backend.
103+
- **Mobile**. Fewer features, but renders simple scenes faster. Suited for mobile
104+
and desktop platforms. Used by default on mobile platforms. This renderer uses
105+
**Vulkan**, **Direct3D 12**, or **Metal** as the rendering driver, and it uses
106+
the **RenderingDevice** backend.
107+
- **Compatibility**, sometimes called **GL Compatibility**. The least advanced
108+
renderer, suited for low-end desktop and mobile platforms. Used by default on
109+
the web platform. This renderer uses **OpenGL** as the rendering driver.
109110

110111
See :ref:`doc_renderers` for a detailed comparison of the rendering methods.
111112

@@ -188,9 +189,9 @@ See :ref:`doc_renderers` for a detailed comparison of the rendering methods.
188189

189190
- HDR rendering with sRGB.
190191
- Perspective, orthographic and frustum-offset cameras.
191-
- When using the Forward+ backend, a depth prepass is used to improve
192+
- When using the Forward+ renderer, a depth prepass is used to improve
192193
performance in complex scenes by reducing the cost of overdraw.
193-
- :ref:`doc_variable_rate_shading` on supported GPUs in Forward+ and Forward Mobile.
194+
- :ref:`doc_variable_rate_shading` on supported GPUs in Forward+ and Mobile.
194195

195196
**Physically-based rendering (built-in material features):**
196197

@@ -217,10 +218,10 @@ See :ref:`doc_renderers` for a detailed comparison of the rendering methods.
217218
- Specular, indirect light, and volumetric fog energy can be adjusted on a per-light basis.
218219
- Adjustable light "size" for fake area lights (will also make shadows blurrier).
219220
- Optional distance fade system to fade distant lights and their shadows, improving performance.
220-
- When using the Forward+ backend (default on desktop), lights are
221+
- When using the Forward+ renderer (default on desktop), lights are
221222
rendered with clustered forward optimizations to decrease their individual cost.
222223
Clustered rendering also lifts any limits on the number of lights that can be used on a mesh.
223-
- When using the Forward Mobile backend, up to 8 omni lights and 8 spot lights can
224+
- When using the Mobile renderer, up to 8 omni lights and 8 spot lights can
224225
be displayed per mesh resource. Baked lighting can be used to overcome this limit
225226
if needed.
226227

@@ -276,10 +277,10 @@ See :ref:`doc_renderers` for a detailed comparison of the rendering methods.
276277
Parallax box correction can optionally be enabled.
277278
- Screen-space reflections with support for material roughness.
278279
- Reflection techniques can be mixed together for greater accuracy or scalability.
279-
- When using the Forward+ backend (default on desktop), reflection probes are
280+
- When using the Forward+ renderer (default on desktop), reflection probes are
280281
rendered with clustered forward optimizations to decrease their individual cost.
281282
Clustered rendering also lifts any limits on the number of reflection probes that can be used on a mesh.
282-
- When using the Forward Mobile backend, up to 8 reflection probes can be displayed per mesh
283+
- When using the Mobile renderer, up to 8 reflection probes can be displayed per mesh
283284
resource. When using the Compatibility renderer, up to 2 reflection probes can
284285
be displayed per mesh resource.
285286

@@ -294,10 +295,10 @@ See :ref:`doc_renderers` for a detailed comparison of the rendering methods.
294295
complex skinned meshes with no performance penalty, even if the decal moves every frame.
295296
- Support for nearest, bilinear, trilinear or anisotropic texture filtering (configured globally).
296297
- Optional distance fade system to fade distant decals, improving performance.
297-
- When using the Forward+ backend (default on desktop), decals are
298+
- When using the Forward+ renderer (default on desktop), decals are
298299
rendered with clustered forward optimizations to decrease their individual cost.
299300
Clustered rendering also lifts any limits on the number of decals that can be used on a mesh.
300-
- When using the Forward Mobile backend, up to 8 decals can be displayed per mesh
301+
- When using the Mobile renderer, up to 8 decals can be displayed per mesh
301302
resource.
302303

303304
**Sky:**
@@ -462,14 +463,12 @@ Scripting
462463
:ref:`C#: <toc-learn-scripting-C#>`
463464

464465
- Packaged in a separate binary to keep file sizes and dependencies down.
465-
- Supports .NET 6 and higher.
466+
- Supports .NET 8 and higher.
466467

467-
- Full support for the C# 10.0 syntax and features.
468+
- Full support for the C# 12.0 syntax and features.
468469

469-
- Supports Windows, Linux, and macOS. As of 4.2 experimental support for Android
470-
and iOS is also available (requires a .NET 7.0 project for Android and 8.0 for iOS).
470+
- Supports Windows, Linux, and macOS. Since Godot 4.2, experimental support for Android and iOS is also available.
471471

472-
- On the Android platform only some architectures are supported: ``arm64`` and ``x64``.
473472
- On the iOS platform only some architectures are supported: ``arm64``.
474473
- The web platform is currently unsupported. To use C# on that platform,
475474
consider Godot 3 instead.
@@ -489,7 +488,7 @@ Scripting
489488
- Use any build system and language features you wish.
490489

491490
- Actively developed GDExtension bindings for `D <https://github.com/godot-dlang/godot-dlang>`__,
492-
`Haxe <https://hxgodot.github.io/>`__, `Swift <https://github.com/migueldeicaza/SwiftGodot>`__, and `Rust <https://github.com/godot-rust/gdextension>`__
491+
`Swift <https://github.com/migueldeicaza/SwiftGodot>`__, and `Rust <https://github.com/godot-rust/gdextension>`__
493492
bindings provided by the community. (Some of these bindings may be experimental and not production-ready).
494493

495494
Audio
@@ -653,7 +652,7 @@ XR support (AR and VR)
653652

654653
- Including support for popular desktop headsets like the Valve Index, WMR headsets, and Quest over Link.
655654

656-
- Support for :ref:`Android based headsets <doc_deploying_to_android>` using OpenXR through a plugin.
655+
- Support for :ref:`Android-based headsets <doc_deploying_to_android>` using OpenXR through a plugin.
657656

658657
- Including support for popular stand alone headsets like the Meta Quest 1/2/3 and Pro, Pico 4, Magic Leap 2, and Lynx R1.
659658

0 commit comments

Comments
 (0)