2013-07-19 3 views
0

내가 여기서하려고하는 것은 주 활동에서 listview의 항목을 클릭하면 OpenGL 컨텍스트를로드하는 것입니다.목록보기 항목에서 OpenGL로드

외형은 간단합니다. 하지만 실제로 OpenGL 활동과 주 활동을 연결하는 방법을 모르겠습니다. 아무도 나에게 힌트를 줄 수 있니?

감사합니다.

편집 : OpenGLActivity에서

listView.setOnItemClickListener(new OnItemClickListener() { 
     @Override 
     public void onItemClick(AdapterView<?> parent, View view, 
       int position, long id) { 

      Intent launchGL = new Intent(getApplicationContext(), OpenGLActivity.class); 
      startActivity(launchGL); 

      } 
     }); 

: 주요 활동에서

: 여기에 몇 가지 코드를 추가

public class OpenGLActivity extends Activity { 

private GLSurfaceView mGLSurfaceView; 

@Override 
public void onCreate(Bundle savedInstanceState){ 
    super.onCreate(savedInstanceState); 

    mGLSurfaceView = new GLSurfaceView(this); 

    // Check if the system supports OpenGL ES 2.0. 
    final ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); 
    final ConfigurationInfo configurationInfo = activityManager.getDeviceConfigurationInfo(); 
    final boolean supportsEs2 = configurationInfo.reqGlEsVersion >= 0x20000; 

    if (supportsEs2) 
    { 
     // Request an OpenGL ES 2.0 compatible context. 
     mGLSurfaceView.setEGLContextClientVersion(2); 

     // Set the renderer to our demo renderer, defined below. 
     mGLSurfaceView.setRenderer(new MyRenderer()); 
    } 
    else 
    { 
     // This is where you could create an OpenGL ES 1.x compatible 
     // renderer if you wanted to support both ES 1 and ES 2. 
     return; 
    } 

    setContentView(mGLSurfaceView); 
} 

}

(실험에 대한 몇 가지 튜토리얼 코드를 사용하여)

오류 메시지 :

07-19 19:59:06.945: E/AndroidRuntime(1451): FATAL EXCEPTION: GLThread 108 
07-19 19:59:06.945: E/AndroidRuntime(1451): java.lang.IllegalArgumentException: No configs match configSpec 
07-19 19:59:06.945: E/AndroidRuntime(1451):  at android.opengl.GLSurfaceView$BaseConfigChooser.chooseConfig(GLSurfaceView.java:863) 
07-19 19:59:06.945: E/AndroidRuntime(1451):  at android.opengl.GLSurfaceView$EglHelper.start(GLSurfaceView.java:1024) 
07-19 19:59:06.945: E/AndroidRuntime(1451):  at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1401) 
07-19 19:59:06.945: E/AndroidRuntime(1451):  at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240) 

그리고 응용 프로그램은 활성화 "호스트 GPU를 사용"하는 에뮬레이터 시도에서 코드를 실행하면

+0

일반보기와 같이 [GLSurfaceView] (http://developer.android.com/reference/android/opengl/GLSurfaceView.html)를 만들고 렌더러를 설정하십시오. –

+0

@MarcinGawel 그래, 근데 내가 여기서 뭘 잘못하고 있는지 모르겠어. 코드 조각을 추가 했어. – Imemmaw

+0

어떤 오류가 발생 했나요? –

답변

0

"불행하게도 중지". 또는 가능하다면 실제 장치에서 사용해보십시오. 에뮬레이터는 실제 장치보다 훨씬 느리기 때문에 openGl에 대한 나쁜 생각입니다.

+0

감사합니다 형제! – Imemmaw