mirror of
https://github.com/godotengine/godot-docs.git
synced 2026-01-04 14:11:02 +03:00
Remove references to removed GLES2 backend
- Update FAQ to remove issues resolved in 4.0, and add more advice on resolving VRR flicker issues.
This commit is contained in:
@@ -9,20 +9,9 @@ This page lists common issues encountered when using Godot and possible solution
|
|||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
|
|
||||||
See :ref:`doc_using_the_web_editor` for caveats specific to the HTML5 version
|
See :ref:`doc_using_the_web_editor` for caveats specific to the Web version
|
||||||
of the Godot editor.
|
of the Godot editor.
|
||||||
|
|
||||||
Everything I do in the editor or project manager appears delayed by one frame
|
|
||||||
-----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
This is a `known bug <https://github.com/godotengine/godot/issues/23069>`__ on
|
|
||||||
Intel graphics drivers on Windows. Updating to the latest graphics driver
|
|
||||||
version *provided by Intel* should fix the issue.
|
|
||||||
|
|
||||||
You should use the graphics driver provided by Intel rather than the one
|
|
||||||
provided by your desktop or laptop's manufacturer because their version is often
|
|
||||||
outdated.
|
|
||||||
|
|
||||||
The editor runs slowly and uses all my CPU and GPU resources, making my computer noisy
|
The editor runs slowly and uses all my CPU and GPU resources, making my computer noisy
|
||||||
--------------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------------
|
||||||
|
|
||||||
@@ -49,7 +38,12 @@ The editor stutters and flickers on my variable refresh rate monitor (G-Sync/Fre
|
|||||||
--------------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------------
|
||||||
|
|
||||||
This is a `known issue <https://github.com/godotengine/godot/issues/38219>`__.
|
This is a `known issue <https://github.com/godotengine/godot/issues/38219>`__.
|
||||||
There are two workarounds for this:
|
Variable refresh rate monitors need to adjust their gamma curves continuously to
|
||||||
|
emit a consistent amount of light over time. This can cause flicker to appear in
|
||||||
|
dark areas of the image when the refresh rate varies a lot, which occurs as
|
||||||
|
the Godot editor only redraws when necessary.
|
||||||
|
|
||||||
|
There are several workarounds for this:
|
||||||
|
|
||||||
- Enable **Interface > Editor > Update Continuously** in the Editor Settings. Keep in mind
|
- Enable **Interface > Editor > Update Continuously** in the Editor Settings. Keep in mind
|
||||||
this will increase power usage and heat/noise emissions since the editor will
|
this will increase power usage and heat/noise emissions since the editor will
|
||||||
@@ -59,36 +53,29 @@ There are two workarounds for this:
|
|||||||
*microseconds* between frames to render. Higher values will make the editor
|
*microseconds* between frames to render. Higher values will make the editor
|
||||||
feel less reactive but will help decrease CPU and GPU usage significantly.
|
feel less reactive but will help decrease CPU and GPU usage significantly.
|
||||||
- Alternatively, disable variable refresh rate on your monitor or in the graphics driver.
|
- Alternatively, disable variable refresh rate on your monitor or in the graphics driver.
|
||||||
|
- VRR flicker can be reduced on some displays using the **VRR Control** or
|
||||||
The grid disappears and meshes turn black when I rotate the 3D camera in the editor
|
**Fine Tune Dark Areas** options in your monitor's OSD. These options may
|
||||||
-----------------------------------------------------------------------------------
|
increase input lag or result in crushed blacks.
|
||||||
|
- If using an OLED display, use the **Black (OLED)** editor theme preset in the
|
||||||
This is a `known bug <https://github.com/godotengine/godot/issues/30330>`__ on
|
Editor Settings. This hides VRR flicker thanks to OLED's perfect black levels.
|
||||||
Intel graphics drivers on Windows.
|
|
||||||
|
|
||||||
The only workaround, for now, is to switch to the GLES2 renderer. You can switch
|
|
||||||
the renderer in the top-right corner of the editor or the Project Settings.
|
|
||||||
|
|
||||||
If you use a computer allowing you to switch your graphics card, like NVIDIA
|
|
||||||
Optimus, you can use the dedicated graphics card to run Godot.
|
|
||||||
|
|
||||||
The editor or project takes a very long time to start
|
The editor or project takes a very long time to start
|
||||||
-----------------------------------------------------
|
-----------------------------------------------------
|
||||||
|
|
||||||
This is a `known bug <https://github.com/godotengine/godot/issues/20566>`__ on
|
When using one of the the Vulkan-based renderers (Forward+ or Forward Mobile),
|
||||||
|
the first startup is expected to be relatively long. This is because shaders
|
||||||
|
need to be compiled before they can be cached. Shaders also need to be cached
|
||||||
|
again after updating Godot, after updating graphics drivers or after switching
|
||||||
|
graphics cards.
|
||||||
|
|
||||||
|
If the issue persists after the first startup, this is a
|
||||||
|
`known bug <https://github.com/godotengine/godot/issues/20566>`__ on
|
||||||
Windows when you have specific USB peripherals connected. In particular,
|
Windows when you have specific USB peripherals connected. In particular,
|
||||||
Corsair's iCUE software seems to cause this bug. Try updating your USB
|
Corsair's iCUE software seems to cause this bug. Try updating your USB
|
||||||
peripherals' drivers to their latest version. If the bug persists, you need to
|
peripherals' drivers to their latest version. If the bug persists, you need to
|
||||||
disconnect the specific peripheral before opening the editor. You can then
|
disconnect the specific peripheral before opening the editor. You can then
|
||||||
connect the peripheral again.
|
connect the peripheral again.
|
||||||
|
|
||||||
Editor tooltips in the Inspector and Node docks blink when they're displayed
|
|
||||||
----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
This is a `known issue <https://github.com/godotengine/godot/issues/32990>`__
|
|
||||||
caused by the third-party Stardock Fences application on Windows.
|
|
||||||
The only known workaround is to disable Stardock Fences while using Godot.
|
|
||||||
|
|
||||||
The Godot editor appears frozen after clicking the system console
|
The Godot editor appears frozen after clicking the system console
|
||||||
-----------------------------------------------------------------
|
-----------------------------------------------------------------
|
||||||
|
|
||||||
@@ -111,18 +98,6 @@ default values in the NVIDIA Control Panel.
|
|||||||
To disable this overlay on Linux, open ``nvidia-settings``, go to **X Screen 0 >
|
To disable this overlay on Linux, open ``nvidia-settings``, go to **X Screen 0 >
|
||||||
OpenGL Settings** then uncheck **Enable Graphics API Visual Indicator**.
|
OpenGL Settings** then uncheck **Enable Graphics API Visual Indicator**.
|
||||||
|
|
||||||
The project window appears blurry, unlike the editor
|
|
||||||
----------------------------------------------------
|
|
||||||
|
|
||||||
Unlike the editor, the project isn't marked as DPI-aware by default. This is
|
|
||||||
done to improve performance, especially on integrated graphics, where rendering
|
|
||||||
3D scenes in hiDPI is slow.
|
|
||||||
|
|
||||||
To resolve this, open **Project > Project Settings**, make sure **Advanced
|
|
||||||
Settings** is active, and enable **Display >
|
|
||||||
Window > DPI > Allow hiDPI**. On top of that, make sure your project is
|
|
||||||
configured to support :ref:`multiple resolutions <doc_multiple_resolutions>`.
|
|
||||||
|
|
||||||
The project window doesn't appear centered when I run the project
|
The project window doesn't appear centered when I run the project
|
||||||
-----------------------------------------------------------------
|
-----------------------------------------------------------------
|
||||||
|
|
||||||
|
|||||||
@@ -21,16 +21,20 @@ parameters and then adding randomness to them.
|
|||||||
Particle nodes
|
Particle nodes
|
||||||
~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~
|
||||||
|
|
||||||
Godot provides two different nodes for 2D particles, :ref:`class_GPUParticles2D` and
|
Godot provides two different nodes for 2D particles, :ref:`class_GPUParticles2D`
|
||||||
:ref:`class_CPUParticles2D`.
|
and :ref:`class_CPUParticles2D`. GPUParticles2D is more advanced and uses the
|
||||||
GPUParticles2D is more advanced and uses the GPU to process particle effects, but that limits
|
GPU to process particle effects. CPUParticles2D is a CPU-driven option with
|
||||||
it to higher end graphics API, and in our case to the GLES3 renderer. For projects using
|
near-feature parity with GPUParticles2D, but lower performance when using large
|
||||||
the GLES2 backend, CPUParticles2D is a CPU-driven option with near feature parity with
|
amounts of particles. On the other hand, CPUParticles2D may perform better on
|
||||||
GPUParticles2D, but lesser performance. While GPUParticles2D is configured via a
|
low-end systems or in GPU-bottlenecked situations.
|
||||||
:ref:`class_ParticleProcessMaterial` (and optionally with a custom shader), the matching options
|
|
||||||
are provided via node properties in CPUParticles2D (with the exception of the trail settings).
|
While GPUParticles2D is configured via a :ref:`class_ParticleProcessMaterial`
|
||||||
You can convert a GPUParticles2D node into a CPUParticles2D node by clicking on the node in the
|
(and optionally with a custom shader), the matching options are provided via
|
||||||
inspector, and selecting "Convert to CPUParticles2D" in the "Particles" menu of the toolbar.
|
node properties in CPUParticles2D (with the exception of the trail settings).
|
||||||
|
|
||||||
|
You can convert a GPUParticles2D node into a CPUParticles2D node by clicking on
|
||||||
|
the node in the inspector, and selecting **Particles > Convert to
|
||||||
|
CPUParticles2D** in the toolbar at the top of the 3D editor viewport.
|
||||||
|
|
||||||
.. image:: img/particles_convert.png
|
.. image:: img/particles_convert.png
|
||||||
|
|
||||||
|
|||||||
@@ -33,23 +33,28 @@ without affecting the source file.
|
|||||||
Color banding
|
Color banding
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
When using the GLES3 or Vulkan renderers, Godot's 3D engine renders internally
|
When using the Forward+ or Forward Mobile rendering methods, Godot's 3D engine
|
||||||
in HDR. However, the rendering output will be tonemapped to a low dynamic range
|
renders internally in HDR. However, the rendering output will be tonemapped to a
|
||||||
so it can be displayed on the screen. This can result in visible banding,
|
low dynamic range so it can be displayed on the screen. This can result in
|
||||||
especially when using untextured materials. This can also be seen in 2D projects
|
visible banding, especially when using untextured materials. For performance
|
||||||
when using smooth gradient textures.
|
reasons, color precision is also lower when using the Forward Mobile rendering
|
||||||
|
method compared to Forward+.
|
||||||
|
|
||||||
|
When using the Compatibility rendering method, HDR is not used and the color
|
||||||
|
precision is the lowest of all rendering methods. This also applies to 2D
|
||||||
|
rendering, where banding may be visible when using smooth gradient textures.
|
||||||
|
|
||||||
There are two main ways to alleviate banding:
|
There are two main ways to alleviate banding:
|
||||||
|
|
||||||
- Enable **Use Debanding** in the Project Settings. This applies a
|
- If using the Forward+ or Forward Mobile rendering methods, enable **Use
|
||||||
fullscreen debanding shader as a post-processing effect and is very cheap.
|
Debanding** in the advanced Project Settings. This applies a fullscreen debanding
|
||||||
Fullscreen debanding is only supported when using the GLES3 or Vulkan renderers.
|
shader as a post-processing effect and is very cheap.
|
||||||
It also requires HDR to be enabled in the Project Settings (which is the default).
|
- Alternatively, bake some noise into your textures. This is mainly effective in
|
||||||
- Alternatively, bake some noise into your textures. This is mainly effective in 2D,
|
2D, e.g. for vignetting effects. In 3D, you can also use a `custom debanding
|
||||||
e.g. for vignetting effects. In 3D, you can also use a
|
shader <https://github.com/fractilegames/godot-gles2-debanding-material>`__ to
|
||||||
`custom debanding shader <https://github.com/fractilegames/godot-gles2-debanding-material>`__
|
be applied on your *materials*. This technique works even if your project is
|
||||||
to be applied on your *materials*. This technique works even if your project is
|
rendered with low color precision, which means it will work when using the
|
||||||
rendered in LDR, which means it will work when using the GLES2 renderer.
|
Mobile and Compatibility rendering methods.
|
||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
|
|
||||||
|
|||||||
@@ -3,11 +3,6 @@
|
|||||||
2D skeletons
|
2D skeletons
|
||||||
============
|
============
|
||||||
|
|
||||||
.. warning::
|
|
||||||
|
|
||||||
There are known issues with 2D skeletons on mobile and web platforms with the GLES2 renderer. We
|
|
||||||
recommend using the GLES3 renderer if your project relies on Skeleton2D for now.
|
|
||||||
|
|
||||||
Introduction
|
Introduction
|
||||||
------------
|
------------
|
||||||
|
|
||||||
|
|||||||
@@ -30,8 +30,8 @@ proper threading support is added.
|
|||||||
|
|
||||||
**Mobile browsers are currently not supported.**
|
**Mobile browsers are currently not supported.**
|
||||||
|
|
||||||
The web editor supports both the GLES3 and GLES2 renderers, although GLES2 is
|
The web editor only supports the Compatibility rendering method, as there is no
|
||||||
recommended for better performance and compatibility with old/low-end hardware.
|
stable way to run Vulkan applications on the web yet.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
|
|||||||
@@ -39,20 +39,13 @@ in the user's browser.
|
|||||||
WebGL version
|
WebGL version
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
Depending on your choice of renderer, Godot can target WebGL 1.0 (*GLES2*) or
|
Godot 4.0 and later can only target WebGL 2.0 (using the Compatibility rendering
|
||||||
WebGL 2.0 (*GLES3*).
|
method). There is no stable way to run Vulkan applications on the web yet.
|
||||||
|
|
||||||
WebGL 1.0 is the recommended option if you want your project to be supported
|
See `Can I use WebGL 2.0 <https://caniuse.com/webgl2>`__ for a list of browser
|
||||||
on all browsers with the best performance.
|
versions supporting WebGL 2.0. Note that Safari has several issues with WebGL
|
||||||
|
2.0 support that other browsers don't have, so we recommend using a
|
||||||
Godot's GLES3 renderer targets high end devices, and the performance using
|
Chromium-based browser or Firefox if possible.
|
||||||
WebGL 2.0 can be subpar. Some features are also not supported in WebGL 2.0
|
|
||||||
specifically.
|
|
||||||
|
|
||||||
Additionally, while most browsers support WebGL 2.0, this is not yet the case
|
|
||||||
for **Safari**. WebGL 2.0 support is coming in Safari 15 for macOS, and is not
|
|
||||||
available yet for any **iOS** browser (all WebKit-based like Safari).
|
|
||||||
See `Can I use WebGL 2.0 <https://caniuse.com/webgl2>`__ for details.
|
|
||||||
|
|
||||||
.. _doc_javascript_export_options:
|
.. _doc_javascript_export_options:
|
||||||
|
|
||||||
@@ -200,12 +193,6 @@ The default HTML page does not display the boot splash while loading. However,
|
|||||||
the image is exported as a PNG file, so :ref:`custom HTML pages <doc_customizing_html5_shell>`
|
the image is exported as a PNG file, so :ref:`custom HTML pages <doc_customizing_html5_shell>`
|
||||||
can display it.
|
can display it.
|
||||||
|
|
||||||
Shader language limitations
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
When exporting a GLES2 project to HTML5, WebGL 1.0 will be used. WebGL 1.0
|
|
||||||
doesn't support dynamic loops, so shaders using those won't work there.
|
|
||||||
|
|
||||||
Serving the files
|
Serving the files
|
||||||
-----------------
|
-----------------
|
||||||
|
|
||||||
|
|||||||
@@ -274,8 +274,8 @@ but attempting to port it to mobile at the last minute is a recipe for disaster.
|
|||||||
|
|
||||||
In general, you should design your game for the lowest common denominator, then
|
In general, you should design your game for the lowest common denominator, then
|
||||||
add optional enhancements for more powerful platforms. For example, you may want
|
add optional enhancements for more powerful platforms. For example, you may want
|
||||||
to use the GLES2 backend for both desktop and mobile platforms where you target
|
to use the Compatibility rendering method for both desktop and mobile platforms
|
||||||
both.
|
where you target both.
|
||||||
|
|
||||||
Mobile/tiled renderers
|
Mobile/tiled renderers
|
||||||
======================
|
======================
|
||||||
|
|||||||
@@ -229,7 +229,7 @@ to loop over all the instances and set their transform to a random position.
|
|||||||
Running this script will place the fish in random positions in a box around the position of the
|
Running this script will place the fish in random positions in a box around the position of the
|
||||||
MultiMeshInstance3D.
|
MultiMeshInstance3D.
|
||||||
|
|
||||||
.. note:: If performance is an issue for you, try running the scene with GLES2 or with fewer fish.
|
.. note:: If performance is an issue for you, try running the scene with fewer fish.
|
||||||
|
|
||||||
Notice how all the fish are all in the same position in their swim cycle? It makes them look very
|
Notice how all the fish are all in the same position in their swim cycle? It makes them look very
|
||||||
robotic. The next step is to give each fish a different position in the swim cycle so the entire
|
robotic. The next step is to give each fish a different position in the swim cycle so the entire
|
||||||
|
|||||||
@@ -13,9 +13,6 @@ To make each instance move in an interesting way, we will use a
|
|||||||
:ref:`GPUParticles3D <class_GPUParticles3D>` node. Particles take advantage of GPU acceleration
|
:ref:`GPUParticles3D <class_GPUParticles3D>` node. Particles take advantage of GPU acceleration
|
||||||
by computing and setting the per-instance information in a :ref:`Shader <class_Shader>`.
|
by computing and setting the per-instance information in a :ref:`Shader <class_Shader>`.
|
||||||
|
|
||||||
.. note:: Particles are not available in GLES2, instead use :ref:`CPUParticles3D <class_CPUParticles3D>`,
|
|
||||||
which do the same thing as Particles, but do not benefit from GPU acceleration.
|
|
||||||
|
|
||||||
First create a Particles node. Then, under "Draw Passes" set the Particle's "Draw Pass 1" to your
|
First create a Particles node. Then, under "Draw Passes" set the Particle's "Draw Pass 1" to your
|
||||||
:ref:`Mesh <class_Mesh>`. Then under "Process Material" create a new
|
:ref:`Mesh <class_Mesh>`. Then under "Process Material" create a new
|
||||||
:ref:`ShaderMaterial <class_ShaderMaterial>`.
|
:ref:`ShaderMaterial <class_ShaderMaterial>`.
|
||||||
|
|||||||
@@ -20,8 +20,15 @@ to the fragment shader for pixel-processing. Because of this, transform feedback
|
|||||||
shaders can build on themselves each run, unlike other shaders that discard the
|
shaders can build on themselves each run, unlike other shaders that discard the
|
||||||
data they have calculated once they draw to the frame buffer.
|
data they have calculated once they draw to the frame buffer.
|
||||||
|
|
||||||
.. note:: Particle shaders are only available in the GLES3 backend. If you need
|
.. note::
|
||||||
particles in GLES2, use :ref:`CPUParticles3D <class_CPUParticles3D>`.
|
|
||||||
|
Particle shaders are only available with GPU-based particle nodes
|
||||||
|
(:ref:`class_GPUParticles2D` and :ref:`class_GPUParticles3D`).
|
||||||
|
|
||||||
|
CPU-based particle nodes (:ref:`class_CPUParticles2D` and
|
||||||
|
:ref:`class_CPUParticles3D`) are *rendered* on the GPU (which means they can
|
||||||
|
use custom CanvasItem or Spatial shaders), but their motion is *simulated*
|
||||||
|
on the CPU.
|
||||||
|
|
||||||
Render modes
|
Render modes
|
||||||
^^^^^^^^^^^^
|
^^^^^^^^^^^^
|
||||||
|
|||||||
@@ -548,11 +548,6 @@ larger the epsilon value should be.
|
|||||||
See `floating-point-gui.de <https://floating-point-gui.de/>`__ for more
|
See `floating-point-gui.de <https://floating-point-gui.de/>`__ for more
|
||||||
information.
|
information.
|
||||||
|
|
||||||
.. warning::
|
|
||||||
|
|
||||||
When exporting a GLES2 project to HTML5, WebGL 1.0 will be used. WebGL 1.0
|
|
||||||
doesn't support dynamic loops, so shaders using those won't work there.
|
|
||||||
|
|
||||||
Discarding
|
Discarding
|
||||||
----------
|
----------
|
||||||
|
|
||||||
@@ -875,7 +870,7 @@ table of the corresponding types:
|
|||||||
+----------------------+-------------------------+------------------------------------------------------------+
|
+----------------------+-------------------------+------------------------------------------------------------+
|
||||||
| **samplerCubeArray** | **CubemapArray** | |
|
| **samplerCubeArray** | **CubemapArray** | |
|
||||||
+----------------------+-------------------------+------------------------------------------------------------+
|
+----------------------+-------------------------+------------------------------------------------------------+
|
||||||
|
|
||||||
.. note:: Be careful when setting shader uniforms from GDScript, no error will
|
.. note:: Be careful when setting shader uniforms from GDScript, no error will
|
||||||
be thrown if the type does not match. Your shader will just exhibit
|
be thrown if the type does not match. Your shader will just exhibit
|
||||||
undefined behavior.
|
undefined behavior.
|
||||||
|
|||||||
@@ -170,8 +170,9 @@ shader, this value can be used as desired.
|
|||||||
+----------------------------------------+--------------------------------------------------------+
|
+----------------------------------------+--------------------------------------------------------+
|
||||||
| in vec3 **CAMERA_DIRECTION_WORLD** | Camera world space direction. |
|
| in vec3 **CAMERA_DIRECTION_WORLD** | Camera world space direction. |
|
||||||
+----------------------------------------+--------------------------------------------------------+
|
+----------------------------------------+--------------------------------------------------------+
|
||||||
| in bool **OUTPUT_IS_SRGB** | ``true`` when calculations happen in sRGB color space |
|
| in bool **OUTPUT_IS_SRGB** | ``true`` when output is in sRGB color space |
|
||||||
| | (``true`` in GLES2, ``false`` in GLES3). |
|
| | (this is ``true`` in the Compatibility renderer, |
|
||||||
|
| | ``false`` in Forward+ and Forward Mobile). |
|
||||||
+----------------------------------------+--------------------------------------------------------+
|
+----------------------------------------+--------------------------------------------------------+
|
||||||
| in int **INSTANCE_ID** | Instance ID for instancing. |
|
| in int **INSTANCE_ID** | Instance ID for instancing. |
|
||||||
+----------------------------------------+--------------------------------------------------------+
|
+----------------------------------------+--------------------------------------------------------+
|
||||||
@@ -259,7 +260,8 @@ these properties, and if you don't write to them, Godot will optimize away the c
|
|||||||
+----------------------------------------+--------------------------------------------------------------------------------------------------+
|
+----------------------------------------+--------------------------------------------------------------------------------------------------+
|
||||||
| in vec2 **POINT_COORD** | Point Coordinate for drawing points with POINT_SIZE. |
|
| in vec2 **POINT_COORD** | Point Coordinate for drawing points with POINT_SIZE. |
|
||||||
+----------------------------------------+--------------------------------------------------------------------------------------------------+
|
+----------------------------------------+--------------------------------------------------------------------------------------------------+
|
||||||
| in bool **OUTPUT_IS_SRGB** | ``true`` when calculations happen in sRGB color space (``true`` in GLES2, ``false`` in GLES3). |
|
| in bool **OUTPUT_IS_SRGB** | ``true`` when output is in sRGB color space (this is ``true`` in the Compatibility renderer, |
|
||||||
|
| | ``false`` in Forward+ and Forward Mobile). |
|
||||||
+----------------------------------------+--------------------------------------------------------------------------------------------------+
|
+----------------------------------------+--------------------------------------------------------------------------------------------------+
|
||||||
| in mat4 **MODEL_MATRIX** | Model space to world space transform. |
|
| in mat4 **MODEL_MATRIX** | Model space to world space transform. |
|
||||||
+----------------------------------------+--------------------------------------------------------------------------------------------------+
|
+----------------------------------------+--------------------------------------------------------------------------------------------------+
|
||||||
@@ -442,8 +444,9 @@ If you want the lights to add together, add the light contribution to ``DIFFUSE_
|
|||||||
+-----------------------------------+----------------------------------------------------+
|
+-----------------------------------+----------------------------------------------------+
|
||||||
| in float **ROUGHNESS** | Roughness. |
|
| in float **ROUGHNESS** | Roughness. |
|
||||||
+-----------------------------------+----------------------------------------------------+
|
+-----------------------------------+----------------------------------------------------+
|
||||||
| in bool **OUTPUT_IS_SRGB** | ``true`` when calculations happen in sRGB color |
|
| in bool **OUTPUT_IS_SRGB** | ``true`` when output is in sRGB color space |
|
||||||
| | space (``true`` in GLES2, ``false`` in GLES3). |
|
| | (this is ``true`` in the Compatibility renderer, |
|
||||||
|
| | ``false`` in Forward+ and Forward Mobile). |
|
||||||
+-----------------------------------+----------------------------------------------------+
|
+-----------------------------------+----------------------------------------------------+
|
||||||
| out vec3 **DIFFUSE_LIGHT** | Diffuse light result. |
|
| out vec3 **DIFFUSE_LIGHT** | Diffuse light result. |
|
||||||
+-----------------------------------+----------------------------------------------------+
|
+-----------------------------------+----------------------------------------------------+
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ auto-formatting tools.
|
|||||||
Since the Godot shader language is close to C-style languages and GLSL, this
|
Since the Godot shader language is close to C-style languages and GLSL, this
|
||||||
guide is inspired by Godot's own GLSL formatting. You can view an example of a
|
guide is inspired by Godot's own GLSL formatting. You can view an example of a
|
||||||
GLSL file in Godot's source code
|
GLSL file in Godot's source code
|
||||||
`here <https://github.com/godotengine/godot/blob/master/drivers/gles2/shaders/copy.glsl>`__.
|
`here <https://github.com/godotengine/godot/blob/master/drivers/gles3/shaders/copy.glsl>`__.
|
||||||
|
|
||||||
Style guides aren't meant as hard rulebooks. At times, you may not be able to
|
Style guides aren't meant as hard rulebooks. At times, you may not be able to
|
||||||
apply some of the guidelines below. When that happens, use your best judgment,
|
apply some of the guidelines below. When that happens, use your best judgment,
|
||||||
|
|||||||
@@ -152,8 +152,3 @@ The ``Switch`` node returns a vector if the boolean condition is ``true`` or
|
|||||||
boolean, all components of the vector should be above zero.
|
boolean, all components of the vector should be above zero.
|
||||||
|
|
||||||
.. image:: img/vs_switch.png
|
.. image:: img/vs_switch.png
|
||||||
|
|
||||||
.. note::
|
|
||||||
|
|
||||||
The ``Switch`` node is only available on the GLES3 backed. If you are
|
|
||||||
targeting GLES2 devices, you cannot use ``switch`` statements.
|
|
||||||
|
|||||||
Reference in New Issue
Block a user