是不是可以在我的surface.shader.fragment文件中使用这样的函数:
float time = u_time;
float multiply(float n) {
return n*2.0;
};
vec3 color = vec3(1.0,0.0,0.0);
_surface.diffuse = vec4( color, 1.0 );
如果我删除该函数,则所有内容都按预期工作。 SCNShadable doc。
的代码片段中有一个自定义全局函数答案 0 :(得分:1)
以下内容应该有效:
float multiply(float n) {
return n*2.0;
}
#pragma body
float time = u_time;
vec3 color = vec3(1.0,0.0,0.0);
_surface.diffuse = vec4( color, 1.0 );
#pragma body
指令在此非常重要,并在documentation for SCNShadable
和SCNShadable.h
标题文件中进行了说明。
如果要更改漫反射颜色,还需要使用.surface
入口点。