我的Google OpenGL demo for Android遇到了一个真正的问题。我在Eclipse中设置它但无法执行它。它构建没有问题,但在它打开之前在"java.lang.IllegalArgumentException: No config chosen"
处停止。我一直在谷歌搜索和堆栈线程上下,没有解决方案。
我确实在这里找到了我认为的主角:OpenGL ES 2.0 Support for Android?
它使用命令gLSurfaceView.setEGLConfigChooser(8 , 8, 8, 8, 16, 0);
但是,唉,我是Android上的新手OpenGL,不知道把它放到哪里......
非常感谢任何帮助。我正在使用最新的android sdk运行Eclipse Juno。我正在使用启用GPU硬件的4.2 Jelly Bean仿真器上测试它。
答案 0 :(得分:50)
解决方案只是将super.setEGLConfigChooser(8 , 8, 8, 8, 16, 0);
放在setRenderer(new MyGLRenderer());
行之前的MyGLSurfaceView类中。
答案 1 :(得分:5)
现在已经很老了,但万一人们还在想为什么要这样做......
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
答案 2 :(得分:1)
请参阅我的代码,了解如何使用Android Studio设置EGL选择器。在调用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
}