우리는 가상 3D 지구본을 통해 지형 시각화 소프트웨어로 작업하는 개발자 팀입니다. 이 프로젝트는 주로 태블릿과 휴대 전화 인 안드로이드를 실행하는 휴대 기기를 대상으로합니다. 우리는 여러 가지 장치에서 이것을 테스트 해 보았습니다. 휴대 전화는 응용 프로그램을 잘 실행하는 것처럼 보이지만 (어떤 항목에서도 문제를 발견하지 못했음) 일부 태블릿에서는 화면에서 텍스처를 그릴 때 문제가있는 것으로 보입니다.일부 안드로이드 장치에서 Opengl 텍스처가 깜박임
단어를 설명하기가 다소 어려우므로 명확한 설명을 위해 문제를 표시하는 비디오를 첨부하십시오. 이 예제는 200 개의 섹터로 나뉘어 진 구체를 보여줍니다. 각각의 섹터는 서로 다른 질감을가집니다. 당신이 볼 수 있듯이이 같은 시간에 같은 부문에서 두 개의 서로 다른 질감을 끌기 위해 노력하고있다처럼
는 때때로 보인다.
우리는 이러한 장치에서 검사를하지 : (확인)
- 삼성 갤럭시 S SLC (propperly 나던 작업)
- 소니 태블릿 S (중 나던 작업)
- 삼성 갤럭시 탭 7.0 (확인)
여기에 관련된 중요한 코드를 게시하고 있습니다. 텍스처를 그리는 데 사용되는 첫 번째 조각 쉐이더 :
varying mediump vec2 TextureCoordOut;
uniform sampler2D Sampler;
....
gl_FragColor = texture2D (Sampler, TextureCoordOut);
다음, 코드가 몇 가지 큰 기능에서 절약되기 때문에 메신저, OpenGL을 실행하는 중요한 지침을 게시을 :
GLES20.glGenTextures(num, idTextures, 1); //declare 200 textures
...
GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, idTextures[texture]); //texture binding
...
GLES20.glVertexAttribPointer(Attributes.Position, size, GLES20.GL_FLOAT, false, stride, fb);
...
GLES20.glVertexAttribPointer(Attributes.TextureCoord, size, GLES20.GL_FLOAT, false, stride, fb);
...
GLES20.glDrawArrays(GLES20.GL_TRIANGLE_STRIP, first, count);
임 더 자세한 정보를 제공하지 못해 죄송합니다. 그러나 몇 주간의 디버깅을 마친 후에 우리는이 문제의 원인이 될 수있는 어떤 단서도 없습니다. 우리가 지금 완전히 잃어 버렸기 때문에 어떤 단서가 오기를 바라고있는 너를 돌이켜 보아라. 미리 감사드립니다.
모든 렌더링주기마다''glFlush'' 또는''glFinish''를 추가하면 렌더링 상태가 지속적으로 크게 변경되는 것처럼 보일 수도 있습니다. – harism
제안에 감사하지만 불행히도 그것은 작동하지 않았다. –