<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
     xmlns:content="http://purl.org/rss/1.0/modules/content/"
     xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
     xmlns:atom="http://www.w3.org/2005/Atom"
     xmlns:dc="http://purl.org/dc/elements/1.1/"
     xmlns:wfw="http://wellformedweb.org/CommentAPI/"
     >
  <channel>
    <title>SVG Wow!</title>
    <link>http://svg-wow.org/blog</link>
    <description></description>
    <pubDate>Mon, 03 Mar 2014 21:47:48 GMT</pubDate>
    <generator>Blogofile</generator>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Bokeh</title>
      <link>http://svg-wow.org/blog/2010/08/22/bokeh</link>
      <pubDate>Sun, 22 Aug 2010 18:00:00 EDT</pubDate>
      <category><![CDATA[css3]]></category>
      <category><![CDATA[animation]]></category>
      <category><![CDATA[webfonts]]></category>
      <category><![CDATA[filters]]></category>
      <guid isPermaLink="true">http://svg-wow.org/blog/2010/08/22/bokeh</guid>
      <description>Bokeh</description>
      <content:encoded><![CDATA[
<div id="description">
    <p>
        <a href="http://en.wikipedia.org/wiki/Bokeh">Bokeh</a> effects,
        which in simple terms is in-focus objects in front of an out-of-focus or blurred background, 
        come in many different forms, as you can
        see on <a href="http://www.flickr.com/search/?q=bokeh">Flickr</a>
        for example.
    </p>
    <p>
        In this demo some circles are generated by javascript. The circles
        are added to the background, given some nice colors and blurred a bit
        to create a faux bokeh effect.
    </p>
    <p>
        As you will notice from reloading the demo, the position of each circle 
        is random, and the radius depends on the distance from the center of the svg image. 
        The further away from the center a circle is the larger the radius. 
        The computed radii are then used for dividing the circles into three different blur levels.
        
        Finally the color of the each circles depend on its computed position. 
        <a href="http://www.w3.org/TR/css3-color/#hsl-color">CSS3 hsl color syntax</a>
        is used to provide every circle with a fill-color that is similar to all the nearby circles. 
    </p>
    <p>
        After the circles have been generated they
        are added to the background group element which happens to have a 
        <a href="http://www.w3.org/TR/SVGTiny12/painting.html#BufferedRenderingProperty">'buffered-rendering'</a> 
        attribute set to <span class="attr-val">'static'</span>.
    </p>
    <p>
        The <a href="http://www.w3.org/TR/SVGTiny12/painting.html#BufferedRenderingProperty">'buffered-rendering'</a> 
        attribute tells the browser it's probably a 
        good idea to cache the rendering of that subtree. In essence it's like
        having the same thing as a pre-rendered raster image, but with the added
        benefits that SVG provides. E.g if you ever need 
        to resize or update the subtree you can, just remove the 
        <a href="http://www.w3.org/TR/SVGTiny12/painting.html#BufferedRenderingProperty">'buffered-rendering'</a>
        attribute and it will behave as normal again. In browsers that don't
        support <a href="http://www.w3.org/TR/SVGTiny12/painting.html#BufferedRenderingProperty">'buffered-rendering'</a> 
        the SVG rendering will be unaffected by the attribute.
    </p>
    <p>
        To see the effect of <a href="http://www.w3.org/TR/SVGTiny12/painting.html#BufferedRenderingProperty">'buffered-rendering'</a>
        click the svg image and the text will animate on top of the background.
    </p>
    <p>
        The demo uses the <a href="/attributions.html#fonts">Vitamin</a>
        font.
    </p>
</div>
]]></content:encoded>
    </item>
    <item>
      <title>Chiseled</title>
      <link>http://svg-wow.org/blog/2009/10/04/chiseled</link>
      <pubDate>Sun, 04 Oct 2009 15:00:00 EDT</pubDate>
      <category><![CDATA[filters]]></category>
      <guid isPermaLink="true">http://svg-wow.org/blog/2009/10/04/chiseled</guid>
      <description>Chiseled</description>
      <content:encoded><![CDATA[
<div id="description">
  <p>
      This example shows how SVG filter primitives can be
      applied to produce a sophisticated rendering effect.
      In this image, a filter effect is applied to 
      <span class="code">&lt;text&gt;</span> elements. One
      with the "SVG" text and several with the "W", "O", "W",
      "!" characters. The characters are grouped into a
      <span class="code">&lt;g&gt;</span> element which has
      a 'glow' filter. The "SVG" text has a 'chiseled' filter
      applied to it.
  </p>

  <h3>The 'glow' filter</h3>

  <p>This is a simple filter and it does the following:</p>
  <ol>
      <li>Turn the input (i.e., the "WOW!" text) into white,
          using the <span class="code">&lt;feFlood&gt;</span>
          and <span class="code">&lt;feComposite&gt;</span>
          filters. feFlood creates a white surface which is
          composited with the text's alpha (i.e., a chanel
          providing the translucency information about the
          text's rendering) using the 'in' operator.</li>
      <li>The white rendering of the text input is blurred
          using the <span class="code">&lt;feGaussianBlur&gt;</span>
          filter</li>
      <li>The blured white is combined with the original
          text rendering using the <span class="code">&lt;feMerge&gt;</span>
          filter</li>
  </ol>

  <h3>The 'cliseled' filter</h3>

  <p>This filter is more elaborate and contains 22 filter
     primitives to achieve the chiseled gold effect.
  </p>
  <p>There a multiple parts to the filter. The background
      texture is created using an image texture, loaded
      with an <span class="code">&lt;feImage&gt;</span>. The texture
      is then used as a bump map (created with an
      <span class="code">&lt;feColorMatrix&gt;</span> which allows
      us to convert the texture's luminance to an alpha
      channel, required as an input for the lighting filter's
      bump map) to give it more texture with an
  <span class="code">&lt;feDiffuseLighting&gt;</span> filter.</p>
  <p>The golden text is done very much similarly, except that
      the bump map is created by blurring the text's alpha
      channel and the color compolents are adjusted with
  <span class="code">&lt;feComponentTransfer&gt;</span>.</p>
  <p>There is also a drop shadow effect done with a combination
      of <span class="code">&lt;feGaussianBlur&gt;</span>,
      <span class="code">&lt;feMorphology&gt;</span>,
      <span class="code">&lt;feOffset&gt;</span> and
      <span class="code">&lt;feComposite&gt;</span>.
  </p>
  <p>Multiple instances of the <span class="code">feMerge&gt;</span>
  and <span class="code">&lt;feComposite&gt;</span> filters are used
  to overlay or mask different intermediate filter primitive
  results.</p>
</div>
]]></content:encoded>
    </item>
    <item>
      <title>Fast Blur</title>
      <link>http://svg-wow.org/blog/2009/10/04/fast-blur</link>
      <pubDate>Sun, 04 Oct 2009 15:00:00 EDT</pubDate>
      <category><![CDATA[animation]]></category>
      <category><![CDATA[filters]]></category>
      <guid isPermaLink="true">http://svg-wow.org/blog/2009/10/04/fast-blur</guid>
      <description>Fast Blur</description>
      <content:encoded><![CDATA[
<div id="description">
    <p>
        This demo shows how to use SVG filters and declarative animation to get smooth transitions for text.
        By animating the gaussian blur standard deviation factor only in the x axis, the text only gets blurred horizontally.
    </p>
    <p>
        The demo will show a warning if the necessary browser functionality isn't available.
    </p>

    <h3>Running the demo</h3>

    <p>Click on the "Start SVG Demo" at the top of this page. </p>
</div>
]]></content:encoded>
    </item>
    <item>
      <title>Ripple</title>
      <link>http://svg-wow.org/blog/2009/10/04/ripple</link>
      <pubDate>Sun, 04 Oct 2009 15:00:00 EDT</pubDate>
      <category><![CDATA[animation]]></category>
      <category><![CDATA[filters]]></category>
      <category><![CDATA[interactive]]></category>
      <guid isPermaLink="true">http://svg-wow.org/blog/2009/10/04/ripple</guid>
      <description>Ripple</description>
      <content:encoded><![CDATA[
<div id="description">
    <p>
        This demo shows interactive animated SVG filter effects.
    </p>
    <p>
        The animation is made by animating a displacement map image, with a radial gradient mask to smoothly fade out the edges.
        To be able to run the animation the browser must support SVG filters, declarative animation (SMIL) and scripting.
    </p>
    <p>See <a href="/attributions.html">attributions</a>.</p>

    <h3>Running the demo</h3>

    <p>Click on the "Start SVG Demo" at the top of this page.</p>
    
    <p>Then click anywhere on the image to start animating a droplet ripple effect from that point.</p>
    
</div>
]]></content:encoded>
    </item>
    <item>
      <title>Twirl</title>
      <link>http://svg-wow.org/blog/2009/10/04/twirl</link>
      <pubDate>Sun, 04 Oct 2009 15:00:00 EDT</pubDate>
      <category><![CDATA[filters]]></category>
      <category><![CDATA[interactive]]></category>
      <guid isPermaLink="true">http://svg-wow.org/blog/2009/10/04/twirl</guid>
      <description>Twirl</description>
      <content:encoded><![CDATA[
<div id="description">
    <p>
        This demo uses an animated displacement map filter to make a twirling effect on a photo.
    </p>
    <p>
        The displacement map image was created from an identity displacementmap svg image that was rasterized to 640x480 pixels and then 
        processed in a normal graphics editor to produce <a href="/res/1.0/images/DisplacementMap640dist.png">this image</a>.
        That image is then animated (rotated) by SVG declarative animation (SMIL).
    </p>
    <p>See <a href="/attributions.html">attributions</a>.</p>

    <h3>Running the demo</h3>

    <p>Click on the "Start SVG Demo" at the top of this page.</p>
</div>
]]></content:encoded>
    </item>
    <item>
      <title>Video Overlay</title>
      <link>http://svg-wow.org/blog/2009/10/04/video-overlay</link>
      <pubDate>Sun, 04 Oct 2009 15:00:00 EDT</pubDate>
      <category><![CDATA[animation]]></category>
      <category><![CDATA[video]]></category>
      <category><![CDATA[filters]]></category>
      <guid isPermaLink="true">http://svg-wow.org/blog/2009/10/04/video-overlay</guid>
      <description>Video Overlay</description>
      <content:encoded><![CDATA[
<div id="description">
  <p>
      This example illustrates the use of the following features:
  </p>
  <ul>
      <li>
          SVG Tiny 1.2 <span class="code">&lt;video&gt;</span> and using SVG DOM interfaces for play and pause
      </li>
      <li>
          SVG declarative animations (SMIL)
      </li>
      <li>
          external SVG resource files
      </li>
      <li>
          SVG filters
      </li>
  </ul>
  <p>See <a href="/attributions.html">attributions</a> about
      the resources used in this demo.
  </p>
</div>
]]></content:encoded>
    </item>
  </channel>
</rss>
