Godot: Erreur de shader "Identifiant inconnu dans l'expression : TIME"

Créé le 21 juin 2018  ·  1Commentaire  ·  Source: godotengine/godot

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

archived bug core rendering

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.

>Tous les commentaires

Duplicata de #18315 , qui couvre toutes les variables intégrées mais n'est pas étiqueté comme bogue, pour une raison quelconque.

Cette page vous a été utile?
0 / 5 - 0 notes