/** Resizes internal RavCamera for framebuffer use, call this in you ApplicationListener's resize.
*
* @param width - new screen width
* @param height - new screen height
* @param resizeFramebuffers - whether all of the framebuffers should be recreated to match new screen size */
public void resize (int width, int height, boolean resizeFramebuffers) {
// ?????
if (resizeFramebuffers) {
Keys<String> keys = frameBuffers.keys();
while (keys.hasNext) {
String key = keys.next();
FrameBuffer fb = frameBuffers.get(key);
int oldWidth = fb.getWidth();
int oldHeight = fb.getHeight();
Format format = fb.getColorBufferTexture().getTextureData().getFormat();
fb.dispose();
frameBuffers.put(key, null);
float factorX = 1f * width / screenCamera.viewportWidth;
float factorY = 1f * height / screenCamera.viewportHeight;
createFB(key, format, (int)(factorX * oldWidth), (int)(factorY * oldHeight));
// System.out.println("Recreated FB '" + key + "' from " +
// oldWidth + "x" + oldHeight + " to " +
// frameBuffers.get(key).getWidth() + "x" +
// frameBuffers.get(key).getHeight());
}
}
screenCamera = new OrthographicCamera(width, height);
createScreenQuad();
}
ShaderManager.java 文件源码
java
阅读 42
收藏 0
点赞 0
评论 0
项目:RavTech
作者:
评论列表
文章目录