glGetShaderInfoLog returns empty string (android)

前端 未结 3 850
闹比i
闹比i 2020-12-18 00:26

I am modifying the version of the android version of the 2d texture example from OpenGl ES2.0 programming guide to change the fragment shader. this is written in pure Java a

相关标签:
3条回答
  • 2020-12-18 01:08

    I had the same problem.

    1. Make sure you have the following in ApplicationManufest.xml:

      <uses-feature android:glEsVersion="0x00020000" android:required="true" />

    2. Call this after initializing a GLSurfaceView

    glSurfaceView.SetEGLContextClientVersion(2);

    0 讨论(0)
  • 2020-12-18 01:09

    You're suffering from a bug. I worked around by using the old GL ES 2.0 bindings to get a functioning glGetShaderInfoLog. Like this:

    import com.badlogic.gdx.backends.android.AndroidGL20;
    ...
    AndroidGL20 gl2 = new AndroidGL20();
    Log.e(TAG, gl2.glGetShaderInfoLog(shader));
    

    I still use the standard GLES20 wrapper library for everything else, so this was simple to drop into my codebase. The two wrappers apparently can coexist without any problems.

    0 讨论(0)
  • 2020-12-18 01:22

    Just incase anyone does find this question as they have encountered the same problem, the only way I have found to "get around it" is to compile the shader with another App (such as Rendermonkey). Not ideal, but it got me further in my project!

    0 讨论(0)
提交回复
热议问题