2014-02-11 4 views
1

저는 데스크탑/안드로이드 용 libgdx로 작은 게임을 만들고 있습니다. 데스크톱에서 실행하면 모든 것이 잘 작동하지만 안드로이드에는 이상한 문제가 있습니다.안드로이드에서 libgdx 메쉬 렌더링이 시작되지 않습니다

메뉴 화면에서 게임 화면으로 전환하면 게임 화면의 사운드 트랙을들을 수 있지만 그림은 변경되지 않습니다. 화면을 탭하면 게임 사운드가 들리지만 사진은 그대로 유지됩니다 (메뉴 화면). 이것의 꼭대기에 이런 일이 일어날 때마다 - 때로는 화면이 바뀌고 게임이 느려지더라도 정상적으로 돌아갈 것입니다 ...

렌더링 코드는 다음과 같습니다. 메시 렌더링 제거 :

Gdx.gl.glClearColor(1, 1, 1, 1); 
Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT); 

camera.update(); 
game.batch.setProjectionMatrix(camera.combined); 

game.batch.begin(); 
    game.batch.draw(UI.LevelScreenSkin.getRegion("LevelBackGround"), UI.BG_TEXTURE_OFFSET_X, UI.BG_TEXTURE_OFFSET_Y, UI.BG_TEXTURE_WIDTH, UI.BG_TEXTURE_HEIGHT); 
game.batch.end(); 

MainStage.act(); 
MainStage.draw(); 

//get updated mesh data from blocks 
updateGlobalMeshData(false); 
setGlobalMeshData(); 

//enable blending 
Gdx.gl.glEnable(GL10.GL_BLEND); 

//render blocks 
globalMesh.render(GL10.GL_TRIANGLES, 0, ThisLevel.globalMesh.getMaxIndices()); 

//render blocks' borders 

//enable texture binding 
Gdx.graphics.getGL10().glEnable(GL10.GL_TEXTURE_2D); 

//render borders 
borderTexture.bind(); 
globalBorderMesh.render(GL10.GL_TRIANGLES, 0, globalBorderMesh.getMaxIndices()); 

//disable texture binding and blending 
Gdx.graphics.getGL10().glDisable(GL10.GL_TEXTURE_2D); 
Gdx.gl.glDisable(GL10.GL_BLEND); 

두 번째 메시는 약 2000 정점을 가지고, 그래서 처음 나는 어쩌면 내 장치가 이것들을 처리 할 수 ​​없습니다 생각했지만, 게임이 시작될 때 이러한 경우에, 모든 것이 잘 실행 및 렌더링이 어떤 속도 저하가 없다.

답변

0

OpenGL 2로 전환했을 때 문제가 해결되었습니다. 기기에서 이전 버전과의 호환성이있을 수 있습니다.

관련 문제