I am not talking about mixing different procedural textures .I want to know the process of making procedural textures from scratch. Thanks in advance

  • 3
    $\begingroup$ You can script your procedural shader with osl google.it/url?q=https://docs.blender.org/manual/ko/dev/render/… $\endgroup$
    – m.ardito
    Sep 19, 2017 at 6:01
  • 2
    $\begingroup$ Making procedural textures is all about manipulating coordinates with mathematical functions that produce colors. You'll need to have the following knowledge: thebookofshaders.com It's more or less easy to recreate those methods in the node editor. $\endgroup$
    – Secrop
    Sep 19, 2017 at 9:49
  • $\begingroup$ Cycles procedural textures are part of the kernel and can't be easily added to without increasing memory consumption or compilations times, and certainly not without touching the source code and compiling Blender yourself. You don't even mention which textures you want, Internal render, object textures or cycles, but either way this question is too broad and development related $\endgroup$ Sep 19, 2017 at 11:56
  • $\begingroup$ @Secrop Could you make an answer with one example from the link you provided? Some shape or pattern will be nice. What I'm asking is how to 'translate' shaders/functions from there to Cycles Nodes. $\endgroup$
    – cgslav
    Sep 19, 2017 at 12:14
  • 1
    $\begingroup$ @LukeD I could, but that's not the point. Learning how to make procedural textures is not a subject that fits in a 1 question - 1 answer post. There is too much about it. 'Converting' glsl code into nodes is not a light thema also, but most of the functions that exist in glsl, are in nodes.. specially the math node, the vector math, the mixrgb, etc. $\endgroup$
    – Secrop
    Sep 19, 2017 at 13:05

1 Answer 1


The 'built-in' texture nodes generate their textures mathematically and so most of them can be recreated using Maths nodes - building your own textures is no different.

For example, the Wave Texture can be created by using a Sine function based on the input coordinates :


Or the Checker texture recreated as follows :


Gradient textures follow similar principles - for example, a horizontal gradient :


The Noise, Musgrave, Magic, Brick, Sky textures can similarly be reproduced using maths.

Even something akin to the Voronoi texture can be recreated as detailed in this and this answer.

The Point Density and Image/Environment textures are an exception since those require additional input (the image or point cloud) - although in the case of the Point Density you could theoretically use Combine XYZ or Value nodes to set each of the point coordinates and maths nodes to calculate the proximity to each of those points - but it would quickly become too cumbersome to be practical as the number of points increases.

The 'built-in' textures will always be more efficient that doing these things using maths nodes but they can still be used in combination with each other and additional maths nodes and coordinate manipulation to generate interesting textures.

For further examples, see here and here.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .