In this video, I show how to create a chainmail effect using Affinity Photo's procedural texture filter.
Functions used: var vec2 fraction smoothstepcs length length max
Chainmail filter:
var v=vec2(rx,ry)*a/h; var v1=fraction(v)-.5; var v2=fraction(v-.5)-.5; var t1=smoothstepcs(d,d+t/2,d+t/2,d+t,length(v1))*(v1.y+.5); var t2=smoothstepcs(d,d+t/2,d+t/2,d+t,length(v2))*(-v2.y+.5); max(t1,t2)
Alpha channel:
var v=vec2(rx,ry)*a/h; var v1=fraction(v)-.5; var v2=fraction(v-.5)-.5; var t1=smoothstepcs(d,d+t/2,d+t/2,d+t,length(v1)); var t2=smoothstepcs(d,d+t/2,d+t/2,d+t,length(v2)); smoothstepcs(0,e,max(t1,t2))
Procedural Textures Playlist:
• Procedural Textures with Affinity Photo
Procedural Texture Function Index
https://codeonpp.blogspot.com/2025/06...
The Procedural Texture filter and related information can be found on Affinity Photo's website:
https://affinity.help/photo2/en-US.lp...
0:00 Introduction
0:45 Document and initial equation setup
1:12 Setting up the coordinates
3:18 Creating the rings
8:45 Setting up the alpha channel
10:04 Adding color with the gradient map
12:46 Final shape adjustment
15:24 Conclusion