mirror of
https://github.com/curioustorvald/Terrarum.git
synced 2026-06-12 03:24:06 +09:00
screenshot taking extracted to its own function
This commit is contained in:
@@ -571,23 +571,9 @@ public class App implements ApplicationListener {
|
|||||||
FrameBufferManager.end();
|
FrameBufferManager.end();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// process screenshot request
|
// process screenshot request
|
||||||
/*if (screenshotRequested) {
|
processScreenshotRequest(postProcessorOutFBO);
|
||||||
FrameBufferManager.begin(postProcessorOutFBO);
|
|
||||||
try {
|
|
||||||
Pixmap p = Pixmap.createFromFrameBuffer(0, 0, postProcessorOutFBO.getWidth(), postProcessorOutFBO.getHeight());
|
|
||||||
PixmapIO.writePNG(Gdx.files.absolute(defaultDir+"/Screenshot-"+String.valueOf(System.currentTimeMillis())+".png"), p, 9, true);
|
|
||||||
p.dispose();
|
|
||||||
Terrarum.INSTANCE.getIngame().sendNotification("Screenshot taken");
|
|
||||||
}
|
|
||||||
catch (Throwable e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
Terrarum.INSTANCE.getIngame().sendNotification("Failed to take screenshot: "+e.getMessage());
|
|
||||||
}
|
|
||||||
FrameBufferManager.end();
|
|
||||||
screenshotRequested = false;
|
|
||||||
}*/
|
|
||||||
|
|
||||||
|
|
||||||
if (getConfigString("screenmagnifyingfilter").equals("hq2x") ) {
|
if (getConfigString("screenmagnifyingfilter").equals("hq2x") ) {
|
||||||
@@ -595,8 +581,6 @@ public class App implements ApplicationListener {
|
|||||||
hq2x.renderToScreen(postProcessorOutFBO.getColorBufferTexture());
|
hq2x.renderToScreen(postProcessorOutFBO.getColorBufferTexture());
|
||||||
FrameBufferManager.end();
|
FrameBufferManager.end();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
shaderPassthruRGBA.bind();
|
shaderPassthruRGBA.bind();
|
||||||
shaderPassthruRGBA.setUniformi("u_texture", 0);
|
shaderPassthruRGBA.setUniformi("u_texture", 0);
|
||||||
postProcessorOutFBO2.getColorBufferTexture().setFilter(Texture.TextureFilter.Linear, Texture.TextureFilter.Linear);
|
postProcessorOutFBO2.getColorBufferTexture().setFilter(Texture.TextureFilter.Linear, Texture.TextureFilter.Linear);
|
||||||
@@ -635,6 +619,24 @@ public class App implements ApplicationListener {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static void processScreenshotRequest(FrameBuffer fb) {
|
||||||
|
if (screenshotRequested) {
|
||||||
|
FrameBufferManager.begin(fb);
|
||||||
|
try {
|
||||||
|
Pixmap p = Pixmap.createFromFrameBuffer(0, 0, fb.getWidth(), fb.getHeight());
|
||||||
|
PixmapIO.writePNG(Gdx.files.absolute(defaultDir+"/Screenshot-"+String.valueOf(System.currentTimeMillis())+".png"), p, 9, true);
|
||||||
|
p.dispose();
|
||||||
|
Terrarum.INSTANCE.getIngame().sendNotification("Screenshot taken");
|
||||||
|
}
|
||||||
|
catch (Throwable e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
Terrarum.INSTANCE.getIngame().sendNotification("Failed to take screenshot: "+e.getMessage());
|
||||||
|
}
|
||||||
|
FrameBufferManager.end();
|
||||||
|
screenshotRequested = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static Texture getCurrentDitherTex() {
|
public static Texture getCurrentDitherTex() {
|
||||||
int hash = 31 + GLOBAL_RENDER_TIMER + 0x165667B1 + GLOBAL_RENDER_TIMER * 0xC2B2AE3D;
|
int hash = 31 + GLOBAL_RENDER_TIMER + 0x165667B1 + GLOBAL_RENDER_TIMER * 0xC2B2AE3D;
|
||||||
hash = Integer.rotateLeft(hash, 17) * 0x27D4EB2F;
|
hash = Integer.rotateLeft(hash, 17) * 0x27D4EB2F;
|
||||||
|
|||||||
Reference in New Issue
Block a user