mineshot icon indicating copy to clipboard operation
mineshot copied to clipboard

Screenshots not working for enormous resolutions.

Open Minecraftian14 opened this issue 5 years ago • 3 comments

Nice mod, but few problems: -> Screenshots as big as 20000x20000 are just huge black squares. -> Screenshots as big as the 65500x65500 are not even accepted. When I press F9, a message pops up "Couldn't save screenshot: Negative capacity: -14151888"

I use Photo Paint to view the images, have 8gb ram, and a full TB left in my hard drive. Thank you.

Minecraftian14 avatar May 15 '20 07:05 Minecraftian14

Sounds like an integer overflow someplace. Probably could be fixed by increasing the size of the types that are used to store resolutions/indices. I'm not familiar with the internals though.

MggMuggins avatar May 15 '20 18:05 MggMuggins

https://github.com/ata4/mineshot/blob/91c664e38369476adb2d4162847779498339749a/src/main/java/info/ata4/minecraft/mineshot/client/capture/FramebufferCapturer.java#L38

65500 * 65500 * 3 overflows to -14151888

As far as I can tell, the ByteBuffer class cannot have a buffer greater than the maximum allowable Java array size, which is 2^32 - 8. The maximum image size must be less than this, ex. 37837 * 37837 * 3. The LWJGL function glReadPixels() only accepts objects of the type Buffer, so there's not much that can be done.

Did you enable Tiled Rendering? This seems to be the only way to get around this limitation.

NoahBPeterson avatar May 20 '20 22:05 NoahBPeterson

Umm.... When I enable tile rendering, it takes normal screenshots and arrange them one after the other to fill the space (the dimensions I provide). Is that what its supposed to do? And then what's it actual use?

Minecraftian14 avatar May 21 '20 07:05 Minecraftian14