Versão Godot:
3.0.3
Sistema operacional / dispositivo incluindo versão:
Fedora 26
Descrição do problema:
Eu criei um sombreador de fragmento e uma função onde uso a variável interna TIME. Recebo o erro "Identificador desconhecido na expressão: TIME". No entanto, posso usar TIME na função fragment () - mas não em minhas próprias funções.
Exemplo de trabalho:
shader_type spatial;
render_mode unshaded;
void fragment()
{
vec3 col = 0.5 + 0.5*cos(vec3(0.0, TIME, 0.0));
ALBEDO = col;
}
Não funciona exemplo:
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;
}
Passos para reproduzir:
Crie um sombreador de fragmento e escreva uma função que use TIME.
Projeto de reprodução mínima:
shader_TIME.zip
Duplicado de # 18315, que cobre todas as variáveis embutidas, mas não é rotulado como bug, por algum motivo.
Comentários muito úteis
Duplicado de # 18315, que cobre todas as variáveis embutidas, mas não é rotulado como bug, por algum motivo.