Shader

    Inherited By: VisualShader

    A custom shader program.

    This class allows you to define a custom shader program that can be used by a ShaderMaterial. Shaders allow you to write your own custom behavior for rendering objects or updating particle information. For a detailed explanation and usage, please see the tutorials linked below.

    Tutorials

    Methods

    enum Mode:

    • MODE_SPATIAL = 0 —- Mode used to draw all 3D objects.

    • MODE_CANVAS_ITEM = 1 —- Mode used to draw all 2D objects.

    Property Descriptions


    • custom_defines

    Returns the shader’s custom defines. Custom defines can be used in Godot to add GLSL preprocessor directives (e.g: extensions) required for the shader logic.

    Note: Custom defines are not validated by the Godot shader parser, so care should be taken when using them.

    • get_default_texture_param ( String param ) const

    Returns the texture that is set as default for the specified parameter.

    Note: must match the name of the uniform in the code exactly.


    • get_mode ( ) const

    Returns the shader mode for the shader, either MODE_CANVAS_ITEM, or MODE_PARTICLES.


    • has_param ( String name ) const

    Returns true if the shader has this param defined as a uniform in its code.

    Note: must match the name of the uniform in the code exactly.


    Sets the default texture to be used with a texture uniform. The default is used if a texture is not set in the .