Vector

Vector data is comprised of points and lines. It's often used for graphical elements such as logos and icons. Vectors graphics have their pros and their cons. Pro: Small file size, Scales easily Cons: Not great for photorealism, Can be slower when really complex.

If you've used other design software you’re probably well acquainted with working with vector shapes but please take the time to learn about EXO more advanced Vector features so you can take full advantage of the tool.

Components

Point

Points are a single point in 2D space. They have an X & Y component. By themselves they are not visible.

Span

Spans join 2 points together. A span can only exist between two points. They can be either a straight line or a curve. Curves have control handles that are used to shape the curve.

Segment

When multiple spans are joined together they form a segment

Path

Paths consist of one or more segments that are joined to create a closed shape which can then be filled with a color.

Graphic

Graphics are vectors that have been nested within a parent vector.

Compound Vectors

You may be wondering why have all these different component types, well the answer is to allow for compound vectors. Most drawing programs only allow for points to be connected to 2 spans. EXO allows points to connect to many different spans. This allows you to draw complex shapes with lines that branch apart just like you would if you were using a pen and paper. Now if we look at an example of a compound vector you can see how one shape can have multiple Segments and Paths.

Masks

Vector Masks are a way of storing a selection of components. A mask can only store one component type at a time but it is possible to convert between the different types. Masks work based on indices. Each component in a Vector has a unique index starting from 0 and counting up. Masks store these indices. You can name masks and store them within a vector for future use.

Variables

Variables allow you to attach data to each component. EXO can use this data to create some very powerful effects. Variables have a name and type and they are attached to component type. A variable can be one of the following:

Integer
Decimal
Point
Normal
Color
Material Fill
Transform

EXO has a couple special variables that are used when drawing:

Variable Type Name Component Description
Color color Path Fills the path with this color
Decimal thickness Point Controls the thickness of the line
Decimal offset Point Controls the offset of the line from the original path

Materials

Materials tell EXO how to draw a vector on the canvas. Materials have 3 parts: Path Fill, Stroke Fill and Stroke.

Path Fill & Stroke Fill

Path Fill and Stroke fill are similar though there are a couple differences. Path Fill is used to fill in a closed path. The Stroke Fill is used to fill in the strokes. Fills have 4 different types:

Color

A solid color. Colors can be selected as RGBA, HSVA or HSLA. In 8 bit scenes color values range between 0 – 255. 16 bit scenes have color values between 0 – 65535. Colors are stored internally as a decimal value between 0 – 1.

Gradient

Multiple colors that are blended between. Gradients can be interpreted in a couple different ways:

Type Description Note
Linear
Radial
Conical
Diamond
Square Root
Along Stroke Only Stroke Fills
Across Stroke Only Stroke Fills

Angle

The angle in degrees to rotate the gradient around its center point.

Overshoot

What happens when rendering beyond the bounds of the gradient.

Clamp Show the last color of the gradient
Reflect Go in the reverse direction of the gradient
Repeat Keep cycling through the gradient colors

Blend Mode

How to interpret the transition between colors in a gradient. The differences are subtle.

Linear Use a linear interpolation
Bezier Use a smooth Bezier interpolation

Steps

How many steps are used to blend between the colors in a gradient. A low number will mean visible banding.

Dither

Tries to prevent banding by adding variations to the transition between colors. This is a work in progress. It will get better.

Pattern

Patterns use a repeating image to fill a shape.

Scale Mode

The scale mode of a pattern controls how a pattern is mapped on the canvas.

Object Stretch the pattern to fill the shape
Texture Use the dimensions of the pattern
Along Stroke Stretch a single pattern along the length of the stroke
Across Stroke Stretch across the width of the stroke, tile along the length

Wrap Mode

When a pattern cannot fill an entire shape it will repeat itself. This is commonly known as tiling. EXO supports two different ways of tiling.

Repeat When the edge of the pattern is reached, go back to the beginning
Reflect When the edge of the pattern is reached, reverse

Transform

The transform controls how a pattern is positioned, rotated and scaled within a shape. By default this is based on the bounding box of the shape. It is also possible to customize the transform of a particular vector using the pattern tool.

Opacity

Adjusts the transparency of the entire pattern.

Add Background

If the raster being used for the pattern is partly transparent you can fill the background with a solid color.

Remap Colors

Remap colors uses a gradient to change the colors of the pattern. The existing pattern is treated as greyscale. These greyscale values are then compared to the gradient you supply and the colors are sampled.

Stroke

A path by itself cannot be seen. To draw a path it needs some thickness. This thickness is represented by the stroke. To create a stroke a line is traced around the source stroke and then filled in using the Stroke Fill. There are numerous parameters that can be tweaked to control how the outline around the source path is drawn.

Thickness

Remap colors uses a gradient to change the colors of the pattern. The existing pattern is treated as greyscale. These greyscale values are then compared to the gradient you supply and the colors are sampled.

Line Style

Line Style controls if the stroke is drawn as a single, solid line or as a dashed line.

Solid Drawn as one continuous line
Absolute Drawn as a dashed line. The dash length and spacing are absolute pixel count.
Relative Drawn as a dashed line. The dash length and spacing are relative to the thickness of the stroke.

Cap Style

Determines how an open path is drawn at the ends. The cap style will also affect how dashed lines are drawn. Use round caps with a dashed line to create a dotted line.

Butt The stroke stops flush with the path.
Square The stroke extends beyond the end of the path for the length of the thickness of the stroke.
Round The stroke makes a semi-circle at the end of the path.

Inner Join

When two lines connect, if the angle is less than 180° that is considered an inner join.

Miter Create a sharp join with no transition.
Bevel Add a transition line that's angled halfway between the two connecting lines.
Round Blend the two lines together with a smooth arc. The radius of the arc is the same at the thickness of the stroke.

Outer Join

When two lines connect, if the angle is greater than 180° that is considered an outer join.

Miter Create a sharp join with no transition.
Bevel Add a transition line that's angled halfway between the two connecting lines.
Round Blend the two lines together with a smooth arc. The radius of the arc is the same at the thickness of the stroke.

Miter Limit

When two lines connect and they form a miter join, if the angle is very sharp the stroke will extend very far beyond the original path. The miter limit will constrain how far the miter can extend beyond the source path.

Offset
0% 50% -100%

Typically the stroke is draw using the same thickness for both sides of the original path. The offset allows you to shift the stroke to one side or the other. You can even extend it beyond the source path. Large offset values may have trouble rendering properly.


Next: Nodes And Graph