2022-03-15 13:29:32 +01:00
<?xml version="1.0" encoding="UTF-8" ?>
2024-04-26 17:32:25 +02:00
<class name= "ShaderMaterial" inherits= "Material" version= "4.4" >
2022-03-15 13:29:32 +01:00
<brief_description >
A material that uses a custom [Shader] program.
</brief_description>
<description >
A material that uses a custom [Shader] program to render either items to screen or process particles. You can create multiple materials for the same shader but configure different values for the uniforms defined in the shader.
[b]Note:[/b] Due to a renderer limitation, emissive [ShaderMaterial]s cannot emit light when used in a [GIProbe]. Only emissive [SpatialMaterial]s can emit light in a [GIProbe].
</description>
<tutorials >
2023-08-29 22:33:15 +02:00
<link > $DOCS_URL/tutorials/shaders/index.md</link>
2022-03-15 13:29:32 +01:00
</tutorials>
<methods >
<method name= "get_shader_param" qualifiers= "const" >
<return type= "Variant" />
2022-03-24 01:22:45 +01:00
<argument index= "0" name= "param" type= "StringName" />
2022-03-15 13:29:32 +01:00
<description >
2023-12-21 00:48:25 +01:00
Returns the current value set for this material of a uniform in the shader.
2022-03-15 13:29:32 +01:00
</description>
</method>
<method name= "property_can_revert" >
<return type= "bool" />
<argument index= "0" name= "name" type= "String" />
<description >
Returns [code]true[/code] if the property identified by [code]name[/code] can be reverted to a default value.
</description>
</method>
<method name= "property_get_revert" >
<return type= "Variant" />
<argument index= "0" name= "name" type= "String" />
<description >
Returns the default value of the material property with given [code]name[/code].
</description>
</method>
<method name= "set_shader_param" >
<return type= "void" />
2022-03-24 01:22:45 +01:00
<argument index= "0" name= "param" type= "StringName" />
2022-03-15 13:29:32 +01:00
<argument index= "1" name= "value" type= "Variant" />
<description >
2023-12-21 00:48:25 +01:00
Changes the value set for this material of a uniform in the shader.
[b]Note:[/b] [code]param[/code] must match the name of the uniform in the code exactly.
2022-03-15 13:29:32 +01:00
</description>
</method>
</methods>
<members >
<member name= "shader" type= "Shader" setter= "set_shader" getter= "get_shader" >
The [Shader] program used to render this material.
</member>
</members>
<constants >
</constants>
</class>