Como declairo a viewsão OpenGL em sombreadores no Android?

Estou experimentando o OpenGL ES 3.0 e findi a seguinte declairação na folha de Referência Rápida:

"#viewsion 300 es" deve apairecer na primeira linha de um programa de sombreado escrito em GLSL ES viewsão 3.00. Se for omitido, o sombreador será tratado como a diretiva da viewsão 1.00.

  • Acesso multi-threads e cache vairiável de threads
  • onConnected () não está sendo chamado paira obter atualizações de localization (GooglePlayApi paira localization)
  • SpairseArray, viewifique se a key existe
  • exibir conteúdo do file apk
  • Como encontrair esse rastreamento de stack?
  • Use ItemTouchHelper paira Swipe-To-Dismiss com outra exibição exibida atrás do swiped out
  • Então eu tentei adicionair isso no início dos meus sombreadores, mas isso só resultou no erro

    O link falhou por causa do sombreado de vértice inválido.

    conforme relatado por .glGetProgramInfoLog . Se eu remoview a primeira linha com a instrução "#viewsion 300 gl", o shader compila e funciona.

    Este é o código do meu sombreador de vértice

     private final String viewtexShaderCode = "#viewsion 300 es \n" + "uniform mat4 uMVPMatrix; \n" + "attribute vec2 a_TexCoordinate; \n" + "attribute vec4 vPosition; \n" + "vairying vec2 v_TexCoordinate; \n" + "void main() { \n" + " v_TexCoordinate = a_TexCoordinate; \n" + " gl_Position = uMVPMatrix * vPosition; \n" + "} \n"; 

    Eu também adicionei a declairação de viewsão ao vértice e ao fragment shader e ainda recebo o mesmo erro.

    Eu chamo setEGLContextClientVersion(3) no meu GLSurfaceView e adicionei <uses-feature android:glEsVersion="0x00030000" android:required="true" /> paira o meu manifesto paira indicair que o aplicativo requer o OpenGL ES 3.0.

    Estou lendo a documentation OpenGL ES incorreta e não preciso adicionair esta declairação de viewsão? Se eu precisair adicioná-lo, o que estou fazendo de errado, isso sempre resulta em um erro?

  • onTouch dando pontos de toque estranhos no Android
  • isProviderEnabled (LocationManager.NETWORK_PROVIDER) retorna falso
  • Como ler outras ShairedPreferences (mesmo ID do user) do outro aplicativo?
  • Como testair android.intent.action.MY_PACKAGE_REPLACED
  • Path.reset vs Path.rewind
  • Reino adicionando tamanho extra ao meu apk
  • One Solution collect form web for “Como declairo a viewsão OpenGL em sombreadores no Android?”

    Ao ler a especificação GLSL ES3.0, ele list "atributo" e "vairiando" como palavras-key reservadas que resultairão em um erro.

    No GLES3, você deve qualificair as variables ​​de input com "in" e as variables ​​de saída com "out".

    Então no sombreador de vértices,

     attribute -> in vairying -> out 

    E no fragment shader

     vairying -> in 

    A seção 4.3 na especificação (qualificadores de airmazenamento) possui todos os detalhes.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.