Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
Shader¶
Inherits: Resource < RefCounted < Object
Inherited By: VisualShader
A shader implemented in the Godot shading language.
描述¶
A custom shader program implemented in the Godot shading language, saved with the .gdshader
extension.
This class is used by a ShaderMaterial and allows you to write your own custom behavior for rendering visual items or updating particle information. For a detailed explanation and usage, please see the tutorials linked below.
教程¶
属性¶
|
Methods¶
get_default_texture_parameter ( StringName name, int index=0 ) const |
|
get_mode ( ) const |
|
get_shader_uniform_list ( bool get_groups=false ) |
|
void |
set_default_texture_parameter ( StringName name, Texture2D texture, int index=0 ) |
Enumerations¶
enum Mode:
Mode MODE_SPATIAL = 0
Mode used to draw all 3D objects.
Mode MODE_CANVAS_ITEM = 1
Mode used to draw all 2D objects.
Mode MODE_PARTICLES = 2
Mode used to calculate particle information on a per-particle basis. Not used for drawing.
Mode MODE_SKY = 3
Mode used for drawing skies. Only works with shaders attached to Sky objects.
Mode MODE_FOG = 4
Mode used for setting the color and density of volumetric fog effect.
Property Descriptions¶
String code = ""
Returns the shader's code as the user has written it, not the full generated code used internally.
Method Descriptions¶
Texture2D get_default_texture_parameter ( StringName name, int index=0 ) const
Returns the texture that is set as default for the specified parameter.
Note: name
must match the name of the uniform in the code exactly.
Note: If the sampler array is used use index
to access the specified texture.
Mode get_mode ( ) const
Returns the shader mode for the shader.
Array get_shader_uniform_list ( bool get_groups=false )
Get the list of shader uniforms that can be assigned to a ShaderMaterial, for use with ShaderMaterial.set_shader_parameter and ShaderMaterial.get_shader_parameter. The parameters returned are contained in dictionaries in a similar format to the ones returned by Object.get_property_list.
If argument get_groups
is true, parameter grouping hints will be provided.
void set_default_texture_parameter ( StringName name, Texture2D texture, int index=0 )
Sets the default texture to be used with a texture uniform. The default is used if a texture is not set in the ShaderMaterial.
Note: name
must match the name of the uniform in the code exactly.
Note: If the sampler array is used use index
to access the specified texture.