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...
ShaderMaterial
Hérite de : Material < Resource < RefCounted < Object
Un matériau défini par un programme Shader personnalisé et les valeurs des paramètres du shader.
Description
Un matériau qui utilise un programme Shader personnalisé pour rendre des objets visuels (éléments de canevas, maillage, ciel, brouillard) ou pour traiter des particules. Comparé à d'autres matériaux, ShaderMaterial donne un contrôle plus profond sur le code du shader généré. Pour plus d'informations, consultez l'index de documentation des shaders ci-dessous.
Plusieurs ShaderMaterials peuvent utiliser le même shaderet configurer des valeurs différentes pour les uniforms du shader.
Note : Pour des raisons de performances, le Resource.changed n'est émis que lorsque le nom Resource.resource_name change. Seulement dans l'éditeur, il est également émis pour les changements du shader.
Tutoriels
Propriétés
Méthodes
get_shader_parameter(param: StringName) const |
|
void |
set_shader_parameter(param: StringName, value: Variant) |
Descriptions des propriétés
Le programme Shader utilisé pour le rendu de ce matériau.
Descriptions des méthodes
Variant get_shader_parameter(param: StringName) const 🔗
Renvoie la valeur actuelle définie pour ce matériau d'un uniform du shader.
void set_shader_parameter(param: StringName, value: Variant) 🔗
Changes the value set for this material of a uniform in the shader.
Note: param is case-sensitive and must match the name of the uniform in the code exactly (not the capitalized name in the inspector).
Note: Changes to the shader uniform will be effective on all instances using this ShaderMaterial. To prevent this, use per-instance uniforms with CanvasItem.set_instance_shader_parameter(), GeometryInstance3D.set_instance_shader_parameter() or duplicate the ShaderMaterial resource using Resource.duplicate(). Per-instance uniforms allow for better shader reuse and are therefore faster, so they should be preferred over duplicating the ShaderMaterial when possible.