<!-- Copyright 2015 Patricio Gonzalez Vivo (http://patriciogonzalezvivo.com) -->
<!DOCTYPE html>
< html >
< head >
< meta charset = "utf-8" >
< title > Shapes< / title >
< meta name = "keywords" content = "glsl,shader,procedural,distance field,shapes,geometry,rectangle,circle" / >
< meta name = "description" content = "This is a gentle step-by-step guide through the abstract and complex universe of Fragment Shaders." / >
<!-- CodeMirror -->
< link type = 'text/css' rel = 'stylesheet' href = "../src/codemirror/css/codemirror.css" >
< link type = 'text/css' rel = "stylesheet" href = "../src/codemirror/addon/fold/foldgutter.css" >
< link type = 'text/css' rel = "stylesheet" href = "../src/codemirror/addon/dialog/dialog.css" >
< link type = 'text/css' rel = "stylesheet" href = "../src/codemirror/addon/hint/show-hint.css" >
< link type = 'text/css' rel = "stylesheet" href = "../src/codemirror/theme/neo.css" >
< script type = "text/javascript" src = "../src/codemirror.js" > < / script >
< script type = "text/javascript" src = "../src/codemirror/addon/search/searchcursor.js" > < / script >
< script type = "text/javascript" src = "../src/codemirror/addon/search/search.js" > < / script >
< script type = "text/javascript" src = "../src/codemirror/addon/dialog/dialog.js" > < / script >
< script type = "text/javascript" src = "../src/codemirror/addon/edit/matchbrackets.js" > < / script >
< script type = "text/javascript" src = "../src/codemirror/addon/edit/closebrackets.js" > < / script >
< script type = "text/javascript" src = "../src/codemirror/addon/comment/comment.js" > < / script >
< script type = "text/javascript" src = "../src/codemirror/addon/wrap/hardwrap.js" > < / script >
< script type = "text/javascript" src = "../src/codemirror/addon/fold/foldcode.js" > < / script >
< script type = "text/javascript" src = "../src/codemirror/addon/fold/brace-fold.js" > < / script >
< script type = "text/javascript" src = "../src/codemirror/keymap/sublime.js" > < / script >
< script type = "text/javascript" src = "../src/codemirror/addon/hint/show-hint.js" > < / script >
< script type = "text/javascript" src = "../src/codemirror/mode/clike.js" > < / script >
<!-- Highlight -->
< link type = 'text/css' rel = 'stylesheet' href = "../css/github.css" >
< script type = "text/javascript" src = "../src/highlight.min.js" > < / script >
<!-- Marked -->
< script type = "text/javascript" src = "../src/marked.js" > < / script >
<!-- My stuff -->
< link type = 'text/css' rel = 'stylesheet' href = "../css/style.css" >
< script type = "text/javascript" src = "../src/glslCanvas.js" > < / script >
< / head >
< body >
< div class = "header" > < p > < a href = "http://patriciogonzalezvivo.com/2015/thebookofshaders/" > The Book of Shaders< / a > by < a href = "http://patriciogonzalezvivo.com" > Patricio Gonzalez Vivo< / a > < / p > < / div >
< hr >
< div id = "content" > < / div >
< hr >
< ul class = "navigationBar" >
< li class = "navigationBar" onclick = "previusPage()" > < < Previous< / li >
< li class = "navigationBar" onclick = "homePage()" > Home < / li >
<!-- <li class="navigationBar" onclick="nextPage()">Next > ></li> -->
< / ul >
< footer >
< p > Copyright 2015 < a href = "http://www.patriciogonzalezvivo.com" target = "_blank" > Patricio Gonzalez Vivo< / a > < / p >
< / footer >
< script type = "text/javascript" src = "../src/main.js" defer > < / script >
< script >
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-18824436-2', 'auto');
ga('send', 'pageview');
< / script >
< / body >
< / html >