com.jme3.texture.FrameBuffer.setId()方法的使用及代码示例

x33g5p2x  于2022-01-19 转载在 其他  
字(2.5k)|赞(0)|评价(0)|浏览(97)

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

FrameBuffer.setId介绍

暂无

代码示例

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

public void updateFrameBuffer(FrameBuffer fb) {
  if (fb.getNumColorBuffers() == 0 && fb.getDepthBuffer() == null) {
    throw new IllegalArgumentException("The framebuffer: " + fb
        + "\nDoesn't have any color/depth buffers");
  }
  int id = fb.getId();
  if (id == -1) {
    glfbo.glGenFramebuffersEXT(intBuf1);
    id = intBuf1.get(0);
    fb.setId(id);
    objManager.registerObject(fb);
    statistics.onNewFrameBuffer();
  }
  bindFrameBuffer(fb);
  FrameBuffer.RenderBuffer depthBuf = fb.getDepthBuffer();
  if (depthBuf != null) {
    updateFrameBufferAttachment(fb, depthBuf);
  }
  for (int i = 0; i < fb.getNumColorBuffers(); i++) {
    FrameBuffer.RenderBuffer colorBuf = fb.getColorBuffer(i);
    updateFrameBufferAttachment(fb, colorBuf);
  }
  
  setReadDrawBuffers(fb);
  checkFrameBufferError();
  fb.clearUpdateNeeded();
}

代码示例来源:origin: us.ihmc.thirdparty.jme/jme3-lwjgl

public void updateFrameBuffer(FrameBuffer fb) {
  int id = fb.getId();
  if (id == -1) {
    // create FBO
    glGenFramebuffersEXT(intBuf1);
    id = intBuf1.get(0);
    fb.setId(id);
    objManager.registerObject(fb);
    statistics.onNewFrameBuffer();
  }
  if (context.boundFBO != id) {
    glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, id);
    // binding an FBO automatically sets draw buf to GL_COLOR_ATTACHMENT0
    context.boundDrawBuf = 0;
    context.boundFBO = id;
  }
  FrameBuffer.RenderBuffer depthBuf = fb.getDepthBuffer();
  if (depthBuf != null) {
    updateFrameBufferAttachment(fb, depthBuf);
  }
  for (int i = 0; i < fb.getNumColorBuffers(); i++) {
    FrameBuffer.RenderBuffer colorBuf = fb.getColorBuffer(i);
    updateFrameBufferAttachment(fb, colorBuf);
  }
  fb.clearUpdateNeeded();
}

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

public void updateFrameBuffer(FrameBuffer fb) {
  if (fb.getNumColorBuffers() == 0 && fb.getDepthBuffer() == null) {
    throw new IllegalArgumentException("The framebuffer: " + fb
        + "\nDoesn't have any color/depth buffers");
  }
  int id = fb.getId();
  if (id == -1) {
    glfbo.glGenFramebuffersEXT(intBuf1);
    id = intBuf1.get(0);
    fb.setId(id);
    objManager.registerObject(fb);
    statistics.onNewFrameBuffer();
  }
  bindFrameBuffer(fb);
  FrameBuffer.RenderBuffer depthBuf = fb.getDepthBuffer();
  if (depthBuf != null) {
    updateFrameBufferAttachment(fb, depthBuf);
  }
  for (int i = 0; i < fb.getNumColorBuffers(); i++) {
    FrameBuffer.RenderBuffer colorBuf = fb.getColorBuffer(i);
    updateFrameBufferAttachment(fb, colorBuf);
  }
  
  setReadDrawBuffers(fb);
  checkFrameBufferError();
  fb.clearUpdateNeeded();
}

相关文章