Shapes are the backbone for creating generative visuals and animations. They are really easy to use and can be manipulated in many different ways, shapes (haha) and forms. The example below is made entirely with the shapes in Wire. In this article we’re taking a deep dive into shapes and how they can be used.
What are shapes
Under the hood, shapes are mathematical formulas written by the code wizards in the Resolume dungeon. Your computer understands how to interpret these formulas as shapes and output them to your screen.
This is comparable to using vector graphics in Illustrator. The advantage of shapes is that they are lightweight and scalable. You can blow shapes up to big sizes without losing quality and you can have hundreds of them on your screen at the same time (if your GPU allows it).
By default all shapes are rendered white. But by using the Shape Render node you can give them a color. A color also contains alpha.
Because shapes are essentially just numbers and values we can do all kinds of fun things with them to create more unique shapes.
The round node will round out the hard edges of your shape. This results in a smoother, more rounded shape. In this example we've rounded the pointy bits of a triangle.
By using this node you can subtract a shape with another shape. Smoothing can be applied to make the areas where the nodes connect look more rounded.
Exclude is another way of subtracting. When excluding two shapes all the overlap will be removed.
Although the transform node is not exclusive for shapes, it is a node you will very often use when working with shapes. This node allows you to rotate, scale and move your shapes around.
Union lets you create a union of two shapes. The transition between the shapes can be smoothed. In the Inspector you can select between multiple ways the shapes are melted together. Round will create a typical smoothing effect, Chamfer will create an union without the blur you get from Round. Stairs is a unique smoothing effect that creates stair shapes on the intersections.
This node will take two shapes and only output the places where they intersect.
Diplace allows you to displace one shape with another. This can be an effective way of creating ovals and ellipses as well as more complex shapes.
With the mirror node you can mirror your shape and output the mirrored shapes as one shape. This can be way more efficient on your computer than mirroring and repeating textures. In the inspector you can decide whether to mirror vertical or horizontal
With the repeat node you can repeat the original shape multiple times in a grid. This can be a more efficient way to create repeating shapes than using multiple instances of the same shape.
The Edge node creates an edge shape of the input. In the inspector you can set the edge to be inner, outer or both.
Like almost all nodes in Wire, shapes can be instanced. We have created pattern nodes like Grid Pattern, Linear and Circle Pattern to help you to quickly create some awesome visuals.
The Merge node can be used to merge your array of shapes back into a single shape.
The Shape Render node can be used to convert the Shape2D into a Texture2D. Note that when you input a shape into a node that requires a texture (like video effects) the shape will be converted to a texture. Also note that going from Shape to Texture is a one-way ticket. There is no way to convert back to a shape.
The Shape Render will also give color to your shapes. The Gradient palette node can be used to apply a gradient to instanced shapes.