Fundamentals: Outlines

From Filter Forge Wiki

Jump to: navigation, search

I. Basic Techniques

Image:Fundamentals Outlines 01.jpg

So, let's say we've created some nice pill shapes with Bricks from the Pattern component category, and now we'd like to draw some nice red outlines around them. Playing around with the Mortar color swatch, we can change the color of the area surrounding our pill shapes. Yup, that Mortar area is where our outlines would go, but using the Mortar color swatch alone won't get us there. We'll have to think beyond our little Bricks component here to achieve our goal!

Image:Fundamentals Outlines 02.jpg

What if we made an exact duplicate (use CTRL-C and CTRL-V) of our Bricks, made the pills a little larger using Mortar Width and set the Bricks color to red? Yup, that looks like we are already half there! Now we just need to find a way to put those bigger red pills "underneath" our smaller white pills!

This is where Map Inputs come into play! We just need to map our red pills to the Mortar map input of our white pills. Now, the Mortar area around our white pills is no longer a solid color, but it reads its color from our second Tiles component... BOOM! ... instant red outlines! Note how the area around our red outline pills has now become white. This is because - you guessed it - the Mortar color of our second Tiles component is set to white.

Image:Fundamentals Outlines 03.jpg

The same result can also be achieved in a different way: When you set the Mortar color's alpha value to zero, the Mortar area of both our Bricks components becomes completely transparent. We can now use a Blend component to put the white pills on top of the red pills (using the "Normal" Mode and an Opacity of 100). However, this method is a little less elegant than our first solution, since it uses three components instead of two.

Image:Fundamentals Outlines 04.jpg

Let's explore another technique. Again, we'll use a Bricks component for our example. Make sure the Bevel Width is set to 100 this time.

Image:Fundamentals Outlines 05.jpg

Now set the Bevel to Contours and watch what happens. Whoa! Outlines... well, almost! Examine the Bevel dropdown menu once more, go through the different options and notice the results of the different Bevel profile curves.

If we could only make our own profiles, then we could probably get rid of this smooth gradient around our pills that the Contours option gave us. Well, that's exactly what we'll do now... explore some Curve Components!

Image:Fundamentals Outlines 06.jpg

Go grab an Impulse component from the Curves category and hook it up to the Bevel curve input of the Bricks. Then set all the parameters as shown above. Now we're talking some serious outlines! You can even move them around by using the Position control and tweak their width using the Width control of the Impulse curve.

If you set the Bricks color swatch to red and the Mortar color swatch to white... yup, that's our white pills with red outlines again... Awesome!

Image:Fundamentals Outlines 07.jpg

So how do these profile curves really work? Remember that we set our Bricks component's Bevel Width to a value of 100, giving it a default Linear bevel profile -- i.e. a linear transition from its black Mortar color to its white Bricks color. Now, by using a custom Curve Component we are effectively tone-mapping this linear black to white transition as if we were using a Tone Curve, as demonstrated above. Note how the Impulse curve pushes all color values down to pure black except those in the small medium grey range, which it pushes up to a pure white. This is why we're getting a crisp white outline positioned exactly in the middle of our transition!

For more info, see the Tone Curves Explained article in the Filter Forge help section.

Image:Fundamentals Outlines 08.jpg

So far we've only dealt with creating outlines for Pattern components, but the same techniques work equally well for all the Noise components. Above you can see a Blocks noise with an Impulse curve as a Profile, resulting in some quick and dirty outlines.

Image:Fundamentals Outlines 09.jpg

Using the "duplicate and layer on top" technique demonstrated earlier is also feasible to generate outlines for Noise components. In the example above, two Step curves were used to define the red/white color boundaries and the outline thickness. Again, Map Inputs were utilized for efficient blending of the two noises.

Filters recommended for further studies in basic outline techniques:
471-small.jpg 4307-small.jpg 3648-small.jpg 844-small.jpg 4166-small.jpg
Adaptive Tiling Compact Discs Grin Inc. No Code Pixel Scape (tm)

II. Bitmap-based Techniques

Image:Fundamentals Outlines 10.jpg

Let's explore yet another technique for creating outlines. Above we have a Perlin Noise with a lots of fine detail which we'd like to preserve in our outline.

Image:Fundamentals Outlines 11.jpg

It is painfully obvious that our curve profile approach won't cut it here: Even though we're using a very small Width on our Impulse curve, the detail of the noise is completely lost! Looks like we'll have to resort to some trickery! ;)

Image:Fundamentals Outlines 12.jpg

What a difference a Blend makes! The above solution exploits the fact that the Difference between a 100% contrast 'black & white' image and its inversion results in a completely uniform white color field (i.e. "everywhere" the Blend looks, it finds the two sources are 100% different from eachother, hence the solid white!). By introducing a tiny blur to either the original or the inversion before differencing, the contrast edge can be extracted (because both sources are no longer 100% different due to the Blur on one of them). As hinted at above, the Blur component uses a Radius of 0,1 and the Blend is set to 'Difference' Mode. Note how the outline vanishes if you set the Blur's Radius back to zero!

Image:Fundamentals Outlines 13.jpg

You can use a Threshold to get rid of any remaining blur on the outline and truly crisp it up! Just make sure that the Smooth parameter is set to zero. And what an amazing job this Threshold does on finalizing our outlines, eh! ;)

As has been demonstrated above, this technique can be very helpful in cases where you need to extract fine detail outlines from an arbitrary black & white source, and it has been used for the creation of organic inking in several successful library filters.

Image:Fundamentals Outlines 14.jpg

Yet another method for creating outlines: Use a High Pass component. One great advantage of the High Pass is that it works well with any colored or greyscale input. However - due to its bitmap-based nature - it is usually pretty slow, so try to avoid it when possible. Another characteristic of the High Pass is that it tends to generate rather grungy outlines, which may or may not be desireable.

Image:Fundamentals Outlines 15.jpg

This last trick is similar to the Difference technique discussed earlier, but it works with any source (not just pure black & white). Instead of a Difference blend mode we're using Color Dodge this time, which acts as a channel-wise contrast modifier for the Background input. Again, use a Threshold after the Blend to crisp up your outlines.

For more info on blend modes, see the article on the Blend component in the Filter Forge help section.

Filters recommended for further studies in bitmap-based outline techniques:
2849-small.jpg 227-small.jpg 7140-small.jpg 5531-small.jpg 6643-small.jpg
Cartography Comic Book Countries Crosshatch Drawing Graphic Art
7750-small.jpg 1598-small.jpg 932-small.jpg 5384-small.jpg 1979-small.jpg
I Can Draw Manga Jigsaw Puzzle Pen and Ink Crosshatch Spelunker's Scribble Technical Drawing

-- Crapadilla

<<< Back to Main Page

Personal tools