mirror of
https://github.com/godotengine/godot-docs.git
synced 2026-01-05 22:09:56 +03:00
Explain the start and process functions for particle shaders
Add references in the particle shader doc and the migration guide
This commit is contained in:
@@ -505,14 +505,12 @@ Godot 3.x, you will have to change its code to call :ref:`class_RenderingServer`
|
||||
methods that affect environment effects' quality. Only the "base" toggle of each
|
||||
environment effect and its visual knobs remain within the Environment resource.
|
||||
|
||||
Updating external shaders
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
Updating shaders
|
||||
^^^^^^^^^^^^^^^^
|
||||
|
||||
**Only shaders that are built-in to a scene file are modified by the project
|
||||
upgrade tool.** This means external shaders (saved to ``.gdshader`` files)
|
||||
need to be updated manually.
|
||||
There have been some changes to shaders that aren't covered by the upgrade tool.
|
||||
|
||||
The ``.shader`` file extension is also no longer supported, which means you must
|
||||
The ``.shader`` file extension is no longer supported, which means you must
|
||||
rename ``.shader`` files to ``.gdshader`` and update references accordingly in
|
||||
scene/resource files using an external text editor.
|
||||
|
||||
@@ -521,7 +519,9 @@ Some notable renames you will need to perform in shaders are:
|
||||
- Texture filter and repeat modes are now set on individual uniforms, rather
|
||||
than the texture files themselves.
|
||||
- ``hint_albedo`` is now ``source_color``.
|
||||
- :ref:`Projection matrix variables were renamed. <doc_spatial_shader>`
|
||||
- :ref:`Built in matrix variables were renamed. <doc_spatial_shader>`
|
||||
- Particles shaders no longer use the ``vertex()`` processor function. Instead
|
||||
they use ``start()`` and ``process()``.
|
||||
|
||||
See :ref:`doc_shading_language` for more information.
|
||||
|
||||
|
||||
@@ -3,22 +3,19 @@
|
||||
Particle shaders
|
||||
================
|
||||
|
||||
Particle shaders are a special type of vertex shader that runs before the
|
||||
object is drawn. They are used for calculating material properties such as
|
||||
color, position, and rotation. They are drawn with any regular material for
|
||||
CanvasItem or Spatial, depending on whether they are 2D or 3D.
|
||||
Particle shaders are a special type of shader that runs before the object is
|
||||
drawn. They are used for calculating material properties such as color,
|
||||
position, and rotation. They are drawn with any regular material for CanvasItem
|
||||
or Spatial, depending on whether they are 2D or 3D.
|
||||
|
||||
Particle shaders are unique because they are not used to draw the object
|
||||
itself; they are used to calculate particle properties, which are then used
|
||||
by the CanvasItem of Spatial shader. They contain only a vertex processor
|
||||
function that outputs multiple properties (see built-ins below).
|
||||
Particle shaders are unique because they are not used to draw the object itself;
|
||||
they are used to calculate particle properties, which are then used by the
|
||||
CanvasItem of Spatial shader. They contain two processor functions: ``start()``
|
||||
and ``process()``.
|
||||
|
||||
Particle shaders use a transform feedback shader, which is a special type of
|
||||
vertex shader that runs on its own. It takes in data in a buffer like a regular
|
||||
vertex shader does, but it also outputs to data buffers instead of outputting
|
||||
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
|
||||
data they have calculated once they draw to the frame buffer.
|
||||
Unlike other shader types, particle shaders keep the data that was output the
|
||||
previous frame. Therefore, particle shaders ca be used for complex effects that
|
||||
take place over multiple frames.
|
||||
|
||||
.. note::
|
||||
|
||||
|
||||
Reference in New Issue
Block a user