삼성 갤럭시 탭 3 (Android 4.2.2)을 가지고 있는데 깊이 버퍼가 작동하지 않는 것 같습니다. 다른 장치는 정상입니다. 다음과 같이 나는 상황을 만들 :Vivante GPU (Android)의 OpenGL ES 2 : 깊이 버퍼가 작동하지 않습니다.
setEGLContextClientVersion(2);
setEGLConfigChooser(new MultisampleConfigChooser(...));
// ...
@Override
public EGLConfig chooseConfig(EGL10 egl, EGLDisplay display) {
mValue = new int[1];
// Try to find a normal multisample configuration first.
int[] configSpec = {
EGL10.EGL_RED_SIZE, 5,
EGL10.EGL_GREEN_SIZE, 6,
EGL10.EGL_BLUE_SIZE, 5,
EGL10.EGL_DEPTH_SIZE, 16,
// Requires that setEGLContextClientVersion(2) is called on the view.
EGL10.EGL_RENDERABLE_TYPE, 4 /* EGL_OPENGL_ES2_BIT */,
EGL10.EGL_SAMPLE_BUFFERS, (!mDisableMultisampling ? 1 : 0)/* true */,
EGL10.EGL_SAMPLES, (!mDisableMultisampling ? 2 : 0),
EGL10.EGL_STENCIL_SIZE, 8,
EGL10.EGL_NONE
};
if (!egl.eglChooseConfig(display, configSpec, null, 0, mValue)) {
// ...
}
...
}
나는 다음과 같은 일을 시도 :
- 비활성화 멀티 샘플링 (효과 없음)
- 사용하는 24 비트 깊이 (효과 없음)
- glGet (GL_DEPTH_BITS) = 16
- glIsEnabled (GL_DEPTH_TEST)가 true
- glGet (GL_DEPTH_FUNC) = GL_LESS =을
- glGet (GL_DEPTH_WRITEMASK) = 1
- glGetString (GL_RENDERER)는 gc1000 코어를
프로젝션 매트릭스 = (프로그램 iOS에서뿐만 아니라, 다른 안드로이드 장치에서 작동하는) OK이다.
무엇이 문제를 일으킬 수 있습니까?
어떤 구성이 반환합니까? 정말 버퍼가 있습니까? 또한,'EGL_SAMPLE_BUFFERS' 및'EGL_SAMPLES'를 사용하지 않고 설정을 요청 했습니까? – keaukraine
시도했다, 그것은 아무런 영향을 미치지 않았다 :(얼마나 깊이 버퍼가 있는지 확인할 수 있습니까? – Asylum