Godot-Version:
3.0.3
Betriebssystem/Gerät einschließlich Version:
Fedora 26
Fehlerbeschreibung:
Ich habe einen Fragment-Shader und eine Funktion erstellt, in der ich die eingebaute Variable TIME verwende. Ich erhalte die Fehlermeldung "Unbekannter Bezeichner in Ausdruck: TIME". Allerdings kann ich TIME in der fragment()-Funktion verwenden, aber nicht in meinen eigenen Funktionen.
Arbeitsbeispiel:
shader_type spatial;
render_mode unshaded;
void fragment()
{
vec3 col = 0.5 + 0.5*cos(vec3(0.0, TIME, 0.0));
ALBEDO = col;
}
Nicht funktionierendes Beispiel:
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;
}
Schritte zum Reproduzieren:
Erstellen Sie einen Fragment-Shader und schreiben Sie eine Funktion, die TIME verwendet.
Minimales Reproduktionsprojekt:
shader_TIME.zip
Duplikat von #18315 , das alle eingebauten Variablen abdeckt, aber aus irgendeinem Grund nicht als Fehler bezeichnet wird.
Hilfreichster Kommentar
Duplikat von #18315 , das alle eingebauten Variablen abdeckt, aber aus irgendeinem Grund nicht als Fehler bezeichnet wird.