Godot: 着色器错误“表达式中的未知标识符:TIME”

创建于 2018-06-21  ·  1评论  ·  资料来源: godotengine/godot

戈多版本:

3.0.3

操作系统/设备包括版本:

软呢帽 26

问题描述:

我创建了一个片段着色器和一个使用内置变量 TIME 的函数。 我收到错误“表达式中的未知标识符:TIME”。 但是,我可以在 fragment() 函数中使用 TIME,但不能在我自己的函数中使用。

工作示例:

shader_type spatial;
render_mode unshaded;

void fragment()
{
    vec3 col = 0.5 + 0.5*cos(vec3(0.0, TIME, 0.0));
    ALBEDO = col;
}

不工作的例子:

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;
}

重现步骤:
创建一个片段着色器并编写一个使用 TIME 的函数。

最小复制项目:

shader_TIME.zip

archived bug core rendering

最有用的评论

#18315 的副本,它涵盖了所有内置变量,但由于某种原因未标记为错误。

>所有评论

#18315 的副本,它涵盖了所有内置变量,但由于某种原因未标记为错误。

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

gonzo191 picture gonzo191  ·  3评论

timoschwarzer picture timoschwarzer  ·  3评论

ivanskodje picture ivanskodje  ·  3评论

nunodonato picture nunodonato  ·  3评论

testman42 picture testman42  ·  3评论