This example shows how to use image-strips / sprite-sheets
as animated hotspot images.
The images will be animated by dynamically changing the crop setting
(which 'cuts-out' a certain region of the image) by xml action scripting.
The do_crop_animation <action>
in this example has no dependencies and can be easily reused in own examples.
It supports vertical, horizontal and tiled image-strips and loops the images from left-top to right-bottom.
As parameters the pixel-size of one frame and the favored frame-rate need to be set.
In this example the soundinterface plugin will be used
to extend krpano with support for sounds.
To automatically start and stop the background sound only for the current pano (e.g. when using several scenes)
the playback will be controlled by pano-local events.
Additionally a small button is included to pause and resume the sound.
This is an example to demonstrate the possibilities of the new WebGL-based blending modes.
The different blending-modes are custom settings for the blend
parameter of the loadpano() / loadscene() actions.
Beside of this the examples shows how to use custom xml structures (the <blendmodes> element is a custom one)
and how to drag layers and to use the scrollarea plugin.
Several example usages of the new combobox.xml plugin.
The examples show how to define the combobox elements statically and dynamically and how to customize the design.
This example rotates images accordingly to the current viewing direction.
The compass elements are build-out of several layers and images - and one of these images
will be rotated when the viewing changes.
Define a custom right-click / long-press-touch context-menu.
This exampels shows how to define a custom context-menu items - in this case with options to
change the control mode and to change the viewing projection.
The example also shows how to include html content (like an image) inside a context menu item.
This tour was first build using the MAKE VTOUR droplet and then modified manually.
For navigating between the rooms hidden polygonal hotspots are used.
All panos were aligned into the same direction during stitching so that the
KEEPVIEW flag can be used
to keep the same looking direction when moving through the panos.
A default tour automatically build using MAKE VTOUR (MULTIRES) droplet and then manually
extended with a custom navigation-map build by a scrollarea and an image.
Depthmap-Tour of the 'Little Temple of Abu Simbel'
A full-featured demo tour using depthmaps.
It demonstrates how to view a pano dynamically from new perspectives,
e.g. to show wall friezes undistorted.
Additionally the depthmaps allow nice 3D-transitions.
The tour offers automatic- and manually-generated hotspots for navigation.
The depthmaps were generated by the everpano 3D tool,
the tour itself manually designed and coded.
A little helper tool for finding 3D viewpoint and hotspot positions is also included.
The whole tour was fully generated by the everpano 3D tool.
For navigation in the tour the everpano Navigator plugin is used.
That plugin allows easy navigating by automatically finding the pano next to the point where the used had clicked -
and when there is no pano near, a nice 3D-zooming-animation indicates that.
The depthmaps in these examples were created either by the camera itself,
by rendering software together with the (also rendered) pano-image
or using some stereo-to-depth software from stereo-panos.
A small helper tool for finding the correct offset and scale
settings for depthmap-images.
The values for these settings depends how the depthmap-image was created and mapped.
This example shows a possibility for how to drag the hotspot position.
Additional the position of the hotspot will be formatted as xml code and shown via the
textfield plugin.
This example shows how to drag <layer> elements and the difference between
maskchildren=true
(clip children elements) and maskchildren=false (no clipping).
Example for the direct usage of fisheye images (without stitching or dewarping).
The fisheye image parameters could be determined using PTGUI.
See here for more.
This could be used with video files or mjpeg live streams (e.g. for dome webcams) as well.
This is an example about the hotspot flying setting.
By tweening it from 0.0 to 1.0 a hotspot can move from it's
normal position inside the pano to a fixed position on the screen.
The example manages the state of several hotspots. When one hotspot is flying out, the others will
automatically fly back in.
An example for letting the view automatically slightly follow the users mouse-cursor.
E.g. as indicator that this is an interactive image.
As soon the user starts interacting the following will pause and automatically resume later.
Field-of-view type comparison and fixed screen-size aspects.
The view.fovtype setting defines
how the view.fov field-of-view setting
relates to the window-size.
Here a comparison of the different settings and how they work on different screen-size aspects.
This example shows two videoplayer xml scripts - one plays a normal videofile - and the other plays a Youtube video.
During the video playback a darken background layer will cover the pano and the other user interface elements.
In this example a distorted hotspot image that shows a different pano content will be used.
That hotspot will be faded-in when hovering an invisible polygonal hotspot, which acts as 'hit-area' for the
image hotspot.
The Corfu tour starting with a Little Planet Intro
The 'Little Planet' view itself is basically only a Stereographic Projection plus looking down.
In krpano a stereographic projection distortion can be enabled by setting the
view.distortion setting to 1.0.
And by animation (tweening) this setting and the viewing direction a nice Little Planet
transition animation can be created.
The default vtourskin.xml
skin already provides a predefined Little Planet Intro script. To enable it only change the
littleplanetintro setting in the tour.xml to true.
This example shows three possibility to visualize the pano image loading progress -
as image-based loop animation (an image-strip with a crop animation),
as loading bar (by changing the size of a layer element)
and as percent text.
It would be possible just to include one of the example xml files to add that kind of loading progress animation
to an own pano or tour.
An extremely large pano as example for loading-performance and image-quality.
The source image is 300.000 x 150.000 Pixel large (=45 Gigapixel).
For display it was converted to 6 x 95.493 x 95.493 Pixel cube-faces (~55 Gigapixel).
Shot from the Roppongi Hills Mori Tower. Provided by Jeffrey Martin / 360cities.net.
A synthetic 1.4 Petapixel-pano for demonstrating the theoretical size-possibilities.
One Petapixel is one million Gigapixel (or 1000 Terapixel).
The pano is a cubical pano with one cube-side-size of 16.777.216 x 16.777.216 pixel.
That's equal to a spherical pano in the size of 52.707.178 x 26.353.589 pixel.
To make that test-case as realistic as possible the tile-images are loaded from a server
(and there they are dynamically generated on request).
Here additionally also a Partial-Pano test-case (with adjustable hfov/vfov settings).
A multiresolution partial-spherical-pano (with field-of-view of ~156x47 degree) in Rome.
For testing the partial-pano feature a small helper-tool is included for changing
the fov-coverage settings of the pano. This helper-tool can be used for finding the
correct hfov/vfov/voffset settings for a partial-pano when they are unknown.
A multiresolution partial-spherical-pano (with field-of-view of ~54x13 degree) from the
roof of the St. Peter's Basilica in Rome.
Linked with hotspots to other panos in the near.
A multiresolution flat-pano of the Trevi Fountain in Rome (~483 Megapixel).
The flat-pano-projection is a good way to show the full-image-content at once.
Here the same pano as partial-pano: Trevi Fountain Partial Pano (fov 95x66).
Different to the flat-pano-projection this allows an undistorted view at the edges when zoomed-in and
additionally also showing more content because of the different cropping-range in spherical projection.
A demo of how to blur the background using the Blur Postprocessing Plugin
and how to open several different popups (HTML, Websites, Panos, Videos, Images).
This examples shows how to calculate a range based on the original pano-image pixel resolution.
Here that will be used to adjust the sharping-radius depending on the actual zoom-level, so the sharping-effect
will be the same one as when sharpening the original image itself.
Show two panos for comparison. Either side-by-side or split into half-half.
For this example the stereo-support of the krpano viewer is used.
For loading stereo images see here:
image.stereo
and for rendering stereo images here:
display.stereo
An example 'tooltip' implementation - by assigning the 'tooltip' style and a 'tooltip' attribute
to an layer or a hotspot, it will automatically show the given tooltip text when the element will be hovered.
Videopano - a fully featured panoramic-video player skin.
This is an example for a panoramic video player.
It provides a simple xml interface for adding several video-quality files.
For using / adding own videos they would be only added once in the videopano.xml file.
The user interfaces provides: play/pause controls, a seeking bar, volume/mute control,
options for changing the quality, the playback rate and the viewing projection
(including a special 'flat' view), fullscreen buttons, gyroscope control and VR support.
The layout and design can be easily adjusted with a few settings in the videointerface.xml.
A demo of the VR-Controller support. It shows how to use them for doing special 'hit-testing' (checking where
a hotspot would get hit when it got aimed by a VR-controller) and how to style and customize the VR controllers.