krpano 1.19-pr9 / 1.19-pr10 / 1.19-pr11 / 1.19-pr12

  • Hi,

    here after long time (sorry for that!) the next krpano release - krpano 1.19-pr10 / pr11!
    This version is still a pre-release and contains mainly only several smaller (but still substantial) improvements. Bigger news (e.g. a Flashplayer-free tour-editor) and many other features are still in work and should hopefully also become ready soon.

    Best regards,
    Klaus


    Edit / Update 1 - there is additionally a minor update from 1.19-pr9 to to 1.19-pr10 - this release fixes several textfield layout problems in the new WebGL support.
    Edit / Update 2 - update to 1.19-pr11 - release notes here.
    Edit / Update 3 - update to 1.19-pr12 - release notes here.

    Here what's new in krpano 1.19-pr9 / 1.19-pr10 / 1.19-pr11/ 1.19-pr12:

    Text support improvements

    • Textfield hotspot rendering via WebGL (for VR support and better rendering performance)
      • Before this version textfields were displayed by CSS3D. That means the text itself was just a normal HTML+CSS element and was placed on the screen by CSS-3D-transforms.
      • Technically this (CSS3D) was a pretty simple solution and had several disadvantages:
        • Cross-browser-CSS3D bugs/differences - each browser has in detail still different problems with CSS3D, e.g. iOS renders CSS3D asynchronous with a little delay compared to WebGL content, Edge/IE scales differently to Chrome and Firefox, Chrome and Firefox have 3d-clipping problems and so on...
        • One html element can't be rendered two times, e.g. for 'fake-VR' (real WebVR is WebGL only) - instead two html elements would be necessary which additionally would need to be synchronized manually.
        • Several rendering and handling details are done internally by the browser and are not controllable.
        • No distortion or post-processing possible.
      • Now when using the textfield plugin as hotspot, krpano renders the text to a bitmap (via HTML5 canvas) and then uses that as WebGL texture (like images).
      • This allows much more control by krpano and faster rendering. VR-support and stereo-rendering is also no problem this way.
      • But as there is no browser-API to render HTML into bitmaps, the text rendering needs to be done manually word-by-word by krpano. krpano tries here to be as accurate as possible to be able to match the browsers HTML output.
      • Due the manual text rendering not all HTML/CSS features are possible, but all basic text formatting features like fonts and font-styles/colors are supported. Basically everything that was working today the same in the krpano Flash and HTML5 viewers, should now also work with the new WebGL-texts. krpano textfield plugin features like borders and shadows are fully supported.
      • All textfield hotspots are rendered by WebGL now by default, but it's still possible to switch back to CSS3D rendering by using the renderer="css3d" setting.
      • Important to note - switching to CSS3D rendering can be necessary when using iframes or interactive html elements or special css formating in the html-code of the textfield!
    • The krpano Flash viewer has now also a build-in textfield plugin (like the HTML5 viewer). The internal textfield plugin will be automatically used when an url refers to a 'textfield.swf' (regardless of the path).
    • Additionally it's now also possible to use just - type="text" - for <layer> and <hotspot> to define a textfield (similar to defining container elements). No need for url="textfield.swf" anymore (but still possible).
    • To make the textfield xml usage easier, the textfield plugin now supports almost the same styling attributes as the container layer elements. These textfield attributes are new: bg, bgcolor, bgalpha, bgborder, bgroundedge, bgshadow, txtshadow. They replace the previous background*, border*, shadow* and textshadow* attributes (which are still fully working and supported for backward compatibility reasons of course).
    • With the new mergedalpha="false" setting it's now possible to set independent color- and alpha-values for the border and the background.
    • Because using quote characters is sometimes not possible, it's now also possible to use [sq] and [dq] for single- and double-quotes characters in textfields.
    • Textfield related fixes:
      • Non-distorted textfield hotspot had alignment bugs in some cases (offset of border width).
      • Distorted textfield hotspots in Flash support now also borders and shadows (before they were cut-off).

    krpano Tools / Droplets

    • The krpano tools and droplets support now Stereoscopic panorama images.
      • These stereoscopic panorama formats are supported as input:
        • One 12x1 or 1x12 stereo-cubestrip image.
          • Two 6x1 cubestrips side-by-side or two 1x6 cubestrips top-bottom.
          • This is very common format from several applications (VRay, OToy, GearVR).
        • One single image with two spherical 360x180 images with
          • side-by-side or
          • top-bottom arrangement.
        • Two 6x1 cubestrip images
          • with a same 'basename' and
          • some left/right tags for the side detection (e.g. '_l' and '_r' in the filename).
        • Two spherical 360x180 images
          • with a same 'basename' and
          • some left/right tags for the side detection (e.g. '_l' and '_r' in the filename).
      • The stereoscopic format will be auto-detected by the image side-aspect (for single files) and the filenames (for two left/right files).
      • The stereo-support of the tools / droplets can be configured and customized by these new config file settings: stereosupport, stereolabels and customimage[name].stereosupport.
    • As side-effect of the stereoscopic support there is now also support for cubestrip images as input.
      • Because there are a lot of different cube-face arrangement possible, the tools have an automatic image/content-based analyzing for detecting the correct arrangement.
      • This allows the automatic usage of the most commonly used cubestrip/cubemap formats - from VRay, OToy, GearVR, Autodesk, PalateCAD (.ppan files) and many others.
    • New MAKE VTOUR (VR-OPT) droplet - optimized for VR
      • The VR-OPT droplet will generate multires-images for normal viewing and additional smaller images for VR viewing. This allows faster rendering and lower latencay in VR. The VR images will be loaded seamlessly by the skin code when switching to VR mode.
      • When stereoscopic images will be used as input, then for VR these stereo images will be used, but for normal (non-VR) viewing only a mono image (the left one) will be stored (to save disk space).
    • Changed MAKE VTOUR (MULTIRES) droplet
      • Different to the VR-OPT droplet, the MULTIRES droplet will not generate special VR images anymore. The MULTIRES drroplet will be for more common usage, where VR is possible to,o but not with optimized images. And for stereo-input it will generate multires stereo-output images.
    • Auto-Leveling support (e.g. for Ricoh Theta images)
      • The krpano tools will parse now the input-images for EXIF or XMP orientation / leveling information and use them to (optionally) level the pano-image.
      • Either by remapping the image itself during the sphere-to-cube conversion - or - by adding a prealign setting in the xml.
      • This feature is adjustable by the new autolevel setting in the makepano config files (e.g. in the basicsettings.config) and the autolevel/noautolevel settings in the transform tool.
    • krpano Testing Server
      • Improved Window 10 support (better HiDPI support, no crashes on minimizing).
      • Improved stability for Mac OSX (no crashes at startup on some Macs).
    • Other krpano tools news and changes:
      • PNG image format support (input only, no output yet).
      • The krpano sphere2cube/transform tool has new calling syntax (while still supporting the old one) and new 'lookat' and 'rotate' settings for defining/adding custom rotations during the sphere-to-cube conversion or view-extracting.
      • The automatic sorting of the input images when using the make pano tool (the droplets) can be optionally disabled by the new sortinput setting.
      • The maketiles tool can optionally mirror images horizontally.
      • The droplets don't generate smaller mobile images (1024x1024px) by default anymore. Due the WebGL support and newer browsers and devices this is not necessary anymore.
      • The output of the MAKE PANO droplets have been slightly changed - they generate the output in individual folders now.
      • Improved Mac OSX older version compatibility.

    krpano Viewer

    • News:
      • New events.oncontextmenu event - will be called before the right-click/context-menu will be opened - and can be used to modify dynamically the context-menu items before they will be shown.
      • New events.onsingleclick and events.ondoubleclick events - for detecting single- and double-clicks. Additionally the new mouse.clickx and mouse.clicky variables will store the location where the click has happened.
      • New browser.protocol variable for e.g. getting 'http' or 'https' depending on protocol of the current webpage. Can be used as placeholder in urls:
        Code
        %$browser.protocol%
        .
      • New autorotate.zoomslowdown setting for optionally disabling the auto-rotation slow-down when zoomed in.
      • New WebGL settings for customizing / optimizing the hotspot rendering: mipmapping and premultiplyalpha.
    • Fixes:
      • Keep the current autorotate speed when blending to the next pano when using the KEEPMOVING flag. This allows making seamless auto-tours accross all pano scenes.
      • Improved iPhone landscape fullscreen-mode support (fixes also size problems in non-Safari browsers or custom Webviews).
      • The '>=' expression operator wasn't parse-able in some cases due a typo.
      • Add a workaround for an iOS-bug to allow using base64 urls for hotspots.
      • Preview pano-images are now supported for spherical panos also in HTML5.
      • Add a fixed background-color to the embedding error message text - to avoid white-text on white-background (e.g. like in Panotour where the webpage background is white by default).
      • Don't use focus=true by default when the viewer is embedded inside an iframe (to avoid an automatic webpage scrolling in Firefox).
      • Block CSS3D in Chrome / Allow only WebGL in Chrome for HTML5 rendering! When only CSS3D is available, there are very probably no hardware-accelerated graphics available in Chrome and the CSS3D software-rendering from Chrome is too buggy for common usage.

    Plugins

    • Videoplayer Plugin
      • New playsinline setting for optionally disabling the inline-video support to use the browsers videoplayer.
    • WebVR Plugin
      • Fallback to the 'MobileVR' support when the browsers WebVR API itself is available but not working (as it is in Android Chrome today).
      • Updated for the latest WebVR API changes.
      • Fix: iOS wakelock support.
    • Gyro2 Plugin
      • The resetSensor action also allows setting the vertical looking direction.
    • Googlemaps Plugin
      • Updated to the latest Googlemaps JS API version.
      • Expose the internal Googlemaps JS API to allow more customizing.
  • Quote

    Important to note - switching to CSS3D rendering can be necessary when using iframes or interactive html elements or special css formating in the html-code of the textfield!

    CSS3D is not an option to work with due to weak performance...
    Now everybody's going to play with it.

    Edited once, last by a.pu (May 5, 2017 at 8:56 AM).

  • hi klaus,

    it seems the following files still use the textfield.swf instead of type="text",
    maybe they should get updated, too?

    plugins/fps.xml
    plugins/showtext.xml
    plugins/webvr.xml
    skin/videointerface.xml
    skin/vtourskin118.xml

    then i noticed that you removed all autoheight properties in vtourskin.xml
    autoheight is still mentioned under onautosized on the plugin page,
    but the links are not working.
    are autowidth/autoheight not needed anymore or what is new there?

    best, index

    ps...
    maybe a small script to convert xmls using the old textfield properties to using the new ones would be nifty...
    lets see if i find time .)

  • Hi,

    get black screen in html5

    Okay, there is currently one small limitation here for spherical preview images - there would need to be an <image> as well, just the preview pano without an pano image wouldn't work yet.


    it seems the following files still use the textfield.swf instead of type="text",
    maybe they should get updated, too?

    Of course - over time all files will get updated.


    then i noticed that you removed all autoheight properties in vtourskin.xml
    autoheight is still mentioned under onautosized on the plugin page,
    but the links are not working.

    Thanks for the note - will be corrected.


    are autowidth/autoheight not needed anymore or what is new there?

    I think these are not required anymore, the auto-sizing is enabled since a few versions by default now (before the textfields had a default size of 400x300) and when manually setting a size the auto-sizing gets automatically disabled. So there should be no need for manually adjusting the autowidth/autoheight settings anymore.

    The settings itself are currently still there, but I have removed them from the documentation to avoid confusion.
    The textfield usage should work that way: when not defining width/height for the layer or hotspot, then it gets automatically the size of the text/html-content - and otherwise - it gets the user-defined width or height size.


    Quote

    maybe a small script to convert xmls using the old textfield properties to using the new ones would be nifty...

    Both textfield properties, the new ones and the old ones, will be kept supported for compatibility of course.

    Best regards,
    Klaus

  • Thanks for the great update *thumbsup*

    I guess I found a bug.
    This is my code:

    Code
    <hotspot name="vr_style_cat" type="text" vcenter="true" distorted="true" edge="center" width="600" height="70" bg="true" bgcolor="0xffffff" css="text-align:center; color:#ff0000; font-size:25px;" html="Text should be in the center"/>

    But the text is not displayed in the center but on the left site.

    Best regards
    Piotr

Participate now!

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