Эквивалент 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);
}

Теперь вам нужно поставить только три значения позиции, текстуры кордината и текстуры:), как вам нужно сделать где угодно

Другие вопросы по тегам