@Override public void onSurfaceCreated(GL10 unused, EGLConfig config) { ShaderManager.getSingletonObject().unloadAll(); ShaderManager.getSingletonObject().cleanUp(); TextureManager.getSingletonObject().unloadAll(); TextureManager.getSingletonObject().cleanUp(); loadResources(); if (phenixLineProgram != null) { phenixLineProgram.load(); } ShaderManager.getSingletonObject().unloadAllShaders(); renderTextures = new RenderTexture[2]; frameBuffers = new FrameBuffer[2]; setupFrameBuffer(unused); Matrix.setLookAtM(V_matrix, 0, 0, 0, 1.0f, 0f, 0f, 0f, 0f, -1.0f, 0.0f); Matrix.orthoM(Q_matrix, 0, 0, 1, 0, 1, -1, 1); }
private void setupFrameBuffer(GL10 unused) { TextureManager textureManager = TextureManager.getSingletonObject(); int numberOfRequiredTextures = useOneFramebuffer ? 1 : 2; for (int i = 0; i < numberOfRequiredTextures; ++i) { renderTextures[i] = textureManager.createRenderTexture(frameBufferWidth, frameBufferHeight); if (!renderTextures[i].load()) { Log.e(TAG, "Could not create render texture"); throw new RuntimeException("Could not create render texture"); } frameBuffers[i] = textureManager.createFrameBuffer(renderTextures[i]); if (!frameBuffers[i].load()) { Log.e(TAG, "Could not create frame buffer"); throw new RuntimeException("Could not create frame buffer"); } } }