Blenlib: Added explicit BLI_INLINE in perlin noise.

A few tiny functions were not inlined even in some release
configurations. Added BLI_INLINE as extra compiler hint in
places that the profiler showed at hot spots when populating
geometry with hair.
This commit is contained in:
Stefan Werner 2020-05-07 10:01:42 +02:00
parent a834c819ee
commit 04a3bdcc52
1 changed files with 4 additions and 3 deletions

View File

@ -24,6 +24,7 @@
#include <math.h>
#include "BLI_noise.h"
#include "BLI_compiler_compat.h"
/* local */
static float noise3_perlin(float vec[3]);
@ -264,17 +265,17 @@ static const float hashvectf[768] = {
/* IMPROVED PERLIN NOISE */
/**************************/
static float lerp(float t, float a, float b)
BLI_INLINE float lerp(float t, float a, float b)
{
return (a + t * (b - a));
}
static float npfade(float t)
BLI_INLINE float npfade(float t)
{
return (t * t * t * (t * (t * 6.0f - 15.0f) + 10.0f));
}
static float grad(int hash_val, float x, float y, float z)
BLI_INLINE float grad(int hash_val, float x, float y, float z)
{
int h = hash_val & 15; /* CONVERT LO 4 BITS OF HASH CODE */
float u = h < 8 ? x : y; /* INTO 12 GRADIENT DIRECTIONS. */