Thanks for all the nice comments. It’s really cool to see so many people interested in these functions. And huge thanks again to Luos for his feedback and support.
Well, to list a few numbers - These are the “Info Base pass shader without light map” instructions for an emissive unlit material:
- Polygon_01: 70
- Star_01: 80
- Noise_02: 60
- Flare_01: 76
Noise_02 is the simplest 2D value noise function and it’s used in the Flare_01 function, which you can see in all 6 examples in the first screenshot.
In comparison, the engine default noise node options with 1 level, without turbulence:
- Simplex - texture based: 119
- Gradient - texture based: 121
- Fast Gradient - 3D texture (doesn’t work on mobile): 59
- Gradient - Computational: 124
- Value - Computational: 87
- Voronoi: 198
Don’t take these numbers too literal though. Instruction count is more or less just an estimate of the true performance impact. The three texture based noise types from the engine node have obviously an additional texture lookup. When choosing multiple layers for noise, the instruction count doesn’t show increased numbers of the iterations. Different instructions have different cost. These are pixel shader instructions, so performance impact depends on how many pixels the material covers on your screen, etc.
Simply put, the performance cost of these functions is pretty low, unless you go overboard with noise with a high number of levels. I hope that answers your question.
If you are really worried about the performance cost of noise, you can always just bake it out and use a noise texture instead of calculating it in the material (see https://www.unrealengine.com/blog/getting-the-most-out-of-noise-in-ue4). That has its own drawbacks though. I also want to point out that most functions in this pack have nothing to do with noise.