Shader для Android OpenGL ES

Можно ли использовать вершинные или пиксельные шейдеры в приложении Android? Пожалуйста, приведите пример, если можно настроить шейдер.

Если вы нацеливаете andriod 2.x / OpengL ES 2, то да, это возможно.

Вот пример кода, как загрузить шейдер:

public int createProgram(String vertexSource, String fragmentSource) { int vertexShader = loadShader(GLES20.GL_VERTEX_SHADER, vertexSource); int pixelShader = loadShader(GLES20.GL_FRAGMENT_SHADER, fragmentSource); int program = GLES20.glCreateProgram(); if (program != 0) { GLES20.glAttachShader(program, vertexShader); checkGlError("glAttachShader"); GLES20.glAttachShader(program, pixelShader); checkGlError("glAttachShader"); GLES20.glLinkProgram(program); int[] linkStatus = new int[1]; GLES20.glGetProgramiv(program, GLES20.GL_LINK_STATUS, linkStatus, 0); if (linkStatus[0] != GLES20.GL_TRUE) { Log.e(TAG, "Could not link program: "); Log.e(TAG, GLES20.glGetProgramInfoLog(program)); GLES20.glDeleteProgram(program); program = 0; } } return program; } private int loadShader(int shaderType, String source) { int shader = GLES20.glCreateShader(shaderType); if (shader != 0) { GLES20.glShaderSource(shader, source); GLES20.glCompileShader(shader); int[] compiled = new int[1]; GLES20.glGetShaderiv(shader, GLES20.GL_COMPILE_STATUS, compiled, 0); if (compiled[0] == 0) { Log.e(TAG, "Could not compile shader " + shaderType + ":"); Log.e(TAG, GLES20.glGetShaderInfoLog(shader)); GLES20.glDeleteShader(shader); shader = 0; } } return shader; } 
Intereting Posts
JSON Parsing в Android Android и его медленный веб-просмотр. Аппаратное ускорение является ошибкой Пауза в TTS-андроиде Как исправить ошибку «эмулятор: ошибка синхронизации vcpu reg» в ионной ошибке эмулятора mac android Как исправить исходный шрифт в Android Lollipop при работе с пользовательскими шрифтами значков? Изменить размер EditText (любой вид), отображаемый в alertBox? Android Studio продолжает просить выключить Hyper-V в бесконечном цикле Напишите файл личного доступа в каталог файлов другого приложения Мое приложение перезапустится, когда я нажал кнопку дома Имя значка приложения Android выбрано из метки активности, чем на ярлыке приложения Расчет площади в API статической карты Google Android: создание сервиса, который запускается при остановке приложения. Андроид: атрибут choiceMode в ListView навигационного ящика Почему пиксели плавают? Android Studio JAR-файл, вызывающий превышение предельных значений GC overhead