Version Godot :
3.0.3
OS/appareil avec version :
Fedora 26
Description du problème:
J'ai créé un shader de fragment et une fonction où j'utilise la variable intégrée TIME. J'obtiens l'erreur "Identifiant inconnu dans l'expression : TIME". Cependant, je peux utiliser TIME dans la fonction fragment() mais pas dans mes propres fonctions.
Exemple de travail :
shader_type spatial;
render_mode unshaded;
void fragment()
{
vec3 col = 0.5 + 0.5*cos(vec3(0.0, TIME, 0.0));
ALBEDO = col;
}
Exemple qui ne fonctionne pas :
shader_type spatial;
render_mode unshaded;
vec3 getColor()
{
vec3 col = 0.5 + 0.5*cos(vec3(0.0, TIME, 0.0));
return col;
}
void fragment()
{
vec3 col = getColor();
ALBEDO = col;
}
Étapes à reproduire :
Créez un fragment shader et écrivez une fonction qui utilise TIME.
Projet de reproduction minimal :
shader_TIME.zip
Duplicata de #18315 , qui couvre toutes les variables intégrées mais n'est pas étiqueté comme bogue, pour une raison quelconque.
Commentaire le plus utile
Duplicata de #18315 , qui couvre toutes les variables intégrées mais n'est pas étiqueté comme bogue, pour une raison quelconque.