Android 앱에 iPhone 앱을 포팅하고 OpenGL 프레임 버퍼를 사용해야합니다. Nexus One이 있고 glGet (GL_EXTENSIONS) 호출을 통해 Nexus One이 iPhone과 동일한 프레임 버퍼 확장을 지원함을 알 수 있습니다. 그러나 GLSurfaceView에서 OpenGL 확장과 관련된 함수를 호출 할 수 없습니다. 간단한 프레임 버퍼 get 함수를 호출하면 UnsupportedOperationException이 발생합니다.Nexus One GL_FRAMEBUFFER_OES 확장 프로그램 ... 실제로 없나요?
이 문제를 해결할 수없는 것 같습니다. 은에 개발을 계속하기 위해 프레임 버퍼가 있어야합니다. 완전 OpenGL 컨텍스트 객체를 얻기 위해 OpenGL 컨텍스트가 만들어 질 때 몇 가지 옵션을 전달해야합니까? 여기에 하드웨어의 기능을 결정하는 코드 블록이 있습니다. 그것은 확장을 지원한다고 주장하고 내 gl 객체는 GL11ExtensionPack의 인스턴스이지만, glGetFramebufferAttachmentParameterivOES에 대한 호출은 UnsupportedOperationException으로 실패합니다.
public void runEnvironmentTests()
{
String extensions = gl.glGetString(GL11.GL_EXTENSIONS);
Log.d("Layers Graphics", extensions);
if (gl instanceof GL11ExtensionPack) {
Log.d("Layers Graphics", "GL11 Extension Pack supported");
GL11ExtensionPack g = (GL11ExtensionPack) gl;
int[] r = new int[1];
try {
g.glGetFramebufferAttachmentParameterivOES(GL11ExtensionPack.GL_FRAMEBUFFER_OES, GL11ExtensionPack.GL_COLOR_ATTACHMENT0_OES, L11.GL_TEXTURE_2D, r, 0);
Log.d("Layers Graphics", "Framebuffers are supported");
} catch (UnsupportedOperationException e) {
e.printStackTrace();
framebuffersSupported = false;
Log.d("Layers Graphics", "Framebuffers are NOT supported");
}
}
}
누구나 GL_FRAMEBUFFERS_OES 확장 프로그램을 성공적으로 사용했다면 알려 주시기 바랍니다. 나는 그것이 자바 API에서 구현되지 않을 수도 있다고 생각하기 시작했다.
안녕하세요. 이전 질문으로 향하고있는 Im http://stackoverflow.com/questions/1716728/android-opengles-render-to-texture – Dullahx