krpano 1.19-pr15 / pr16

  • Hi,

    here below the news for krpano 1.19-pr15 / pr16:

    Best regards,
    Klaus

    Improved HTML5 Viewer

    • 3D-Anaglyph rendering support for stereoscopic images and videos.
    • New display.monoside setting for defining which side from stereoscopic images (left or right) to use for the normal / monoscopic rendering.
    • Hotspots will now be rendered with stereo separation also in non-WebVR stereo modes (e.g. for 3D-TV and Anaglyph usage).
    • New display.hotspotvrrendering setting to control the appearance of non-distorted hotspots in VR mode.
    • Improved makeScreenshot API.
      • Render optionally also to a 2D Canvas or to a RGBA pixel array.
      • Allow cropping-out a part of the screen.
      • When using 0 as width or height, the current size will be used.
      • When the requested rendering size is larger than what the browser can render, then the requested size will be automatically proportionally reduced to the maximum possible size.
      • Get information about the resulting size.
      • Fix: The fov was wrong in some cases.
      • makeScreenshot Example.
    • Improved xml and js-plugin encryption (only available for the HTML5 viewer, but when Flash-compatibility is required it would be still possible to use the old encryption method).

    Improved XML / Actions System

    • New onxmlerror event - it will be called on xml-loading or xml-parsing errors and allows a custom error handling and also to continue using the viewer after errors (only available in the HTML5 viewer).
    • New callwhen(id,condition,actions) and stopcallwhen(id) actions.
    • The 'multi-variable' set() action can be also create new array-items, sub-objects and arrays as variables.
    • The delete() action can now be used also to remove array-items from value-arrays.
    • Support the copyattributes() usage with a layer or hostpot element as source (report).
    • Improved break() action - it breaks now not only the current calls, but also the ones from one level up (request).
    • New exitcall() action to directly exit / stop the current actions call.
    • The Gyro2 and WebVR plugins are dispatching their events now also as krpano <events> to make the multiple usage of them easier.
    • Fix: Tweening a localscope variable wasn't working correctly when tweening at the same time also an other global or localscope variable with the same name.
    • Fix: Two '//' comments after each other weren't working correctly in some cases.
    • Fix: Improved xml parsing error checking for all browsers.
    • Fix: The onloaderror event covers now also js plugin loading errors.
    • Fix: Support loadxml() calls with <encrypted> data elements (report).

    Workarounds for Browser Bugs

    • Android Chrome 65 Gyroscope Bug (report)
      • This Chrome version has unfortunately two core browser bugs related to gyroscope usage:
      • The 'devicemotion' event, that's the core browser event to get raw gyroscope and acceleration sensor data, doesn't provide gyroscope rotation values anymore. Here the related Chrome bugreport: https://bugs.chromium.org/p/chromium/issues/detail?id=805146
      • As alternative to the 'devicemotion' event, the 'deviceorientation' event could be used (here the device drivers are doing the sensor data fusion, but unfortunately not very good on Android).
      • And in that 'deviceorientation' event there is the next Chrome bug: instead of updating the senor data as often as possible (or at least 60 times per second), the updates are done only 5 times per second. Here that related Chrome bugreport: https://bugs.chromium.org/p/chromium/issues/detail?id=819413
      • The workaround is now to use the 'deviceorientation' event instead of the 'devicemotion' event for Android Chrome 65. Even when it's not as good as it should be, it's better than nothing for the moment.
      • The next Android Chrome update (to Chrome 66) where this will be fixed is scheduled for April 17th, 2018 (source).
      • The workaround will be applied automatically by the gyro2.js and webvr.js plugins when the Chrome versions is between 65.0.0 and 65.0.3325, so if Google decides to release a fixed Chrome 65 version in the meantime, the workaround will get automatically disabled and everything will work as good as possible again.
    • Android Chrome 66 Gyroscope Unit-Change
      • With Chrome 66 the browser changes the unit for its gyroscope sensor data values from radians to degrees - Chrome bugreport: https://bugs.chromium.org/p/chromium/issues/detail?id=541607
      • The updated gyro2.js and webvr.js plugins will automatically check for the Chrome versions to use the right unit for the particular Chrome version.
    • Add a workaround for the Chrome 63 on Windows 10 'pointerlock' bug that causes jumpy mouse movements in VR.
    • Add a workaround for the WebVR support for the 'Samsung VR' GearVR browser (report).
      Now the 'Oculus Browser' and the 'Samsung VR' GearVR browsers are both working, but the Oculus Browser would be currently the preferred/recommended one - there the WebVR API is enabled by the default, the rendering resolution is higher and the performance better.
    • Add a workaround for a Mac Safari 11.0 WebGL video-texture browser bug (report). This is also a core browser bug and the workaround is to render the video first into a canvas before using it as video-texture. This is not very good for performance, but at least it shows the video again. With the Mac Safari 11.1 version this will be fixed again.

    More Release Notes

    • New: Allow using html code for the contextmenu enterfs / exitfs automatic fullscreen item captions.
    • New: combobox.xml plugin - new callonclickafterclose setting to define when the onclick event of the items should be called (this can be necessary to use for browser features that require a direct user-interaction, like entering fullscreen or WebVR mode).
    • New: Googlemaps plugin - Avoid the 'ctrl-to-zoom' or 'use-two-finder-to-pan' usage limitations from the latest Google Maps API update.
    • New: Support outputting encrypted files directly to the console by using -out=stdout (request).
    • Fix: Some offsets of WebGL hotspots with zoom=false and distorted=false were not stage-scaled.
    • Fix: Wrong position of non-distorted hotspots with depth != 1000 when using fisheye viewing distortion.
    • Fix: Don't use the 'beforeunload' event for explicitly deleting WebGL resources. It has too many side-effects (caused by browser-bugs). E.g. in Chrome that event will be wrongly sent when opening 'mailto:' links and in Firefox it breaks the page when going back in the browser history.
    • Fix: Container elements with bgcapture=false were not receiving over/hover/out events when hovering a children layer (report).
    • Fix: The hotspot getcenter() action for polygonal hotspots was slightly inaccurate, additionally the action automatically skips duplicated points now (report).
    • Fix: Avoid errors in the Flashplayer when adding new container or textfield elements and then instantly removing them again.
    • Fix: Explicitly set several default CSS styles of the krpano log element to avoid unintended side effects with user CSS styles.
    • Fix: Filter invalid variable names passed in the embedding via 'vars' or 'initvars' or url-queries.
    • Fix: Don't pass 'hash' values (#) from the url as variables to krpano when using the passQueryParameters=true embedding setting.
    • Fix: The 'Convert SPHERE CUBE Droplet.exe' was a 64bit executable and so wasn't working on 32bit Windows systems.
    • Fix: The 'Convert SPHERE CUBE Droplet' checks now if there is a '#' or '?' character in the containing folder path and shows and error message that the tool can't run in this case.
    • Fix: The 'Convert SPHERE CUBE Droplet' was wrongly generating lower-case filenames when converting cubes to spheres.
    • Fix: Support also PNG images as input in the the sphere/cube conversion tools.
    • Fix: basicsettings.config - Add the default setting 'profile=convert' to make it easier to edit that settings.
    • Fix: vtourksin.xml - Check if the gyro is really loaded and not just set to enabled before calling resetsensor().
    • Fix: Gyro2 and WebVR plugin - Wrong orientation on Android tablets with Firefox.

    Update: krpano 1.19-pr16 Bugfix Release

    • Fix: Licenses problems / wrong demo logo in older browser versions (report).
    • Fix: Problems when embedding more than one krpano viewer on the same page.
    • Fix: 'true' and 'false' were undefined in scope="localonly" actions.
    • Fix: Make loadstyle() and assignstyle() scope="localonly" compatible.
    • Fix: combobox.xml plugin - use scope="localonly" everywhere to avoid conflicts with other actions.
    • Fix: Makepano tool - missing maxcubesize downscaling for the second stereo image (report).


  • Thanks!

    Hi, I noted changes in encryption (krpanotools -> Encrypt tool). Now for default is private encrypted? Please comment about to best, secure way for protect / encript...

    Private-encryption was always the default, only the UI has changed - previously there was a checkbox for private-encryption and that was checked by default, now there is a checkbox for public-encryption and that is 'unchecked' by default.

    About the 'best, secure way': just enable all settings the Protect Tool *wink*
    But please note - there is no absolute security possible (and can't be) - as this is client-side-only decryption it's only 'security-by-obscurity' and somebody with enough time will be always able to get the encrypted content somehow. But I can try to make that as hard as possible and in the next releases there will also some additional updates here.

    Best regards,
    Klaus

  • Made a stereo pano with the make_vtour_normal droplet. Generated xml looks OK, as do the two sets of cube faces.
    BUT the right eye view has scrambled cube face order whether viewed with VR, anaglyph or monoside = 2 (Chrome/Win10, also chrome dev/android)

    Here is a link. "A" key toggles anaglyph, "B" key toggles side.
    http://tksharpless.net/3D/krpano19b15_bug/tour.html

    Edited 2 times, last by tksharpless (April 3, 2018 at 3:04 AM).

  • Hi,

    Quote

    Now, how about interlaced stereo output for passive 3D screens?

    I will consider it, but at the moment I would recommend using SBS output to let the TV interlace it.


    Made a stereo pano with the make_vtour_normal droplet. Generated xml looks OK, as do the two sets of cube faces.
    BUT the right eye view has scrambled cube face order whether viewed with VR, anaglyph or monoside = 2 (Chrome/Win10, also chrome dev/android)

    Here is a link. "A" key toggles anaglyph, "B" key toggles side.
    http://tksharpless.net/3D/krpano19b15_bug/tour.html

    Thanks for reporting!

    This is unfortunately a bug in the makepano tool related to the maxcubesize setting. The left-side cube images are getting downscaled to that size during the cube-conversion, but the right-side ones not due that bug.

    When you check the files of the example you see the left cube-side-images are 2048x2048 and the right ones are 3758x3758.

    That problem happens only in the NORMAL droplets, because there the setting maxcubesize=2048 is used by default.

    Unfortunately I didn't noticed that during testing because all my test stereo-panos were only ~6000x3000px, which resulted in 1909px cubesizes and so were below that limit...

    This will be fixed in the next release of course.

    These workarounds would be possible for this case for the moment:

    • use the MULTIRES droplets (generally recommended)
    • increase the maxcubesize setting in the vtour-normal.config (e.g. to 4096)
    • manually downscale the input images


    Best regards,
    Klaus

  • Hi,

    there is a minor update for version 1.19-pr15 - now version 1.19-pr16:
    krpano 1.19-pr15 / pr16

    It mainly fixes a license bug that happens in very old browsers.
    Update: and now also a bug that happens when using multiple krpano viewers on one page. If you have already downloaded version pr16 one hour ago, please download it again.

    The bug related to large stereo panos on the NORMAL droplets is also fixed there of course.

    Best regards,
    Klaus

Participate now!

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