1

我正在 Android 中学习 OpenGL ES 2.0,你知道提供现有着色器的库吗?

我和一个在 iOS 上开发的朋友一起做一个项目,他告诉我他可以使用 GLKBaseEffect 来避免开发自定义着色器,只要我们不需要复杂的功能。Android中是否有相当于BaseEffect的东西?

我问这个是因为我们两个被教授分配了这个项目,他告诉我们这个项目开发自定义着色器并不重要,所以我猜有一个我可以浏览的基本着色器汇编. 那是对的吗?

谢谢您的帮助!

4

1 回答 1

0

Android 不支持 GLKBaseEffect 类之类的东西,但我想让您知道,着色器只是为了可编程而受到支持,因此如果您使用简单的着色器代码,着色器一点也不难。

如果您不想进行任何后期图像处理,请不要更改片段着色器,这只是您应该做的。

顶点着色器

attribute vec4 position;
attribute vec4 inputTextureCoordinate;
varying vec2 textureCoordinate;
void main(void)
{ 
gl_Position =  position;
textureCoordinate = inputTextureCoordinate.xy;
}

片段着色器

uniform sampler2D texture0;
varying vec2 textureCoordinate;
void main()
gl_FragColor = texture2D(texture0, textureCoordinate);
}

现在你只需要放置三个值位置,纹理坐标和纹理:),就像你需要在任何地方做的那样

于 2014-02-27T07:40:22.267 回答