2013-01-05 23 views
22

Google'ın OpenGL demo for Android ile gerçek bir sorun yaşıyorum. Eclipse'de kurdum ama idam edemiyorum. Hiçbir problem yaşamadan, "java.lang.IllegalArgumentException: No config chosen" açılmadan hemen önce durur. Google aramaları ve Yığın iş parçacıklarını çözümsüz olarak buldum. OpenGL ES 2.0 Support for Android?Android OpenGL demo "Yapılandırma seçilmedi"

O gLSurfaceView.setEGLConfigChooser(8 , 8, 8, 8, 16, 0); ama ne yazık ki, ben robot üzerinde OpenGL'e yeniyim ve bilmiyorum bir komut kullanır

...

koymak için:

Ben burada bir kurşun ne düşündüm buldunuz

Herhangi bir yardım büyük memnuniyetle karşılanacaktır. En son android sdk ile Eclipse Juno koşuyorum. Bunu, GPU donanımı etkinleştirilmiş bir 4.2 Jelly Bean emülatörü üzerinde test ediyorum.

+0

olası yinelenen (http: // stackoverflow. com/questions/13717470/opengl-es-2-0-android için destek) –

cevap

49

Çözüm, setRenderer(new MyGLRenderer()); satırından hemen önce MyGLSurfaceView sınıfının içine super.setEGLConfigChooser(8 , 8, 8, 8, 16, 0); yerleştirildi.

+3

Neredeyse tüm android örnek uygulamaların neden bu kadar korktuğundan emin değilsiniz. SDK'yı ilk defa öğrenmeye çalışan insanlar gerçekten acıtıyor. – thamster

+2

"Süper" kelimesini hariç tutabilirsiniz – trungly

+0

Sonunda çözümü buldum, teşekkürler dostum. Bunun neden yapıldığını biliyor musun? Ve neden zaten kodda değil? – simtaxman

1

Android Studio'yu kullanarak EGL seçiciyi ayarlamak için koduma bakın.

Kodu:

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 

} 
5

Bu artık oldukça eski, ama bu yapılması gereken neden ihtimale insanlar hala merak ediyor ....

Eğer GLSurfaceView için kurucusunu çağırmak hemen sonra ekleyin
setEGLConfigChooser(int redSize, int greenSize, int blueSize, int alphaSize, 
        int depthSize, int stencilSize) 

parametreleri bit sayısı, renk bit atamak

8 bit olan = 255 16 bit = 65535

Yani aşağıdaki yapılandırma temelde bu ayarlıyor: Bu kafa karışıklığını tamamen temizler

setEGLConfigChooser(8, 8, 8, 8, 16, 0); 

r,g,b,a = 0-255,0-255,0-255,0-255 

depth = 0-65535 

stencil = 0 

Umut: [? Android için OpenGL ES 2.0 desteği] D