コード例 #1
0
  /** This function is invoked by Gecko via JNI; be careful when modifying signature. */
  public LayerRenderer.Frame createFrame() {
    // Create the shaders and textures if necessary.
    if (!mLayerRendererInitialized) {
      mLayerRenderer.checkMonitoringEnabled();
      mLayerRenderer.createDefaultProgram();
      mLayerRendererInitialized = true;
    }

    return mLayerRenderer.createFrame(mFrameMetrics);
  }
コード例 #2
0
 public void destroy() {
   if (mLayerClient != null) {
     mLayerClient.destroy();
   }
   if (mRenderer != null) {
     mRenderer.destroy();
   }
 }
コード例 #3
0
ファイル: MapRenderer.java プロジェクト: kibergus/vtm
  private void draw() {

    GLState.setClearColor(mClearColor);

    gl.depthMask(true);
    gl.stencilMask(0xFF);

    gl.clear(GL.COLOR_BUFFER_BIT | GL.DEPTH_BUFFER_BIT | GL.STENCIL_BUFFER_BIT);

    gl.depthMask(false);
    gl.stencilMask(0);

    GLState.test(false, false);
    GLState.blend(false);
    GLState.bindTex2D(-1);
    GLState.useProgram(-1);
    GLState.bindElementBuffer(-1);
    GLState.bindVertexBuffer(-1);

    mViewport.setFrom(mMap);

    if (GLAdapter.debugView) {
      /* modify this to scale only the view, to see
       * which tiles are rendered */
      mViewport.mvp.setScale(0.5f, 0.5f, 1);
      mViewport.viewproj.multiplyLhs(mViewport.mvp);
      mViewport.proj.multiplyLhs(mViewport.mvp);
    }

    /* update layers */
    LayerRenderer[] layers = mMap.layers().getLayerRenderer();

    for (int i = 0, n = layers.length; i < n; i++) {
      LayerRenderer renderer = layers[i];

      if (!renderer.isInitialized) {
        renderer.setup();
        renderer.isInitialized = true;
      }

      renderer.update(mViewport);

      if (renderer.isReady) renderer.render(mViewport);

      if (GLAdapter.debug) GLUtils.checkGlError(renderer.getClass().getName());
    }

    if (GLUtils.checkGlOutOfMemory("finish")) {
      BufferObject.checkBufferUsage(true);
      // FIXME also throw out some textures etc
    }
  }
コード例 #4
0
 /** Used by robocop for testing purposes. Not for production use! */
 public IntBuffer getPixels() {
   return mRenderer.getPixels();
 }
コード例 #5
0
 public int getMaxTextureSize() {
   return mRenderer.getMaxTextureSize();
 }
コード例 #6
0
 public void removeLayer(Layer layer) {
   mRenderer.removeLayer(layer);
 }
コード例 #7
0
 public void addLayer(Layer layer) {
   mRenderer.addLayer(layer);
 }
コード例 #8
0
 /** This function is invoked by Gecko via JNI; be careful when modifying signature. */
 public void deactivateProgram() {
   mLayerRenderer.deactivateDefaultProgram();
 }