Godot: Erro de Shader "Identificador desconhecido na expressão: TIME"

Criado em 21 jun. 2018  ·  1Comentário  ·  Fonte: godotengine/godot

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

archived bug core rendering

Comentários muito úteis

Duplicado de # 18315, que cobre todas as variáveis ​​embutidas, mas não é rotulado como bug, por algum motivo.

>Todos os comentários

Duplicado de # 18315, que cobre todas as variáveis ​​embutidas, mas não é rotulado como bug, por algum motivo.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

EdwardAngeles picture EdwardAngeles  ·  3Comentários

bojidar-bg picture bojidar-bg  ·  3Comentários

timoschwarzer picture timoschwarzer  ·  3Comentários

blurymind picture blurymind  ·  3Comentários

gonzo191 picture gonzo191  ·  3Comentários