com.jme3.renderer.Renderer.setClipRect()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(4.0k)|赞(0)|评价(0)|浏览(289)

本文整理了Java中com.jme3.renderer.Renderer.setClipRect方法的一些代码示例,展示了Renderer.setClipRect的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Renderer.setClipRect方法的具体详情如下:
包路径:com.jme3.renderer.Renderer
类名称:Renderer
方法名:setClipRect

Renderer.setClipRect介绍

[英]Specifies a clipping rectangle. For all future rendering commands, no pixels will be allowed to be rendered outside of the clip rectangle.
[中]指定剪切矩形。对于所有未来的渲染命令,不允许在剪辑矩形之外渲染任何像素。

代码示例

代码示例来源:origin: jMonkeyEngine/jmonkeyengine

public void enableClip(int x0, int y0, int x1, int y1) {
  clipWasSet = true;
  r.setClipRect(x0, getHeight() - y1, x1 - x0, y1 - y0);
}

代码示例来源:origin: jMonkeyEngine/jmonkeyengine

private void setViewPort(Camera cam) {
    // this will make sure to update viewport only if needed
    if (cam != prevCam || cam.isViewportChanged()) {
      viewX      = (int) (cam.getViewPortLeft() * cam.getWidth());
      viewY      = (int) (cam.getViewPortBottom() * cam.getHeight());
      int viewX2 = (int) (cam.getViewPortRight() * cam.getWidth());
      int viewY2 = (int) (cam.getViewPortTop() * cam.getHeight());
      viewWidth  = viewX2 - viewX;
      viewHeight = viewY2 - viewY;
      uniformBindingManager.setViewPort(viewX, viewY, viewWidth, viewHeight);
      renderer.setViewPort(viewX, viewY, viewWidth, viewHeight);
      renderer.setClipRect(viewX, viewY, viewWidth, viewHeight);
      cam.clearViewportChanged();
      prevCam = cam;

//            float translateX = viewWidth == viewX ? 0 : -(viewWidth + viewX) / (viewWidth - viewX);
//            float translateY = viewHeight == viewY ? 0 : -(viewHeight + viewY) / (viewHeight - viewY);
//            float scaleX = viewWidth == viewX ? 1f : 2f / (viewWidth - viewX);
//            float scaleY = viewHeight == viewY ? 1f : 2f / (viewHeight - viewY);
//            
//            orthoMatrix.loadIdentity();
//            orthoMatrix.setTranslation(translateX, translateY, 0);
//            orthoMatrix.setScale(scaleX, scaleY, 0); 

      orthoMatrix.loadIdentity();
      orthoMatrix.setTranslation(-1f, -1f, 0f);
      orthoMatrix.setScale(2f / cam.getWidth(), 2f / cam.getHeight(), 0f);
    }
  }

代码示例来源:origin: org.jmonkeyengine/jme3-core

private void setViewPort(Camera cam) {
    // this will make sure to update viewport only if needed
    if (cam != prevCam || cam.isViewportChanged()) {
      viewX      = (int) (cam.getViewPortLeft() * cam.getWidth());
      viewY      = (int) (cam.getViewPortBottom() * cam.getHeight());
      int viewX2 = (int) (cam.getViewPortRight() * cam.getWidth());
      int viewY2 = (int) (cam.getViewPortTop() * cam.getHeight());
      viewWidth  = viewX2 - viewX;
      viewHeight = viewY2 - viewY;
      uniformBindingManager.setViewPort(viewX, viewY, viewWidth, viewHeight);
      renderer.setViewPort(viewX, viewY, viewWidth, viewHeight);
      renderer.setClipRect(viewX, viewY, viewWidth, viewHeight);
      cam.clearViewportChanged();
      prevCam = cam;

//            float translateX = viewWidth == viewX ? 0 : -(viewWidth + viewX) / (viewWidth - viewX);
//            float translateY = viewHeight == viewY ? 0 : -(viewHeight + viewY) / (viewHeight - viewY);
//            float scaleX = viewWidth == viewX ? 1f : 2f / (viewWidth - viewX);
//            float scaleY = viewHeight == viewY ? 1f : 2f / (viewHeight - viewY);
//            
//            orthoMatrix.loadIdentity();
//            orthoMatrix.setTranslation(translateX, translateY, 0);
//            orthoMatrix.setScale(scaleX, scaleY, 0); 

      orthoMatrix.loadIdentity();
      orthoMatrix.setTranslation(-1f, -1f, 0f);
      orthoMatrix.setScale(2f / cam.getWidth(), 2f / cam.getHeight(), 0f);
    }
  }

代码示例来源:origin: info.projectkyoto/mms-engine

private void setViewPort(Camera cam) {
    // this will make sure to update viewport only if needed
    if (cam != prevCam || cam.isViewportChanged()) {
      viewX = (int) (cam.getViewPortLeft() * cam.getWidth());
      viewY = (int) (cam.getViewPortBottom() * cam.getHeight());
      viewWidth = (int) ((cam.getViewPortRight() - cam.getViewPortLeft()) * cam.getWidth());
      viewHeight = (int) ((cam.getViewPortTop() - cam.getViewPortBottom()) * cam.getHeight());
      renderer.setViewPort(viewX, viewY, viewWidth, viewHeight);
      renderer.setClipRect(viewX, viewY, viewWidth, viewHeight);
      cam.clearViewportChanged();
      prevCam = cam;

//            float translateX = viewWidth == viewX ? 0 : -(viewWidth + viewX) / (viewWidth - viewX);
//            float translateY = viewHeight == viewY ? 0 : -(viewHeight + viewY) / (viewHeight - viewY);
//            float scaleX = viewWidth == viewX ? 1f : 2f / (viewWidth - viewX);
//            float scaleY = viewHeight == viewY ? 1f : 2f / (viewHeight - viewY);
//            
//            orthoMatrix.loadIdentity();
//            orthoMatrix.setTranslation(translateX, translateY, 0);
//            orthoMatrix.setScale(scaleX, scaleY, 0); 

      orthoMatrix.loadIdentity();
      orthoMatrix.setTranslation(-1f, -1f, 0f);
      orthoMatrix.setScale(2f / cam.getWidth(), 2f / cam.getHeight(), 0f);
//            orthoMatrix.fillFloatBuffer(orthoMatrixBuf, true);
    }
  }

相关文章