zFilter is a postpocessing WebGL shader plugin for dynamic effects on your panorama image,
layers and hotspots. It allows you to add visual effects for startup intros, scene changes,
information popups, etc. Setting or tweening simple attributes adjusts the brightness,
saturation or blurs your panorama, layers or hotpots!
Next to the global plugin order, order also allows to set the zFilter internal order
The internal order can be changed using attribute names without assignment
global order assignments (numbers) precede the zFilter internal order (names)
order="5" sets the order for all zFilter attributes
order="5|blur=7|adjust=3" sets separate orders for blur and adjust
order="5|blur|sobel" sets the internal order to execute blur before sobel
while the order is 5 for all zFilter attributes, the internal order is now
order="5|blendcolor=4|blur|sobel" set the internal order to execute blur
before sobel under a default order of 5 with a special order for blendcolor
adjust filters (brightness, contrast, saturate, etc) are implemented as
a combined postprocessing filter and therefore can't get ordered individually
If multiple postprocessing plugins are used, you should give each of them an
individual order, otherwise you may experience unwanted filter interference
order is only supported with krpano 1.20 or newer!
iorder is used to get the zFilter internal order
iorder is read only, to change values order must be used!
it considers separate global orders for zFilter attributes
order="2|blur=3|fblur=1" will result in:
webvr is used suppress zFilter for certain webvr levels
zFilter is highly optimized and performs great on deskops, tablets and mobiles.
Sadly this is not the case for true webVR (ie. Oculus Go, Quest, Rift, etc),
where most devices have a poor WebGL performance.
Therefore the default is webvr="2" which suppresses zFilter for true webVR
possible values/levels for the webvr attribute are:
0=normal / no VR, 1=fake VR, 2=mobile VR, 3=true WebVR
csslegacy="true" enables legacy value ranges for layer and hotspot attributes
the value ranges were changed with zFilter 3 to be compatible with krpano 1.21+
important: csslegacy="true" works for krpano below 1.21, only!
addzfilter="true" makes it unnecessary to call addzfilter() for layers and hotspots
the default is false because filters are normally used for specific elements, only
important: addzfilter="true" requires kprano 1.21+ to work!
With low fquality settings fblur shows some visual noise,
but even with maxed out fquality it is still faster than the standard blur filter.
It is recomended to set per device values, as done above under Syntax.
The chosen values are low on purpose to get the best device support.
blur is a quality blur without any visual artefacts
Note: blur uses an intelligent, performance optimized algorithm,
but the higher the blur value, the more WebGL shader passes are needed.
On low performance devices you should avoid high blur values or use fblur.
32bit ARGB values consist of 4 bytes, each with a range of hexadecimal 0x00 to 0xff.
Normally 32bit ARGB values are used for colors and are mapped to alpha, red, green and blue,
but zFilter can also map them to other parameters as in the vignettecolor attibute.
The byte to shader parameter mapping is described above for each attribute.
You can set 32bit ARGB values by Numbers or Strings in decimal or hex format
Reading a 32bit ARGB value returns a String in hexadecimal format
an ARGB value of 0x801eff64 means:
0x8000ff00 --> A = 0x80/128, R = 0x1e/30, G = 0xFF/255, B = 0x64/100
The normal filters should work on most current main browsers,
but support may vary, specially if multiple filters are active.
Technical note: krpano 1.21 has a limited support for CSS filters
(background, layers, type=container or text)
zFilter provides full support for CSS filters
(foreground & background, hotspots & layers, type=container, text and image)
After the layer/hotspot has been initialized, the added zFilter attributes
can be used like any other krpano layer attribute:
zFilter is tied to your krpano license (needs a registered version of krpano)
All copyrights to zFilter are exclusively owned by indexofrefraction.
This plugin is offered as a commercial plugin. It is provided "As Is" without warranty of any kind, either express or implied, including any warranty of quality, merchantability, or fitness for a particular purpose. In no event will the author of the plugin be liable for loss of data, costs of procurement of substitute goods or services or any special, consequential or incidental damages, under any cause of action and regardless of whether or not the plugin author have been advised of the possibility of such damage. This limitation will apply notwithstanding any failure of essential purpose of any limited remedy provided herein. In any event the plugin author will have no liability arising out of this agreement.
Third parties are not allowed not use your licensed plugin to create
new projects, including modified versions of your projects.
You are not allowed to rent, lease, lend or sublicense your plugin.
Offering your licensed plugin to third parties on a hosting
platform is not allowed without a separate hosting license.
In such cases (e.g. integration in content management services)
please contact: email@example.com
For any digital content purchased online, you agree upon checkout that the withdrawal period will expire 14 days after you purchase such digital content or when you start downloading the content for the first time, whichever is sooner.