Beispiel #1
0
  @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);
  }
Beispiel #2
0
  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");
      }
    }
  }