Giter Site home page Giter Site logo

Comments (11)

simoneruffini avatar simoneruffini commented on June 9, 2024

I tried compressing the image with image magic to a smaller size and to jpg but still same result.
Then I exportied the original (from krita) directly in jpg, now the file size is 92MB. No render even with that size. Then i converted it through imagemagick (magick back1.jpg -strip -interlace Plane -sampling-factor 4:2:0 -quality 50% back.jpg) still no success. Now the image is 11MB.

from imv.

GbGp avatar GbGp commented on June 9, 2024

I can replicate this, for example:
https://esahubble.org/images/heic2007a/
I can open the "Publication TIFF 10K" version (163 MB, 10000x6871), but not the fullsize version (520 MB, 17043x11710).
No problem when opening with gimp.

from imv.

simoneruffini avatar simoneruffini commented on June 9, 2024

I got the same problem with other images. All of them have weird proportions and a lot of pixels, e.g: 24918x9920.

from imv.

GbGp avatar GbGp commented on June 9, 2024

Reading the source it looks like the picture is rendered directly as an opengl texture. I don't know anything about opengl but obviously there is a maximum size that depends on the gpu.
Not sure what make more sense for this project, but I am guessing that at very least the renderer should be provided with a copy of the input pic with resolution clipped to GL_MAX_TEXTURE_SIZE.

from imv.

eXeC64 avatar eXeC64 commented on June 9, 2024

Years ago when I first wrote imv it used multiple power-of-two sized textures to display the image. I don't remember the reasons for switching to a single-power-of-two texture, but I recall it supporting everything I tried at the time on the devices I had to test with.

I suspect drivers are smart enough that if they're failing for certain images, they won't succeed for multiple textures of an equivalent total size being showed simultaneously. Downscaling and only displaying full resolution when zoomed into a smaller area of the image is probably the required solution, but that adds a lot of implementation complexity.

from imv.

simoneruffini avatar simoneruffini commented on June 9, 2024

Ok so this means that imv does not support certain resolutions, right? Hence, which resolutions are supported? And does this means that this issue is a #wontfix?

from imv.

akimdi avatar akimdi commented on June 9, 2024

@eXeC64
@simoneruffini
I also have the same problem, but I don't need to have a large image.
P.S. image 4Mb
114320803-05936c00-9b18-11eb-8d97-2fb0bfb95637
.

from imv.

akimdi avatar akimdi commented on June 9, 2024

Similar problem
ArturKovacs/emulsion#99

from imv.

GbGp avatar GbGp commented on June 9, 2024

@simoneruffini
The maximum picture size hardware/driver dependent, for example on my machine it's 16384x16384.

Similar problem
ArturKovacs/emulsion#99

Didn't have time to look at this in detail, but it looks like they are fixing the same issue by tiling the image in smaller texts.

from imv.

akimdi avatar akimdi commented on June 9, 2024

example
https://upload.wikimedia.org/wikipedia/commons/1/1f/Geneva_from_Saleve_0.jpg

from imv.

eXeC64 avatar eXeC64 commented on June 9, 2024

It's not a wontfix, the rendering just needs to be refactored to use multiple smaller textures when the image is too big for a single. I'm happy to review PRs, I just have very limited time to write code for imv myself currently.

from imv.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.