Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 5 additions & 7 deletions tutorials/shaders/converting_glsl_to_godot_shaders.rst
Original file line number Diff line number Diff line change
Expand Up @@ -74,13 +74,11 @@ rename ``main`` to ``fragment``.
Macros
^^^^^^

In keeping with its similarity to C, GLSL lets you use macros. Commonly
``#define`` is used to define constants or small functions. There is no
straightforward way to translate defines to Godot's shading language. If it is a
function that is defined, then replace with a function, and if it is a constant,
then replace with a uniform. For other macros (``#if``, ``#ifdef``, etc.), there
is no equivalent because they run during the pre-processing stage of
compilation.
The :ref:`Godot shader preprocessor<doc_shader_preprocessor>` supports the following macros:
* ``#define`` / ``#undef``
* ``#if``, ``#elif``, ``#else``, ``#endif``, ``defined()``, ``#ifdef``, ``#ifndef``
* ``#include`` (only ``.gdshaderinc`` files and with a maximum depth of 25)
* ``#pragma disable_preprocessor``, which disables preprocessing for the rest of the file

Variables
^^^^^^^^^
Expand Down