无法在 FragmentShader 中定义自己的函数

问题描述 投票:0回答:0

我在 Android 上使用 OpenGL ES 2。我试图在片段着色器中定义一个简单的函数,这样我就可以简单地重新使用代码,但它总是抛出这个异常:

Error creating shader

这是我的片段着色器:

float someFunction(){
   return 1.0;
}

void main()
{
   gl_FragColor = vec4( someFunction() );
}

奇怪的是它在 WebGL 中工作得很好。在 Android 上,它只有在我将方法的签名更改为 void 时才有效:

void someFunction(){
   
}

void main()
{
   gl_FragColor = vec4( 0.5 );
}

任何人都可以阐明我错过了什么吗?

opengl-es fragment-shader
© www.soinside.com 2019 - 2024. All rights reserved.