我在与谷歌的一个现实问题的OpenGL演示为Android 。 我把它在Eclipse中,但不能让它执行。 它建立,没有任何问题,但随后在停止"java.lang.IllegalArgumentException: No config chosen"
打开右侧前。 我一直在向上和向下的谷歌搜索和堆栈线程无解。
我发现了我认为是一个领先的位置: Android的OpenGL ES 2.0的支持?
它使用一个命令gLSurfaceView.setEGLConfigChooser(8 , 8, 8, 8, 16, 0);
但很可惜,我是新来的OpenGL Android和不知道在哪里把它...
任何帮助将不胜感激。 我运行Eclipse朱诺了最新的Android SDK。 我在4.2果冻豆仿真器GPU硬件启用测试此。
该解决方案只是放置super.setEGLConfigChooser(8 , 8, 8, 8, 16, 0);
在之前的MyGLSurfaceView类直接在setRenderer(new MyGLRenderer());
线。
现在,这是很老,但以防万一人还在想为什么需要做....
setEGLConfigChooser(int redSize, int greenSize, int blueSize, int alphaSize,
int depthSize, int stencilSize)
这些参数的比特数分配给颜色位数
8位= 255个16比特= 65535
所以下面的配置基本上是设置这样的:
setEGLConfigChooser(8, 8, 8, 8, 16, 0);
r,g,b,a = 0-255,0-255,0-255,0-255
depth = 0-65535
stencil = 0
希望这将清除任何疑惑:d
见我的代码,用于设置EGL选择器与Android工作室。 它添加你叫你的GLSurfaceView构造之后:
码:
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
GLSurfaceView view = new GLSurfaceView(this);
//Chose EGL Config Here To Set Element Size For RGB data Alpha,
// Depth, Stencil, See The Documentation...
view.setEGLConfigChooser(8, 8, 8, 8, 16, 0);
view.setRenderer(new OpenGLRenderer());
setContentView(view);
//setContentView(R.layout.activity_main);
}
//....additional methods for activity
}