{"id":7370,"date":"2012-03-18T07:00:49","date_gmt":"2012-03-18T05:00:49","guid":{"rendered":"http:\/\/4eyes.code66.se\/?p=7370"},"modified":"2012-03-20T08:32:42","modified_gmt":"2012-03-20T06:32:42","slug":"making-an-interesting-filterforge-filter-episode-eight","status":"publish","type":"post","link":"http:\/\/4eyes.code66.se\/?p=7370","title":{"rendered":"Making an interesting FilterForge Filter &#8211; Episode eight"},"content":{"rendered":"<p>I know you think we&#8217;re done with the filter, but there are always some tweaking to do. When you make a filter yo want people to use it after you publish it, and a one-trick-pony will not get that much use unless it is a super duper filter. The more settings and variations you have, the more usage will the filter get and the more likely you are to get a HU (High Usage Point), for which you can trade yourself additional FilterForge licenses to give to friends and family.<\/p>\n<p><!--more--><\/p>\n<p>So, we&#8217;re gonna add some options to the nice wood we added last time. First we add a slider to control the <em>Mortar Width<\/em> of the <strong>Pavements<\/strong> conponent. We use the remapper to limit the width to reasonable boundaries.<\/p>\n<p><a href=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2012\/03\/s801.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7393\" title=\"s801\" src=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2012\/03\/s801.jpg\" alt=\"\" width=\"856\" height=\"329\" \/><\/a><\/p>\n<p>But if we don&#8217;t want mortar as mortar in the woods, what about something else? We create a <strong>Stones<\/strong> like this to be an alternative height\u00a0map for out alternative gap filler, not mortar.<\/p>\n<p><a href=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2012\/03\/s802.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7392\" title=\"s802\" src=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2012\/03\/s802.jpg\" alt=\"\" width=\"575\" height=\"412\" \/><\/a><\/p>\n<p>Then we just add a <strong>Color<\/strong> component to the <em>Mortar<\/em> input of the <strong>Pavements<\/strong>.<\/p>\n<p><a href=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2012\/03\/s803.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7391\" title=\"s803\" src=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2012\/03\/s803.jpg\" alt=\"\" width=\"888\" height=\"317\" \/><\/a><\/p>\n<p>THis is how it will look with just something else as gap filler on the wood, looking good.<\/p>\n<p><a href=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2012\/03\/s804.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7390\" title=\"s804\" src=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2012\/03\/s804.jpg\" alt=\"\" width=\"600\" height=\"600\" \/><\/a><\/p>\n<p>Remember wha I said about one-trick-ponies? We put a <strong>Switch<\/strong>, or one for texture and one for height map, and a <strong>Checkbox<\/strong> which we name Mortar in wood.Now we let the user choose between mortar or our optional filler. Then \u00a0we need to make the bevel width selectable on the wood, so we add a <strong>Slider<\/strong> for that and hook it to the <em>Bevel Width<\/em> input on both the texture and heigh tmap <strong>Pavements<\/strong>. We set the remapper to sane values.<\/p>\n<p><a href=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2012\/03\/s805.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7389\" title=\"s805\" src=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2012\/03\/s805.jpg\" alt=\"\" width=\"862\" height=\"293\" \/><\/a><\/p>\n<p>Now, what would it look like with a different bevel width and the black gap filler selected?<\/p>\n<p><a href=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2012\/03\/s805a.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7387\" title=\"s805a\" src=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2012\/03\/s805a.jpg\" alt=\"\" width=\"600\" height=\"600\" \/><\/a><\/p>\n<p>I think i&#8217;s time to enable the user to change the wood pattern, the bond, so we hook an <strong>IntSlider<\/strong> to it and set limits between 1 and 9 as there are nine different bonds.<\/p>\n<p><a href=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2012\/03\/s806.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7388\" title=\"s806\" src=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2012\/03\/s806.jpg\" alt=\"\" width=\"842\" height=\"316\" \/><\/a><\/p>\n<p>Now I got another idea, what about having some tiles that are missing? We add another <strong>Threshold<\/strong> component to the Stones we use to pick out the different colors for the stones.<\/p>\n<p><a href=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2012\/03\/s807.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7386\" title=\"s807\" src=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2012\/03\/s807.jpg\" alt=\"\" width=\"769\" height=\"292\" \/><\/a><\/p>\n<p>Then \u00a0we add another <strong>Switch<\/strong> where we generate the mortar setup and connect a <strong>Checkbox<\/strong> to it that we call it missing tiles.<\/p>\n<p><a href=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2012\/03\/s808.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7385\" title=\"s808\" src=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2012\/03\/s808.jpg\" alt=\"\" width=\"763\" height=\"297\" \/><\/a><\/p>\n<p>Now we <strong>Blend<\/strong> using darken the <em>missing tiles<\/em> that should be filled with mortar upon the mortar pattern we have.<\/p>\n<p><a href=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2012\/03\/s809.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7384\" title=\"s809\" src=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2012\/03\/s809.jpg\" alt=\"\" width=\"554\" height=\"187\" \/><\/a><\/p>\n<p>We can now hook this to se second input of the Switch.<\/p>\n<p><a href=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2012\/03\/s810.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7383\" title=\"s810\" src=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2012\/03\/s810.jpg\" alt=\"\" width=\"762\" height=\"365\" \/><\/a><\/p>\n<p>So, how will this look? I think the basic idea is great, but it might need something more&#8230;<\/p>\n<p><a href=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2012\/03\/s812.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7382\" title=\"s812\" src=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2012\/03\/s812.jpg\" alt=\"\" width=\"600\" height=\"600\" \/><\/a><\/p>\n<p>To add something more, we first add a <strong>Slider<\/strong> and call it Stone Scale, that wee hook up to both the <strong>Stones<\/strong>\u00a0we have for tile generation to the <strong>Scale<\/strong> input. Now we can set different sizes for the stone, remapping to 150 &#8211; 300 or something, to avoid pebbles.<\/p>\n<p><a href=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2012\/03\/s813.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7380\" title=\"s813\" src=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2012\/03\/s813.jpg\" alt=\"\" width=\"769\" height=\"306\" \/><\/a><\/p>\n<p>We then add another stone, set small, and <strong>Threshold<\/strong> that.<\/p>\n<p><a href=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2012\/03\/s814.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7379\" title=\"s814\" src=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2012\/03\/s814.jpg\" alt=\"\" width=\"810\" height=\"310\" \/><\/a><\/p>\n<p>Now we use the result from this as the <em>Low<\/em> value for your missing tiles. Hopefully we will have broken tiles here.<\/p>\n<p><a href=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2012\/03\/s815.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7378\" title=\"s815\" src=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2012\/03\/s815.jpg\" alt=\"\" width=\"480\" height=\"182\" \/><\/a><\/p>\n<p>Now the broken ones looks better, so does the smaller stones.<\/p>\n<p><a href=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2012\/03\/s816.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7377\" title=\"s816\" src=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2012\/03\/s816.jpg\" alt=\"\" width=\"600\" height=\"600\" \/><\/a><\/p>\n<p>But what more can we fit into one day? Its still renders reasonable fast, compared with the slow one we had in a previous tutorial.<\/p>\n<p><a href=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2012\/03\/s817.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7376\" title=\"s817\" src=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2012\/03\/s817.jpg\" alt=\"\" width=\"237\" height=\"96\" \/><\/a><\/p>\n<p>We can add a Slider called <em>Brokens<\/em>, which we can use to co control how much broken parts we want in the missing spaces, then we can go from missing to many pieces, great way of choice.<\/p>\n<p><a href=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2012\/03\/s818.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7375\" title=\"s818\" src=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2012\/03\/s818.jpg\" alt=\"\" width=\"863\" height=\"355\" \/><\/a><\/p>\n<p>To this we connect the Stone size slider but with another remapper range, so we get proportionally scaled broken pieces.<\/p>\n<p><a href=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2012\/03\/s819.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7374\" title=\"s819\" src=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2012\/03\/s819.jpg\" alt=\"\" width=\"655\" height=\"296\" \/><\/a><\/p>\n<p>and at last, we create a <strong>Switch<\/strong>, and attach a bunch of differently setup curves, so we can choose from a selection of different bevels. Now I think we have made enough choices for one day.<\/p>\n<p><a href=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2012\/03\/s820.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7373\" title=\"s820\" src=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2012\/03\/s820.jpg\" alt=\"\" width=\"527\" height=\"374\" \/><\/a><\/p>\n<p>In the <a href=\"http:\/\/4eyes.code66.se\/?p=7396\">next episode<\/a> (<em>I had to cut this one down into two<\/em>), we will finish this filter, stay tuned.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I know you think we&#8217;re done with the filter, but there are always some tweaking to do. When you make a filter yo want people to use it after you publish it, and a one-trick-pony will not get that much use unless it is a super duper filter. The more settings and variations you have, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[13,70],"class_list":["post-7370","post","type-post","status-publish","format-standard","hentry","category-tools-of-the-trade","tag-filterforge","tag-tutorial"],"_links":{"self":[{"href":"http:\/\/4eyes.code66.se\/index.php?rest_route=\/wp\/v2\/posts\/7370","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/4eyes.code66.se\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/4eyes.code66.se\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/4eyes.code66.se\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/4eyes.code66.se\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=7370"}],"version-history":[{"count":5,"href":"http:\/\/4eyes.code66.se\/index.php?rest_route=\/wp\/v2\/posts\/7370\/revisions"}],"predecessor-version":[{"id":7418,"href":"http:\/\/4eyes.code66.se\/index.php?rest_route=\/wp\/v2\/posts\/7370\/revisions\/7418"}],"wp:attachment":[{"href":"http:\/\/4eyes.code66.se\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=7370"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/4eyes.code66.se\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=7370"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/4eyes.code66.se\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=7370"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}