1.0.8 beta 9 - fovtype setting

  • Hi,

    regarding to the discussion here in the PanoToolsNG List about the field of view (FOV):

    I thought it would be a good idea to make the type/base of the FOV adjustable in krpano,
    at the moment the FOV value (view.fov) in krpano defines the vertical FOV,

    now I added a new setting - view.fovtype (xml: <view fovtype="VFOV" />)
    it defines the type of the fov value,

    it can be:

    • VFOV - vertical field of view (the default)
    • HFOV - horizontal field of view
    • DFOV - diagonal field of view
    • MFOV - 'maximum' field of view (a mix of VFOV and HFOV, works like the FPP fov)

    here an online demo with adjustable fovtype and various window sizes:

    here a new 1.0.8 beta 9 pre-release package for downloading:

    and here a some explanation images about the fovtype:

    - based on the vertical window size
    - the VFOV is fixed and the HFOV will change on window resize

    - based on the horizontal window size
    - the HFOV is fixed and the VFOV will change on window resize

    - based on the diagonal window size
    - the DFOV is fixed and the HFOV and VFOV will change on window resize

    - based either on the horizontal windowsize or on the, by 4/3, scaled vertical windowsize
    - the MFOV is fixed and either HFOV or VFOV will change on window resize

    the demo above also includes an adjustable "maxpixelzoom" setting,
    the "maxpixelzoom" setting set how much the original pano image can be scaled/zoomed, based on the panoramic image resolution (maxpixelzoom=1.0 => 100% pixel view),

    but note - at larger field of views the scaling of the original pano image is not constant over the entire screen (it is distorted - more scaling/distortion at the 'edges', fewer in the 'middle'), the "maxpixelzoom" respects that and when the resolution of the pano is too low, it limits the zooming already before reaching a real 1:1 pixelview in the middle area,

    best regards,

  • Cool .... I really want to see the final release of Krpano 1.0.8 (9) with his great documentation and examples (I'm sure it will be really great).
    Panotools (Prof. Dr. H. Dersch) made available to many the world of the panoramic image.
    Krpano makes this world available at all.
    And all this thanks to the passion of people with immense talent.

    THANKS A LOT. *thumbsup*

  • Klaus, I hope you do not mind, I copied a bit of text from the discussion on PanoToolsNG. You are one busy guy, doing great work, wow.... Thank you, Thank you, Thank you!

    Based on what I understand (maybe?) from below would this also change the lock level based when a viewer goes from a window to FS? Or is this set based on Screen size, not stage size?

    Amazing stuff here, well done, well done!


    > This proposal would offer a neat way to pick the ordinary cubeface
    > set based on the visitor's display size. The end result would be a
    > regular, non-streaming-tiles pano, but with the right pixel size for
    > whatever screen size a visitor might have. I like this idea.

    Hi, thats possible direct in krpano now *wink*
    (in krpano 1.0.8 beta 9)

    there is already the 'lockmultireslevel' setting,
    with it is possible to lock a specific resolution level,

    and when 'lockmultireslevel' will be set to 'current',
    it will lock the current one,

    and the 'current' one is the one which fits the current screensize and
    the current field of view at the best,

    now to load only the tiles from the 'current' resolution level,
    I have added a new setting - 'downloadlockedlevel',
    when set to true - all tiles from the locked level will be downloaded,
    (bute note - by default all levels in the xml should be set download="view" for
    this case)

    as xml the code will look like this:



    <image ... multires="true" progressive="false">
    <level ... download="view"> .. </level>
    <level ... download="view"> .. </level>
    <level ... download="view"> .. </level>


    with that it would be possible to use a separate cube sizes for all possible
    screensizes and only the best one will be downloaded,
    and there will be no 'reloads' in this case,

    best regards,

    Edited once, last by image360 (October 29, 2009 at 7:17 PM).

  • Another great features. Thanks !

    I've two questions :

    - I don't understand, Klaus, why you set progressive="false"

    I think this is because I've not really understand what it's doing or not *smile*

    - downloadlockedlevel and lockmultireslevel can't be set in the krpano tag ?

    like this :

    <krpano downloadlockedlevel="true" lockmultireslevel="true" >


  • Wow, a "maxpixelzoom" -- I've wanted that for a week now, and -- thanks to KR having telepathic abilities -- I got it today! (Yes, it's a spooky thing, this Klaus-Klaus Konnektion. :-))

  • Sorry, but I've been unable to make the new "maxpixelzoom" setting work. I'm probably just stupid with the code syntax, so could you please give us an actual working code example? The demo is GREAT as a visual demo -- but useless to me in actual coding. We stupid artist types need copy-paste code examples. *smile*

  • Hi all,

    It seems there is more news coming inside this example... *smile*

    There is a new action - a IFNOT action...

    ifnot(condition, trueaction, falseaction);

    There is a new Combobox plugin with new attributes:
    dropdownwidth="value" and rowcount="value"...
    and a new IdItem parameter for the interface function additem():
    additem( IdItem , label , actions )...
    and a new action selectIdItem( IdItem ); instead of selectitem(label); (great when multilingual Labels are used *thumbup* )


  • Hi all,

    More news coming inside this example... *smile*

    There is a new action - a roundval() action...


    Returns the rounded value of val to specified precision (number of digits after the decimal point).
    If the decimal portion of the number is equal or greater than .5 then the next higher integer is returned.


  • this is great! just one question, is the view itself resizing or it just get masked, will the view relative/absolute width/height be adjustable? it might really help

  • Hi carbon,


    ...is the view itself resizing or it just get masked...

    No mask here.... it is the area of the view that is changed dynamically *smile* .
    This is a new feature of krpano 1.0.8 beta 9:

    there is a new tag to set the area/window for the pano,

    <area x="0%" y="0%" width="100%" height="100%" />


    I have no doubt that krpano 1.0.8 (final release) will surprise us a lot *attention* *thumbup*


  • Hi,

    I'm still looking for an answer *rolleyes*

  • Am I correct in saying that both view.fovtype and view.maxpixelzoom are not yet available to be used through Flash variables? I don't seem to be seeing a difference for view.fovtype and view.maxpixelzoom seems to be unrecognized/unknown, according to the player.


    INFO: krpano 1.0.7
    INFO: Flashplayer WIN 10,0,2,54 PlugIn (debug)
    ERROR: unknown attriubate/path - view.maxpixelzoom

    Which is odd considering the version number it reports. I am 100% sure it's loading the krpano.swf as supplied in the aforementioned ZIP package.

    Relevant Flash variables set through SWFObject using:

    so.addVariable('view.fovtype', 'VFOV');
    so.addVariable('view.maxpixelzoom', '1.0');

    Edit: Above example displays 'VFOV', but I didn't see any difference for the other values either *wink*

  • Hi jmulder,


    Which is odd considering the version number it reports. I am 100% sure it's loading the krpano.swf as supplied in the aforementioned ZIP package.

    I think you must be sure at 200% that the version of krpano.swf is 1.0.8.beta 9 instead of 1.0.7 *wink* *attention*
    Have you tried to clear the browser cache?
    If you had already cleared the cache, try to open your krpano.swf directly into the browser and press the 'o' key to see what version it is... 1.0.7 *question*

    About the Flash variables...

    I have tried to add these Flash variables:

    so.addVariable("view.fovmin", "30");
    so.addVariable("view.fovmax", "150");
    so.addVariable("view.fov", "70");
    so.addVariable("view.maxpixelzoom", "1.0");

    The result is that the view opens at FOVMAX value...FOV=150... *wacko*
    But the maxpixelzoom seems to work properly when zooming...
    If I delete the view.maxpixelzoom variable, then the view opens at the correct FOV value... FOV=70...

    Perhaps there is some Bug issue here....


  • Opening the krpano.swf directly did the trick, even after clearing the cache multiple times. Such a noob error -- nice. Move along now. Nothing to see here *wink*

    I am getting unexpected results when adding maxpixelzoom as well. Strange.

  • Hi jmulder,

    The view.maxpixelzoom attribute has been from krpano 1.0.8 beta 5 ....
    I have tried using it whith krpano 1.0.8 beta 8 and it worked as expected...

    so.addVariable("view.fovmin", "30");
    so.addVariable("view.fovmax", "150");
    so.addVariable("view.fov", "70");
    so.addVariable("view.maxpixelzoom", "1.0");

    It seems there is a bug in Krpano 1.0.8 beta 9 (I am using krpano 1.0.8 beta 9 DEV (build 2009-10-29) )....
    When view.maxpixelzoom is defined at first, it makes the view to open at FOVMAX value (in the example above, fovmax=150 instead of fov value)... note: the zoom limit from maxpixelzoom works as expected...

    It seems to be a BUG...


Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!