Posts by Erik Krause

    I have received reports that krpano (1.20.4) displays the error message “Adobe Flash Player or an HTML5 browser with WebGL or CSS3D support required!” when running on Chrome version 151.0.7922.109 (Official Build) (x86_64) on an Intel Mac.

    I advised to do the fix as indicated in

    rebaj83
    November 8, 2018 at 11:14 AM

    , but this didn't help. Are there other ideas?

    best regards

    So many thanks!

    In the end I had to write

    Code
    <events 
    	onenterfullscreen="set(area.width,'640'); set(area.height,'480');"
    	onexitfullscreen="set(area.width,'100%'); set(area.height,'100%');"
    	/>	

    The solution with only <area> and link: would have been nice, but the WWP is still on 1.20.4 (which is sufficient in every other respect). Now I have to figure out maximum viewer sizes for our legacy panoramas. Thanks again!

    Or perhapse, in those cases, display them in a centered krpano type layer and set the max size as the pano requires?

    Yes, that would be a workaround. I was wondering if there's a built-in option that would save me the trouble. I guess I would need to use display.customFullscreenElement? I played around a bit, and I found that I can point it to a <div> enclosing the #krpanoSWFObject, where I can set padding with :fullscreen pseudo class to reduce the viewer size. Will this work across major browsers?

    It just dawned on me, that maxpixelzoom might not work properly, if I have fixed cubeface sizes, as we have on the WWP. Some panoramas get enlarged when converted to cubefaces. Am I right, that I would need to reduce maxpixelzoom by a factor calculated from the ideal cubeface size and the actual one?

    Hello,

    on the WorldWidePanorama project we have several quite old and small panoramas, some of which get pretty overzoomed if viewed fullscreen. I would assume maxpixelzoom to limit zooming even in fullscreen mode, which for some panoramas would mean they would have to be displayed with black bars all around. Is that feasible in any way?

    I know I can adjust the size of the HTML5 canvas element using CSS, but that's quite tedious and a bit hacky because it also changes the aspect ratio of the image, causing it to become stretched or squashed. It would be nice if krpano could handle that on its own.

    Disabling full-screen mode for these panoramas isn't ideal either, because depending on the monitor, it would be nice to be able to display the image larger than the viewer window.

    If an equirectangular image contains certain XMP metadata, the yaw of the created rectilinear image in VIEW mode is by 180° wrong.

    I use this command on a linux machine in a script:

    Code
    krpanotools spheretocube VIEW "$myFile" "./wwpthumbfinal.tif" -profile=sRGB -cachesize=128 -outsize=2048x1024 -fov=$6 -lookat=$myPan,$myTilt,0 -q

    For one image this didn't work, the yaw was wrong by 180°. I discovered that if I remove the XMP metadata from the image, it works as expected. I tried the -noautolevel parameter to no avail. How can I convince krpanotools to ignore XMP metadata?

    version is 1.20.11 64-bit

    best regards

    Erik Krause

    Hello,
    what would be a good value for maxpixelzoom on modern monitors?

    Pixels on modern monitors are usually smaller than the human eye can resolve, hence with a maxpixelzoom of 1 small details would be lost on such monitors.
    My considerations so far: The limit at which the human eye perceives an edge as sharp is about 2 arcminutes. I assume this as the limit to perceive pixels. To perceive blur, at least two pixels would be needed.
    A monitor is seldom viewed from nearer than its height, which is equivalent to a vFoV of 53°. Hence, a maximum of 1590 pixels (vertically) could be resolved and if you accept minimum blur only 795 pixels are needed. A 4k Monitor can have up to 2160 pixels vertically, so maxpixelzoom should be 1.36 for a display at the sharpness limit or 2.72 to show a tiny bit of blur at the nearest usual viewing distance. Further away, it would still look sharp.

    Does that sound correct?
    Erik Krause

    Hello,

    for a multi-resolution panorama, can I mix levels with the cube type and the sphere type? Like so:

    Code
    <image tilesize="512" multires="true" >
        <level tiledimagewidth="2304" tiledimageheight="2304">
          <cube url="cubetiles/%s/l%l/%v/l%l_%s_%v_%h.jpg" />
        </level>
        <level tiledimagewidth="14000" tiledimageheight="7000">
          <sphere url="spheretiles/tile_%v_%h.jpg" />
        </level>
      </image>

    Background: I'd like to provide higher resolution versions for several thousand panoramas, which already exist as 2048px cube faces and as full sized equirects. Since I need to use maketiles anyway for low RAM reasons on the server, it would be convenient to use these tiles as a higher resolution level. My tests didn't yield any usable results, but may be there is some trick...
    best reagrds
    Erik

    I suspected the visibility toggle to be the cause for the double loading, hence I tried to toggle alpha instead. This fixed the flickering, but double loading still happens. I assume now that this is a bug. Even a minimal XML file like this one causes the image to be loaded twice.

    Code
    <krpano version='1.20.4' >
     	<layer url='/image.jpg' />
    </krpano>

    I now use the approach from this thread. (Thanks Tuur for pointing me too that off list). However, as soon as it starts moving the images are loaded a second time. What could be causing this? See it working here. I use this code for preloading the images:

    I tried the following code for preloading.


    Code
    <action name='preloadimage'>		addplugin(pre_%1);		set(plugin[pre_%1].visible, false);
    		set(plugin[pre_%1].onloaded, trace(preload %1 done);removeplugin(pre_%1) );
    		set(plugin[pre_%1].url, /qtkrparse.php/tile.jpg?mov=$file&amp;action=tile&amp;x_ofs=%1&amp;y_ofs=0) );
    	</action>
    
    
    	<action name='preloadimages'>
    		trace(starting loop);
    		for(set(i,0), i LT $stsz_num, inc(i), preloadimage(get(i)) );	
    	</action>


    It sort of works, images are visible immediately, but there is still flicker, at least for the first round. Seems like the flicker is caused by the transfer into the internal buffer. Any idea how I can preload directly into a frame? Or use layers directly for the object movie?