Jump to content
You must now use your email address to sign in [click for more info] ×

Affinity Photo Procedural Textures for Absolute Beginners: 101.1

Recommended Posts



I don’t understand the mathematics involved either!. Honestly, I have barely the slightest clue about the maths. I also only have a very rudimentary understanding of the syntax for making the equations from scratch.

So, what’s the point? I hear you ask. The answer is that without any understanding of the maths or the syntax, I have managed to work out enough to create artistic filters and macros for all kinds of artistic, lighting and graphic design effects. It’s this PRACTICAL knowledge I want to share in a few tutorials with those who look at the Help section in Affinity, see “var v2=vec2(rx/w/2, ry/h/(b*2)); dir(v2*(a*2))*(c*2)”  and run for hills screaming.

The aim of this first tutorial, is to give an introduction to Affinity Photo’s Procedural Texture filter from absolute scratch. I assume you know absolutely nothing about Procedural Textures. The following tutorials will help you build up enough knowledge to mess around with them and tweak them to make your own.

Why bother with Procedural Textures at all?


With procedural textures you can: create textures and patterns which can be used in place of image textures; create textures for displacement maps and create artistic filters; create gradients; lighting effects like highlights and sun spots. I have dozens now which I have used to create chalk, watercolour, cross-hatching, oil paint, grunge, paper and canvas textures… their uses seem only to be limited by your creativity and experimentation, which let's face it, is half the fun!

What are Procedural Textures?


Simply put, they are a line, or lines of mathematical formulae in C++ programming language which generate patterns of pixels, BUT DON’T LET THAT SCARE YOU. You DON’T need to understand the maths or coding to use or customise them – I promise!

The clever thing about Procedural Textures is that, because they are generated by maths equations, like vector graphics, they work at all resolutions and sizes of documents. The pattern is only ‘fixed’ as pixels when you hit apply. If you use them as live filters, they are not even fixed then, but remain completely editable AND interchangeable.

Where do I find Procedural Textures?

Go to Filters>Colours>Procedural Texture.  You can also launch them as a Live Filter through Layer>New Live Filter Layer>Colours>Procedural Texture. This option gives you the chance to change or edit the PT later, but lots of Live Filter Layers may slow down your system.

Let’s leap right in! If you’ve opened the Procedural Texture dialogue, close it.

The Procedural Texture Dialogue Explained

Create a new blank document 1920x180 pixels (the size doesn’t matter). Create a new pixel layer by clicking on the chequerboard icon at the bottom of the layer palette or go to Layer>New Layer. Fill this layer with your foreground colour through Edit>Fill with Primary Colour. Procedural Textures seem to need a filled pixel layer to work against.

Let’s look at the Procedural Texture Dialogue in detail:



It’s divided into two sections. The top is the Equations section. This is where the equations go which generate the textures. The bottom section is the Custom Inputs section. This where you’ll find various controls for the texture, if it has any.

Equations Section


The Equations Section has a drop-down list of presets. This list is actually a library of different textures and patterns divided into categories. The burger icon to the right of the presets drop-down list is where you can create new presets, rename and delete them.

You can also open the Presets Manager by clicking on Manage Presets. Do this now.



This is where you can add your own categories, export and import presets, and delete and rename them. You can also drag presets to reorder them or put them into different categories.

Whilst you are here, create a new category and call it Basic Noise or Tutorial Textures. You can rename or delete them later.

Two further things to note are that you can’t rename or delete the default presets, but there is a burger icon next to the categories where you can delete or rename your own or imported ones.

Close the Presets Manager and select the Chequered preset from the Basic Shapes section.


The Equations section has got one equation line which generates squares.


TIP: Look at the equation. It has “rx” and “ry” in it. If you see these in any equation (or put them there yourself) you have a click-draggable texture. Click and hold down the mouse in the texture or pattern and drag the mouse around.


At the end of the equation line, you have the letters R, G, B, A and an X.

They refer to the red, green blue and alpha (transparency) channels – here R, G and B are active. You don’t need to know anything about channels for now. Just click them on and off, and try them in pairs. The weird thing is that if you want, say, red and white squares you have to turn off the red button! (This is to do with additive colour mixing – a whole other tutorial).

The X at the end of the RGBA line deletes the equation line.

Custom Inputs


The Custom Inputs section has got one controller called “Square count” which is set to 25. It’s not the actual number of squares, it multiplies the numbers of squares in the pattern.

The X at the end of the Custom Inputs line deletes the input.

The Custom Inputs section has its own burger icon. This is where you can add sub-presets or variations of textures which you make. Affinity won’t allow you to save sub-presets of the default textures, but it’s worth checking the drop-down list of the default textures as there are some good textures hidden away there – like “Smoke” in the Perlin Noise preset.

That’s it for the basic introduction in the next tutorial (Procedural Textures Tutorial 101.2) we’ll go a little deeper and create a very basic custom texture  - just one word a pair of brackets and one letter, which, with a few tweaks can give you this!


















Silk Background Macro Layers.JPG



Soft cubic noise lines.JPG

Yellow Squares.JPG

Link to comment
Share on other sites

RevTim, Interesting tutorial. But my Live Procedure Texture panel ha no drop down list of presets. I have to open the Manage Presets panel to see them. I created a new category: Tutorial Textures. I dragged Checkered into it but I can't get it into the Live Procedure Textures panel in any form.

When I click on the Drop Down Menu of the procedures panel I get 1 listing— Reset to empty

So I appear to be stuck, unable to apply your techniques.

Link to comment
Share on other sites

On 7/2/2021 at 8:34 PM, Nivrams said:

RevTim, Interesting tutorial. But my Live Procedure Texture panel ha no drop down list of presets. I have to open the Manage Presets panel to see them. I created a new category: Tutorial Textures. I dragged Checkered into it but I can't get it into the Live Procedure Textures panel in any form.

When I click on the Drop Down Menu of the procedures panel I get 1 listing— Reset to empty

So I appear to be stuck, unable to apply your techniques.

Hi Nivrams,

I'm really sorry you're having difficulty with the tutorial. I'm not sure why you can't see any presets in the drop-down list. If you are using Affinity Photo on a Mac not Windows, I've noticed that some people have had issues with the Procedural Texture dialogue (eg HERE). It could be a technical support issue, but before you contact customer, can I ask you to double-check by going through these steps:

1. Create a new empty document.

2. Create a new pixel layer by clicking on the Layer menu and selecting New Layer.

3. If your foreground colout is white, change it to a colour - it's not necessary, but it will help you see the next step more clearly.

3. Click on the Edit menu and select Fill with Primary Colour (the filter only works on layers with pixels.)

4. Add the Live Procedural Texture Layer by clicking on the Layer menu, then New Live Filter, then Colours and then Procedural Texture.

5. Click on the Presets drop-down list at the end of the Equations line in the top section.1072393576_LiveTexturepresetsonEquations.jpg.0a7c3da832215bebe414d454b4e7c437.jpg

You should have all the default presets listed here like the image below. If you haven't, it may be that you have accidentally clicked on "Reset to empty" some time in the past. If, when you click on the burger icon and select Manage Presets, they are listed there, then you should contact the support team for help, as it sounds like a technical issue. One other thing to try as a 'double-check' is to not bother applying the Procedural Texture as a live filter. Instead, apply it as an ordinary filter through Filters>Colours>Procedural Texture, and then see if you have any presets.

This is how it should look:


You can restore Affinity Photo back to its original factory settings through Edit>Defaults>Factory Reset BUT I don't recommend this until you've contacted customer support because you would lose any new brushes, filters or other customisations you may have made.

BTW, if you manage to get your presets back to working order, there is no need to drag it into the Tutorial Textures folder. It doesn't matter if you have, but that folder was created to hold new textures made in the tutorial.

I really hope you can Procedural Textures working, they are so useful for artists and graphic designers.



Link to comment
Share on other sites

  • Staff
On 7/2/2021 at 8:34 PM, Nivrams said:

But my Live Procedure Texture panel ha no drop down list of presets.

This will likely be due to the active Colour Space for the document, as the Presets in the Procedural Texture dialog are locked to the colour space your document is using.

For example, if you create a new document in CMYK or LAB colour spaces, then open the Procedural Texture dialog, there will be no presets available - however the same window in an RGB document will show the presets :) 

Link to comment
Share on other sites

  • 1 month later...
  • 1 year later...
  • Staff

Hi @dehskins,

The presets for the Procedural Texture dialog are not compatible between colour spaces as each uses different parameters for the colour channels (ie R,G,& B cannot be directly translated to C, M, Y & K) and therefore do not appear when changing colour space in use for your document.

I will however add an internal improvement request for the app to be provided with separate CMYK & LAB Presets in a future update, where possible :)

Link to comment
Share on other sites

Some reason why presets in CMYK are not yet offered:

  • RGB and CMYK are really different, and many of the recipes from RGB would simply not work in CMYK.
  • RGB is additive, and  is used to describe color values of a subject independent from output device (it should give identical colors on any Display adhering to sRGB standard)
  • CMYK is subtractive, and is used to describe colors intended for one selected printing device including paper influence (color profile describes which paper is used for printing)
  • CMYK has K (key = black) as 4th color channel which is mathematically redundant in principle. When you try to use formulas working perfect in RGB, this redundancy leads to the same formula not working (giving wrong results) in CMYK. Try e.g. invert adjustment or curves (using master curve). Results do not match between RGB and CMYK.
  • One way to avoid this would be to always automatically convert between CMYK and RGB and back, so Affinity allowing to use RGB PT filters in CMYK documents and taking care of automated double conversion. It does a one-way conversion already in other situations, eg when embedding RGB images to CMYK documents, but could have a negative performance impact.
  • I would love to get a new function in procedural texture filter which can convert between color formats, so users have the choice.

One current bug in PT filter as of V2.0: you can‘t read the magenta color channel (M), so PT filters are unusable when you want to read the old color values to calculate new ones.


Mac mini M1 A2348

LG34WK950U-W, calibrated to DCI-P3 with LG Calibration Studio / Spider 5

iPad Air Gen 5 (2022) A2589

Special interest into procedural texture filter, edit alpha channel, RGB/16 and RGB/32 color formats, stacking, finding root causes for misbehaving files, finding creative solutions for unsolvable tasks, finding bugs in Apps.


Link to comment
Share on other sites

  • 8 months later...

Affinity Photo V2.2.1 When I open the Procedural Filters preset manager, I see the presets.  When I close the preset manager as instructed in your article, I do not have any presets to choose from.  The checkered equation is not there.  Any suggestions,  Thank you, Bob

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...

Important Information

Terms of Use | Privacy Policy | Guidelines | We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.