Эквивалент GLKBaseEffect для Android (уже существующие шейдеры OpenGL)
Я изучаю OpenGL ES 2.0 в Android. Знаете ли вы, что библиотека предоставляет уже существующие шейдеры?
Я нахожусь в проекте с другом, который разрабатывает на iOS, он сказал мне, что он может использовать GLKBaseEffect, чтобы избежать создания пользовательских шейдеров, если нам не нужны сложные функции. Есть ли эквивалент этого BaseEffect в Android?
Я спрашиваю об этом, потому что мы оба были назначены этим проектом профессором, который сказал нам, что для этого проекта не важно разрабатывать собственные шейдеры, поэтому я предполагаю, что есть подборка базовых шейдеров, которые я могу просмотреть, Это верно?
Спасибо за помощь!
1 ответ
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);
}
Теперь вам нужно поставить только три значения позиции, текстуры кордината и текстуры:), как вам нужно сделать где угодно