2013-09-08 4 views
0

여기 내 문제가 있습니다 : 나는 렌더러 등 물건 GLSurfaceView 있습니다. 오래된 Android 버전에서는 모든 것이 원하는대로 작동합니다. 하지만 최신 버전에서는 (4.x 이상) 비트 맵이없는 검은 색 화면 만 보여줍니다. 예를 들어 내 onSurfaceCreated 메서드에서 gl.glClearColor(0.1f, 0.2f, 0.3f, 0.5f);을 사용하면 검정색이 색상으로 변경됩니다. 그래서 문제는 배경색이 그려지기 때문에 잘못된 방향이나 뭔가를보고있는 카메라가되어야한다고 생각합니다.GLSurfaceView : 카메라의 위치, 표면을보고, 안드로이드 버전으로 변경합니까?

저는 OpenGL을 처음 접했기 때문에 안드로이드 버전과 OpenGL- 카메라 또는 이와 유사한 것이 있는지 묻고 싶습니다.

많은 사람들이 내 비트 맵 크기는 2의 제곱이어야한다고 말하지만, 아무 것도 해결하지 못합니다. 여기

내 렌더러입니다 :

public class GlRenderer implements Renderer { 

@Override 
public void onDrawFrame(GL10 gl) { 

    // clear Screen Buffer 
    gl.glClear(GL10.GL_COLOR_BUFFER_BIT); 

    // Reset the Modelview Matrix 
    gl.glLoadIdentity(); 

    gl.glTranslatef(0.0f, 0.0f, -5.0f);  // move 5 units INTO the screen 
              // is the same as moving the camera 5 units away 

    updateLogic(gl); 

    drawEverything(gl); 
} 

@Override 
public void onSurfaceChanged(GL10 gl, int width, int height) { 
    gl.glViewport(0, 0, width, height); 
    gl.glMatrixMode(GL10.GL_PROJECTION);      // or some matrix uniform if using shaders 
    gl.glLoadIdentity(); 
    gl.glOrthof(0, width, height, 0, -1, 1); // this will allow to pass vertices in 'canvas pixel' coordinates 
    gl.glMatrixMode(GL10.GL_MODELVIEW); 
    gl.glLoadIdentity(); 
} 

@Override 
public void onSurfaceCreated(GL10 gl, EGLConfig config) { 
    gl.glDisable(GL10.GL_DITHER); 
    gl.glHint(GL10.GL_PERSPECTIVE_CORRECTION_HINT, GL10.GL_FASTEST); 

    gl.glEnable(GL10.GL_TEXTURE_2D);   //Enable Texture Mapping (NEW) 
    gl.glShadeModel(GL10.GL_SMOOTH);   //Enable Smooth Shading 
    gl.glClearColor(0.0f, 0.0f, 0.0f, 0.5f); //Set Background 
    gl.glEnable(GL10.GL_BLEND); 
    gl.glBlendFunc(GL10.GL_SRC_ALPHA, GL10.GL_ONE_MINUS_SRC_ALPHA); 
} 

}

답변

0

이 당신이 겪고있는 문제이지만, 다음 줄을 변경하려고하면 확실하지 :

gl.Orthof(0, widht, height, 0, -1, 1);

gl.Orthof(0, widht, height, 0, 1, -1);

근거리/원거리 값이 반대로 표시됩니다. 이 maddness에 대한 설명은 this을 참조하십시오.

+0

깊이가없는 2D 표면이므로이 변경 사항이 없습니다. 여전히 검은 색 화면 : ( – user2757036

+0

나머지 코드는 괜찮아 보입니다. 그러나 렌더링 및/또는 모델 작성 코드가 표시되지 않으므로 다른 점이 무엇인지 잘못 판단 할 수 없습니다. 어떤 상태가 어딘가에 설정되어 있습니다. – free3dom

+0

나는 해결책을 찾은 것 같아요. 여기에 게시 할 것입니다. – user2757036

관련 문제