Blender V4.3
mathutils_noise.cc File Reference
#include <Python.h>
#include "BLI_math_vector.h"
#include "BLI_noise.h"
#include "BLI_utildefines.h"
#include "DNA_texture_types.h"
#include "../generic/py_capi_utils.hh"
#include "mathutils.hh"
#include "mathutils_noise.hh"

Go to the source code of this file.

Macros

#define N   624
 
#define M   397
 
#define MATRIX_A   0x9908b0dfUL /* constant vector a */
 
#define UMASK   0x80000000UL /* most significant w-r bits */
 
#define LMASK   0x7fffffffUL /* least significant r bits */
 
#define MIXBITS(u, v)   (((u) & UMASK) | ((v) & LMASK))
 
#define TWIST(u, v)   ((MIXBITS(u, v) >> 1) ^ ((v) & 1UL ? MATRIX_A : 0UL))
 
#define BPY_NOISE_BASIS_ENUM_DOC
 
#define BPY_NOISE_METRIC_ENUM_DOC
 
#define DEFAULT_NOISE_TYPE   TEX_STDPERLIN
 
#define DEFAULT_METRIC_TYPE   TEX_DISTANCE
 

Functions

static void init_genrand (ulong s)
 
static void next_state ()
 
static void setRndSeed (int seed)
 
static float frand ()
 
static void rand_vn (float *array_tar, const int size)
 
static void noise_vector (float x, float y, float z, int nb, float v[3])
 
static float turb (float x, float y, float z, int oct, int hard, int nb, float ampscale, float freqscale)
 
static void vTurb (float x, float y, float z, int oct, int hard, int nb, float ampscale, float freqscale, float v[3])
 
 PyDoc_STRVAR (M_Noise_doc, "The Blender noise module")
 
 PyDoc_STRVAR (M_Noise_random_doc, ".. function:: random()\n" "\n" " Returns a random number in the range [0, 1).\n" "\n" " :return: The random number.\n" " :rtype: float\n")
 
static PyObject * M_Noise_random (PyObject *)
 
 PyDoc_STRVAR (M_Noise_random_unit_vector_doc, ".. function:: random_unit_vector(size=3)\n" "\n" " Returns a unit vector with random entries.\n" "\n" " :arg size: The size of the vector to be produced, in the range [2, 4].\n" " :type size: int\n" " :return: The random unit vector.\n" " :rtype: :class:`mathutils.Vector`\n")
 
static PyObject * M_Noise_random_unit_vector (PyObject *, PyObject *args, PyObject *kw)
 
 PyDoc_STRVAR (M_Noise_random_vector_doc, ".. function:: random_vector(size=3)\n" "\n" " Returns a vector with random entries in the range (-1, 1).\n" "\n" " :arg size: The size of the vector to be produced.\n" " :type size: int\n" " :return: The random vector.\n" " :rtype: :class:`mathutils.Vector`\n")
 
static PyObject * M_Noise_random_vector (PyObject *, PyObject *args, PyObject *kw)
 
 PyDoc_STRVAR (M_Noise_seed_set_doc, ".. function:: seed_set(seed)\n" "\n" " Sets the random seed used for random_unit_vector, and random.\n" "\n" " :arg seed: Seed used for the random generator.\n" " When seed is zero, the current time will be used instead.\n" " :type seed: int\n")
 
static PyObject * M_Noise_seed_set (PyObject *, PyObject *args)
 
 PyDoc_STRVAR (M_Noise_noise_doc, ".. function:: noise(position, noise_basis='PERLIN_ORIGINAL')\n" "\n" " Returns noise value from the noise basis at the position specified.\n" "\n" " :arg position: The position to evaluate the selected noise function.\n" " :type position: :class:`mathutils.Vector`\n" BPY_NOISE_BASIS_ENUM_DOC " :return: The noise value.\n" " :rtype: float\n")
 
static PyObject * M_Noise_noise (PyObject *, PyObject *args, PyObject *kw)
 
 PyDoc_STRVAR (M_Noise_noise_vector_doc, ".. function:: noise_vector(position, noise_basis='PERLIN_ORIGINAL')\n" "\n" " Returns the noise vector from the noise basis at the specified position.\n" "\n" " :arg position: The position to evaluate the selected noise function.\n" " :type position: :class:`mathutils.Vector`\n" BPY_NOISE_BASIS_ENUM_DOC " :return: The noise vector.\n" " :rtype: :class:`mathutils.Vector`\n")
 
static PyObject * M_Noise_noise_vector (PyObject *, PyObject *args, PyObject *kw)
 
 PyDoc_STRVAR (M_Noise_turbulence_doc, ".. function:: turbulence(position, octaves, hard, noise_basis='PERLIN_ORIGINAL', " "amplitude_scale=0.5, frequency_scale=2.0)\n" "\n" " Returns the turbulence value from the noise basis at the specified position.\n" "\n" " :arg position: The position to evaluate the selected noise function.\n" " :type position: :class:`mathutils.Vector`\n" " :arg octaves: The number of different noise frequencies used.\n" " :type octaves: int\n" " :arg hard: Specifies whether returned turbulence is hard (sharp transitions) or " "soft (smooth transitions).\n" " :type hard: bool\n" BPY_NOISE_BASIS_ENUM_DOC " :arg amplitude_scale: The amplitude scaling factor.\n" " :type amplitude_scale: float\n" " :arg frequency_scale: The frequency scaling factor\n" " :type frequency_scale: float\n" " :return: The turbulence value.\n" " :rtype: float\n")
 
static PyObject * M_Noise_turbulence (PyObject *, PyObject *args, PyObject *kw)
 
 PyDoc_STRVAR (M_Noise_turbulence_vector_doc, ".. function:: turbulence_vector(position, octaves, hard, " "noise_basis='PERLIN_ORIGINAL', amplitude_scale=0.5, frequency_scale=2.0)\n" "\n" " Returns the turbulence vector from the noise basis at the specified position.\n" "\n" " :arg position: The position to evaluate the selected noise function.\n" " :type position: :class:`mathutils.Vector`\n" " :arg octaves: The number of different noise frequencies used.\n" " :type octaves: int\n" " :arg hard: Specifies whether returned turbulence is hard (sharp transitions) or " "soft (smooth transitions).\n" " :type hard: bool\n" BPY_NOISE_BASIS_ENUM_DOC " :arg amplitude_scale: The amplitude scaling factor.\n" " :type amplitude_scale: float\n" " :arg frequency_scale: The frequency scaling factor\n" " :type frequency_scale: float\n" " :return: The turbulence vector.\n" " :rtype: :class:`mathutils.Vector`\n")
 
static PyObject * M_Noise_turbulence_vector (PyObject *, PyObject *args, PyObject *kw)
 
 PyDoc_STRVAR (M_Noise_fractal_doc, ".. function:: fractal(position, H, lacunarity, octaves, noise_basis='PERLIN_ORIGINAL')\n" "\n" " Returns the fractal Brownian motion (fBm) noise value from the noise basis at the " "specified position.\n" "\n" " :arg position: The position to evaluate the selected noise function.\n" " :type position: :class:`mathutils.Vector`\n" " :arg H: The fractal increment factor.\n" " :type H: float\n" " :arg lacunarity: The gap between successive frequencies.\n" " :type lacunarity: float\n" " :arg octaves: The number of different noise frequencies used.\n" " :type octaves: int\n" BPY_NOISE_BASIS_ENUM_DOC " :return: The fractal Brownian motion noise value.\n" " :rtype: float\n")
 
static PyObject * M_Noise_fractal (PyObject *, PyObject *args, PyObject *kw)
 
 PyDoc_STRVAR (M_Noise_multi_fractal_doc, ".. function:: multi_fractal(position, H, lacunarity, octaves, " "noise_basis='PERLIN_ORIGINAL')\n" "\n" " Returns multifractal noise value from the noise basis at the specified position.\n" "\n" " :arg position: The position to evaluate the selected noise function.\n" " :type position: :class:`mathutils.Vector`\n" " :arg H: The fractal increment factor.\n" " :type H: float\n" " :arg lacunarity: The gap between successive frequencies.\n" " :type lacunarity: float\n" " :arg octaves: The number of different noise frequencies used.\n" " :type octaves: int\n" BPY_NOISE_BASIS_ENUM_DOC " :return: The multifractal noise value.\n" " :rtype: float\n")
 
static PyObject * M_Noise_multi_fractal (PyObject *, PyObject *args, PyObject *kw)
 
 PyDoc_STRVAR (M_Noise_variable_lacunarity_doc, ".. function:: variable_lacunarity(position, distortion, " "noise_type1='PERLIN_ORIGINAL', noise_type2='PERLIN_ORIGINAL')\n" "\n" " Returns variable lacunarity noise value, a distorted variety of noise, from " "noise type 1 distorted by noise type 2 at the specified position.\n" "\n" " :arg position: The position to evaluate the selected noise function.\n" " :type position: :class:`mathutils.Vector`\n" " :arg distortion: The amount of distortion.\n" " :type distortion: float\n" " :arg noise_type1: Enumerator in ['BLENDER', 'PERLIN_ORIGINAL', 'PERLIN_NEW', " "'VORONOI_F1', 'VORONOI_F2', " "'VORONOI_F3', 'VORONOI_F4', 'VORONOI_F2F1', 'VORONOI_CRACKLE', " "'CELLNOISE'].\n" " :type noise_type1: str\n" " :arg noise_type2: Enumerator in ['BLENDER', 'PERLIN_ORIGINAL', 'PERLIN_NEW', " "'VORONOI_F1', 'VORONOI_F2', " "'VORONOI_F3', 'VORONOI_F4', 'VORONOI_F2F1', 'VORONOI_CRACKLE', " "'CELLNOISE'].\n" " :type noise_type2: str\n" " :return: The variable lacunarity noise value.\n" " :rtype: float\n")
 
static PyObject * M_Noise_variable_lacunarity (PyObject *, PyObject *args, PyObject *kw)
 
 PyDoc_STRVAR (M_Noise_hetero_terrain_doc, ".. function:: hetero_terrain(position, H, lacunarity, octaves, offset, " "noise_basis='PERLIN_ORIGINAL')\n" "\n" " Returns the heterogeneous terrain value from the noise basis at the specified position.\n" "\n" " :arg position: The position to evaluate the selected noise function.\n" " :type position: :class:`mathutils.Vector`\n" " :arg H: The fractal dimension of the roughest areas.\n" " :type H: float\n" " :arg lacunarity: The gap between successive frequencies.\n" " :type lacunarity: float\n" " :arg octaves: The number of different noise frequencies used.\n" " :type octaves: int\n" " :arg offset: The height of the terrain above 'sea level'.\n" " :type offset: float\n" BPY_NOISE_BASIS_ENUM_DOC " :return: The heterogeneous terrain value.\n" " :rtype: float\n")
 
static PyObject * M_Noise_hetero_terrain (PyObject *, PyObject *args, PyObject *kw)
 
 PyDoc_STRVAR (M_Noise_hybrid_multi_fractal_doc, ".. function:: hybrid_multi_fractal(position, H, lacunarity, octaves, offset, gain, " "noise_basis='PERLIN_ORIGINAL')\n" "\n" " Returns hybrid multifractal value from the noise basis at the specified position.\n" "\n" " :arg position: The position to evaluate the selected noise function.\n" " :type position: :class:`mathutils.Vector`\n" " :arg H: The fractal dimension of the roughest areas.\n" " :type H: float\n" " :arg lacunarity: The gap between successive frequencies.\n" " :type lacunarity: float\n" " :arg octaves: The number of different noise frequencies used.\n" " :type octaves: int\n" " :arg offset: The height of the terrain above 'sea level'.\n" " :type offset: float\n" " :arg gain: Scaling applied to the values.\n" " :type gain: float\n" BPY_NOISE_BASIS_ENUM_DOC " :return: The hybrid multifractal value.\n" " :rtype: float\n")
 
static PyObject * M_Noise_hybrid_multi_fractal (PyObject *, PyObject *args, PyObject *kw)
 
 PyDoc_STRVAR (M_Noise_ridged_multi_fractal_doc, ".. function:: ridged_multi_fractal(position, H, lacunarity, octaves, offset, gain, " "noise_basis='PERLIN_ORIGINAL')\n" "\n" " Returns ridged multifractal value from the noise basis at the specified position.\n" "\n" " :arg position: The position to evaluate the selected noise function.\n" " :type position: :class:`mathutils.Vector`\n" " :arg H: The fractal dimension of the roughest areas.\n" " :type H: float\n" " :arg lacunarity: The gap between successive frequencies.\n" " :type lacunarity: float\n" " :arg octaves: The number of different noise frequencies used.\n" " :type octaves: int\n" " :arg offset: The height of the terrain above 'sea level'.\n" " :type offset: float\n" " :arg gain: Scaling applied to the values.\n" " :type gain: float\n" BPY_NOISE_BASIS_ENUM_DOC " :return: The ridged multifractal value.\n" " :rtype: float\n")
 
static PyObject * M_Noise_ridged_multi_fractal (PyObject *, PyObject *args, PyObject *kw)
 
 PyDoc_STRVAR (M_Noise_voronoi_doc, ".. function:: voronoi(position, distance_metric='DISTANCE', exponent=2.5)\n" "\n" " Returns a list of distances to the four closest features and their locations.\n" "\n" " :arg position: The position to evaluate the selected noise function.\n" " :type position: :class:`mathutils.Vector`\n" BPY_NOISE_METRIC_ENUM_DOC " :arg exponent: The exponent for Minkowski distance metric.\n" " :type exponent: float\n" " :return: A list of distances to the four closest features and their locations.\n" " :rtype: list[list[float], list[:class:`mathutils.Vector`]]\n")
 
static PyObject * M_Noise_voronoi (PyObject *, PyObject *args, PyObject *kw)
 
 PyDoc_STRVAR (M_Noise_cell_doc, ".. function:: cell(position)\n" "\n" " Returns cell noise value at the specified position.\n" "\n" " :arg position: The position to evaluate the selected noise function.\n" " :type position: :class:`mathutils.Vector`\n" " :return: The cell noise value.\n" " :rtype: float\n")
 
static PyObject * M_Noise_cell (PyObject *, PyObject *args)
 
 PyDoc_STRVAR (M_Noise_cell_vector_doc, ".. function:: cell_vector(position)\n" "\n" " Returns cell noise vector at the specified position.\n" "\n" " :arg position: The position to evaluate the selected noise function.\n" " :type position: :class:`mathutils.Vector`\n" " :return: The cell noise vector.\n" " :rtype: :class:`mathutils.Vector`\n")
 
static PyObject * M_Noise_cell_vector (PyObject *, PyObject *args)
 
PyMODINIT_FUNC PyInit_mathutils_noise ()
 

Variables

static ulong state [N]
 
static int left = 1
 
static int initf = 0
 
static ulongnext
 
static float state_offset_vector [3 *3]
 
static PyC_FlagSet bpy_noise_types []
 
static PyC_FlagSet bpy_noise_metrics []
 
static PyMethodDef M_Noise_methods []
 
static PyModuleDef M_Noise_module_def
 

Detailed Description

This file defines the 'noise' module, a general purpose module to access blenders noise functions.

Definition in file mathutils_noise.cc.

Macro Definition Documentation

◆ BPY_NOISE_BASIS_ENUM_DOC

#define BPY_NOISE_BASIS_ENUM_DOC
Value:
" :arg noise_basis: Enumerator in ['BLENDER', 'PERLIN_ORIGINAL', 'PERLIN_NEW', " \
"'VORONOI_F1', 'VORONOI_F2', " \
"'VORONOI_F3', 'VORONOI_F4', 'VORONOI_F2F1', 'VORONOI_CRACKLE', " \
"'CELLNOISE'].\n" \
" :type noise_basis: str\n"

Definition at line 148 of file mathutils_noise.cc.

◆ BPY_NOISE_METRIC_ENUM_DOC

#define BPY_NOISE_METRIC_ENUM_DOC
Value:
" :arg distance_metric: Enumerator in ['DISTANCE', 'DISTANCE_SQUARED', 'MANHATTAN', " \
"'CHEBYCHEV', " \
"'MINKOVSKY', 'MINKOVSKY_HALF', 'MINKOVSKY_FOUR'].\n" \
" :type distance_metric: str\n"

Definition at line 155 of file mathutils_noise.cc.

◆ DEFAULT_METRIC_TYPE

#define DEFAULT_METRIC_TYPE   TEX_DISTANCE

Definition at line 179 of file mathutils_noise.cc.

Referenced by M_Noise_voronoi().

◆ DEFAULT_NOISE_TYPE

◆ LMASK

#define LMASK   0x7fffffffUL /* least significant r bits */

Definition at line 52 of file mathutils_noise.cc.

◆ M

#define M   397

Definition at line 49 of file mathutils_noise.cc.

Referenced by btDeformableNeoHookeanForce::addScaledCofactorMatrixDifferential(), iTaSC::Armature::addSegment(), adjoint_m2_m2(), adjoint_m3_m3(), adjoint_m4_m4(), bsdf_hair_huang_eval_residual(), Freestyle::SilhouetteGeomEngine::CameraToImage(), CreateMatrix(), dot_m3_v3_row_x(), dot_m3_v3_row_y(), dot_m3_v3_row_z(), dot_m4_v3_row_x(), dot_m4_v3_row_y(), dot_m4_v3_row_z(), EIG_invert_m4_m4(), EIG_linear_solver_solve(), libmv::euclidean_resection::EuclideanResectionAnsarDaniilidis(), libmv::euclidean_resection::EuclideanResectionEPnP(), eulO_to_mat3(), KDL::Frame::Frame(), KDL::Frame::Frame(), KDL::Frame::Frame(), KDL::FrameAcc::GetAccTwist(), KDL::FrameAcc::GetFrame(), KDL::FrameVel::GetFrame(), KDL::Segment::getInertia(), KDL::FrameAcc::GetTwist(), KDL::FrameVel::GetTwist(), KDL::Frame::Inverse(), KDL::Frame::Inverse(), KDL::Frame::Inverse(), KDL::Frame::Inverse(), KDL::FrameAcc::Inverse(), KDL::FrameAcc::Inverse(), KDL::FrameAcc::Inverse(), KDL::FrameAcc::Inverse(), KDL::FrameAcc::Inverse(), KDL::FrameVel::Inverse(), KDL::FrameVel::Inverse(), KDL::FrameVel::Inverse(), KDL::FrameVel::Inverse(), KDL::FrameVel::Inverse(), blender::math::invert(), Freestyle::NodeTransform::isScaled(), mat3_to_size(), mat3_to_size_2d(), mat3_to_size_max_axis(), mat4_to_size(), mat4_to_size_fix_shear(), mat4_to_size_max_axis(), Freestyle::VecMat::Matrix< T, M, N >::Matrix(), mul_m3_v3(), mul_m3_v3_db(), mul_m3_v3_double(), mul_m4_v3(), mul_transposed_m3_v3(), mul_transposed_mat3_m4_v3(), mul_v2_m3v3(), mul_v3_m3v3(), mul_v3_m3v3_db(), mul_v3m3_dq(), mul_v4_m4v3(), next_state(), normalize_m2_m2(), normalize_m2_m2_ex(), normalize_m3_m3(), normalize_m3_m3_ex(), Freestyle::VecMat::operator*(), KDL::Frame::operator*(), KDL::Frame::operator*(), KDL::Frame::operator*(), KDL::FrameAcc::operator*(), KDL::FrameAcc::operator*(), KDL::FrameAcc::operator*(), KDL::FrameAcc::operator*(), KDL::FrameVel::operator*(), KDL::FrameVel::operator*(), KDL::FrameVel::operator*(), KDL::FrameVel::operator*(), Freestyle::VecMat::Matrix< T, M, N >::operator*=(), Freestyle::VecMat::Matrix< T, M, N >::operator+=(), Freestyle::VecMat::Matrix< T, M, N >::operator-=(), Freestyle::VecMat::Matrix< T, M, N >::operator/=(), Freestyle::VecMat::operator<<(), Freestyle::VecMat::Matrix< T, M, N >::operator=(), KDL::Frame::operator=(), KDL::FrameAcc::operator=(), KDL::FrameAcc::operator=(), KDL::FrameVel::operator=(), KDL::FrameVel::operator=(), blender::geometry::p_chart_correct_degenerate_triangle_point(), blender::geometry::p_chart_correct_degenerate_triangles2(), projection_inverse(), projection_matrix4_inverse(), Freestyle::VecMat::Matrix< T, M, N >::rows(), SIM_mass_spring_add_block(), iTaSC::WSDLSSolver::solve(), btLemkeSolver::solveMLCP(), Freestyle::SphericalGrid::Transform::sphericalProjection(), transform_decompose(), blender::math::transform_point(), Freestyle::VecMat::Matrix< T, M, N >::transpose(), transpose_m3_m3(), transpose_m3_m4(), transpose_m4_m4(), IK_QSphericalSegment::UpdateAngle(), IK_QSwingSegment::UpdateAngle(), Freestyle::SilhouetteGeomEngine::WorldToImage(), and Freestyle::VecMat::Matrix< T, M, N >::~Matrix().

◆ MATRIX_A

#define MATRIX_A   0x9908b0dfUL /* constant vector a */

Definition at line 50 of file mathutils_noise.cc.

◆ MIXBITS

#define MIXBITS ( u,
v )   (((u) & UMASK) | ((v) & LMASK))

Definition at line 53 of file mathutils_noise.cc.

◆ N

#define N   624

Definition at line 48 of file mathutils_noise.cc.

Referenced by init_genrand(), and next_state().

◆ TWIST

#define TWIST ( u,
v )   ((MIXBITS(u, v) >> 1) ^ ((v) & 1UL ? MATRIX_A : 0UL))

Definition at line 54 of file mathutils_noise.cc.

Referenced by next_state().

◆ UMASK

#define UMASK   0x80000000UL /* most significant w-r bits */

Definition at line 51 of file mathutils_noise.cc.

Function Documentation

◆ frand()

static float frand ( )
static

Definition at line 126 of file mathutils_noise.cc.

References float, next, next_state(), and y.

Referenced by M_Noise_random(), rand_vn(), and blender::math::tests::TEST().

◆ init_genrand()

static void init_genrand ( ulong s)
static

Definition at line 63 of file mathutils_noise.cc.

References ARRAY_SIZE, float, initf, N, range, state, and state_offset_vector.

Referenced by next_state(), and setRndSeed().

◆ M_Noise_cell()

static PyObject * M_Noise_cell ( PyObject * ,
PyObject * args )
static

Definition at line 1040 of file mathutils_noise.cc.

References BLI_noise_cell(), and mathutils_array_parse().

◆ M_Noise_cell_vector()

static PyObject * M_Noise_cell_vector ( PyObject * ,
PyObject * args )
static

◆ M_Noise_fractal()

static PyObject * M_Noise_fractal ( PyObject * ,
PyObject * args,
PyObject * kw )
static

◆ M_Noise_hetero_terrain()

static PyObject * M_Noise_hetero_terrain ( PyObject * ,
PyObject * args,
PyObject * kw )
static

◆ M_Noise_hybrid_multi_fractal()

static PyObject * M_Noise_hybrid_multi_fractal ( PyObject * ,
PyObject * args,
PyObject * kw )
static

◆ M_Noise_multi_fractal()

static PyObject * M_Noise_multi_fractal ( PyObject * ,
PyObject * args,
PyObject * kw )
static

◆ M_Noise_noise()

static PyObject * M_Noise_noise ( PyObject * ,
PyObject * args,
PyObject * kw )
static

◆ M_Noise_noise_vector()

static PyObject * M_Noise_noise_vector ( PyObject * ,
PyObject * args,
PyObject * kw )
static

◆ M_Noise_random()

static PyObject * M_Noise_random ( PyObject * )
static

Definition at line 296 of file mathutils_noise.cc.

References frand().

◆ M_Noise_random_unit_vector()

static PyObject * M_Noise_random_unit_vector ( PyObject * ,
PyObject * args,
PyObject * kw )
static

Definition at line 312 of file mathutils_noise.cc.

References norm(), normalize_vn(), rand_vn(), and Vector_CreatePyObject().

◆ M_Noise_random_vector()

static PyObject * M_Noise_random_vector ( PyObject * ,
PyObject * args,
PyObject * kw )
static

Definition at line 348 of file mathutils_noise.cc.

References rand_vn(), and Vector_CreatePyObject_alloc().

◆ M_Noise_ridged_multi_fractal()

static PyObject * M_Noise_ridged_multi_fractal ( PyObject * ,
PyObject * args,
PyObject * kw )
static

◆ M_Noise_seed_set()

static PyObject * M_Noise_seed_set ( PyObject * ,
PyObject * args )
static

Definition at line 380 of file mathutils_noise.cc.

References setRndSeed().

◆ M_Noise_turbulence()

static PyObject * M_Noise_turbulence ( PyObject * ,
PyObject * args,
PyObject * kw )
static

◆ M_Noise_turbulence_vector()

static PyObject * M_Noise_turbulence_vector ( PyObject * ,
PyObject * args,
PyObject * kw )
static

◆ M_Noise_variable_lacunarity()

static PyObject * M_Noise_variable_lacunarity ( PyObject * ,
PyObject * args,
PyObject * kw )
static

◆ M_Noise_voronoi()

static PyObject * M_Noise_voronoi ( PyObject * ,
PyObject * args,
PyObject * kw )
static

◆ next_state()

◆ noise_vector()

static void noise_vector ( float x,
float y,
float z,
int nb,
float v[3] )
static

Definition at line 203 of file mathutils_noise.cc.

References BLI_noise_generic_noise(), state_offset_vector, v, and z().

Referenced by M_Noise_noise_vector(), and vTurb().

◆ PyDoc_STRVAR() [1/18]

PyDoc_STRVAR ( M_Noise_cell_doc ,
".. function:: cell(position)\n" "\n" " Returns cell noise value at the specified position.\n" "\n" " :arg position: The position to evaluate the selected noise function.\n" " :type position: :class:`mathutils.Vector`\n" " :return: The cell noise value.\n" " :rtype: float\n"  )

◆ PyDoc_STRVAR() [2/18]

PyDoc_STRVAR ( M_Noise_cell_vector_doc ,
".. function:: cell_vector(position)\n" "\n" " Returns cell noise vector at the specified position.\n" "\n" " :arg position: The position to evaluate the selected noise function.\n" " :type position: :class:`mathutils.Vector`\n" " :return: The cell noise vector.\n" " :rtype: :class:`mathutils.Vector`\n"  )

◆ PyDoc_STRVAR() [3/18]

PyDoc_STRVAR ( M_Noise_doc ,
"The Blender noise module"  )

◆ PyDoc_STRVAR() [4/18]

PyDoc_STRVAR ( M_Noise_fractal_doc ,
".. function:: fractal(position, H, lacunarity, octaves, noise_basis='PERLIN_ORIGINAL')\n" "\n" " Returns the fractal Brownian motion (fBm) noise value from the noise basis at the " "specified position.\n" "\n" " :arg position: The position to evaluate the selected noise function.\n" " :type position: :class:`mathutils.Vector`\n" " :arg H: The fractal increment factor.\n" " :type H: float\n" " :arg lacunarity: The gap between successive frequencies.\n" " :type lacunarity: float\n" " :arg octaves: The number of different noise frequencies used.\n" " :type octaves: int\n" BPY_NOISE_BASIS_ENUM_DOC " :return: The fractal Brownian motion noise value.\n" " :rtype: float\n"  )

◆ PyDoc_STRVAR() [5/18]

PyDoc_STRVAR ( M_Noise_hetero_terrain_doc ,
".. function:: hetero_terrain(position, H, lacunarity, octaves, offset, " "noise_basis='PERLIN_ORIGINAL')\n" "\n" " Returns the heterogeneous terrain value from the noise basis at the specified position.\n" "\n" " :arg position: The position to evaluate the selected noise function.\n" " :type position: :class:`mathutils.Vector`\n" " :arg H: The fractal dimension of the roughest areas.\n" " :type H: float\n" " :arg lacunarity: The gap between successive frequencies.\n" " :type lacunarity: float\n" " :arg octaves: The number of different noise frequencies used.\n" " :type octaves: int\n" " :arg offset: The height of the terrain above 'sea level'.\n" " :type offset: float\n" BPY_NOISE_BASIS_ENUM_DOC " :return: The heterogeneous terrain value.\n" " :rtype: float\n"  )

◆ PyDoc_STRVAR() [6/18]

PyDoc_STRVAR ( M_Noise_hybrid_multi_fractal_doc ,
".. function:: hybrid_multi_fractal(position, H, lacunarity, octaves, offset, gain, " "noise_basis='PERLIN_ORIGINAL')\n" "\n" " Returns hybrid multifractal value from the noise basis at the specified position.\n" "\n" " :arg position: The position to evaluate the selected noise function.\n" " :type position: :class:`mathutils.Vector`\n" " :arg H: The fractal dimension of the roughest areas.\n" " :type H: float\n" " :arg lacunarity: The gap between successive frequencies.\n" " :type lacunarity: float\n" " :arg octaves: The number of different noise frequencies used.\n" " :type octaves: int\n" " :arg offset: The height of the terrain above 'sea level'.\n" " :type offset: float\n" " :arg gain: Scaling applied to the values.\n" " :type gain: float\n" BPY_NOISE_BASIS_ENUM_DOC " :return: The hybrid multifractal value.\n" " :rtype: float\n"  )

◆ PyDoc_STRVAR() [7/18]

PyDoc_STRVAR ( M_Noise_multi_fractal_doc ,
".. function:: multi_fractal(position, H, lacunarity, octaves, " "noise_basis='PERLIN_ORIGINAL')\n" "\n" " Returns multifractal noise value from the noise basis at the specified position.\n" "\n" " :arg position: The position to evaluate the selected noise function.\n" " :type position: :class:`mathutils.Vector`\n" " :arg H: The fractal increment factor.\n" " :type H: float\n" " :arg lacunarity: The gap between successive frequencies.\n" " :type lacunarity: float\n" " :arg octaves: The number of different noise frequencies used.\n" " :type octaves: int\n" BPY_NOISE_BASIS_ENUM_DOC " :return: The multifractal noise value.\n" " :rtype: float\n"  )

◆ PyDoc_STRVAR() [8/18]

PyDoc_STRVAR ( M_Noise_noise_doc ,
".. function:: noise(position, noise_basis='PERLIN_ORIGINAL')\n" "\n" " Returns noise value from the noise basis at the position specified.\n" "\n" " :arg position: The position to evaluate the selected noise function.\n" " :type position: :class:`mathutils.Vector`\n" BPY_NOISE_BASIS_ENUM_DOC " :return: The noise value.\n" " :rtype: float\n"  )

◆ PyDoc_STRVAR() [9/18]

PyDoc_STRVAR ( M_Noise_noise_vector_doc ,
".. function:: noise_vector(position, noise_basis='PERLIN_ORIGINAL')\n" "\n" " Returns the noise vector from the noise basis at the specified position.\n" "\n" " :arg position: The position to evaluate the selected noise function.\n" " :type position: :class:`mathutils.Vector`\n" BPY_NOISE_BASIS_ENUM_DOC " :return: The noise vector.\n" " :rtype: :class:`mathutils.Vector`\n"  )

◆ PyDoc_STRVAR() [10/18]

PyDoc_STRVAR ( M_Noise_random_doc )

◆ PyDoc_STRVAR() [11/18]

PyDoc_STRVAR ( M_Noise_random_unit_vector_doc ,
".. function:: random_unit_vector(size=3)\n" "\n" " Returns a unit vector with random entries.\n" "\n" " :arg size: The size of the vector to be produced,
in the range .\n" " :type size:int\n" " :return:The random unit vector.\n" " :rtype::class:`mathutils.Vector`\n" [2, 4] )

◆ PyDoc_STRVAR() [12/18]

PyDoc_STRVAR ( M_Noise_random_vector_doc ,
".. function:: random_vector(size=3)\n" "\n" " Returns a vector with random entries in the range (-1, 1).\n" "\n" " :arg size: The size of the vector to be produced.\n" " :type size: int\n" " :return: The random vector.\n" " :rtype: :class:`mathutils.Vector`\n"  )

◆ PyDoc_STRVAR() [13/18]

PyDoc_STRVAR ( M_Noise_ridged_multi_fractal_doc ,
".. function:: ridged_multi_fractal(position, H, lacunarity, octaves, offset, gain, " "noise_basis='PERLIN_ORIGINAL')\n" "\n" " Returns ridged multifractal value from the noise basis at the specified position.\n" "\n" " :arg position: The position to evaluate the selected noise function.\n" " :type position: :class:`mathutils.Vector`\n" " :arg H: The fractal dimension of the roughest areas.\n" " :type H: float\n" " :arg lacunarity: The gap between successive frequencies.\n" " :type lacunarity: float\n" " :arg octaves: The number of different noise frequencies used.\n" " :type octaves: int\n" " :arg offset: The height of the terrain above 'sea level'.\n" " :type offset: float\n" " :arg gain: Scaling applied to the values.\n" " :type gain: float\n" BPY_NOISE_BASIS_ENUM_DOC " :return: The ridged multifractal value.\n" " :rtype: float\n"  )

◆ PyDoc_STRVAR() [14/18]

PyDoc_STRVAR ( M_Noise_seed_set_doc ,
".. function:: seed_set(seed)\n" "\n" " Sets the random seed used for random_unit_vector,
and random.\n" "\n" " :arg seed:Seed used for the random generator.\n" " When seed is zero,
the current time will be used instead.\n" " :type seed:int\n"  )

◆ PyDoc_STRVAR() [15/18]

PyDoc_STRVAR ( M_Noise_turbulence_doc ,
".. function:: turbulence(position, octaves, hard, noise_basis='PERLIN_ORIGINAL', " "amplitude_scale=0.5, frequency_scale=2.0)\n" "\n" " Returns the turbulence value from the noise basis at the specified position.\n" "\n" " :arg position: The position to evaluate the selected noise function.\n" " :type position: :class:`mathutils.Vector`\n" " :arg octaves: The number of different noise frequencies used.\n" " :type octaves: int\n" " :arg hard: Specifies whether returned turbulence is hard (sharp transitions) or " "soft (smooth transitions).\n" " :type hard: bool\n" BPY_NOISE_BASIS_ENUM_DOC " :arg amplitude_scale: The amplitude scaling factor.\n" " :type amplitude_scale: float\n" " :arg frequency_scale: The frequency scaling factor\n" " :type frequency_scale: float\n" " :return: The turbulence value.\n" " :rtype: float\n"  )

◆ PyDoc_STRVAR() [16/18]

PyDoc_STRVAR ( M_Noise_turbulence_vector_doc ,
".. function:: turbulence_vector(position, octaves, hard, " "noise_basis='PERLIN_ORIGINAL', amplitude_scale=0.5, frequency_scale=2.0)\n" "\n" " Returns the turbulence vector from the noise basis at the specified position.\n" "\n" " :arg position: The position to evaluate the selected noise function.\n" " :type position: :class:`mathutils.Vector`\n" " :arg octaves: The number of different noise frequencies used.\n" " :type octaves: int\n" " :arg hard: Specifies whether returned turbulence is hard (sharp transitions) or " "soft (smooth transitions).\n" " :type hard: bool\n" BPY_NOISE_BASIS_ENUM_DOC " :arg amplitude_scale: The amplitude scaling factor.\n" " :type amplitude_scale: float\n" " :arg frequency_scale: The frequency scaling factor\n" " :type frequency_scale: float\n" " :return: The turbulence vector.\n" " :rtype: :class:`mathutils.Vector`\n"  )

◆ PyDoc_STRVAR() [17/18]

PyDoc_STRVAR ( M_Noise_variable_lacunarity_doc ,
".. function:: variable_lacunarity(position, distortion, " "noise_type1='PERLIN_ORIGINAL', noise_type2='PERLIN_ORIGINAL')\n" "\n" " Returns variable lacunarity noise value,
a distorted variety of noise,
from " "noise type 1 distorted by noise type 2 at the specified position.\n" "\n" " :arg position:The position to evaluate the selected noise function.\n" " :type position::class:`mathutils.Vector`\n" " :arg distortion:The amount of distortion.\n" " :type distortion:float\n" " :arg noise_type1:Enumerator in .\n" " :type noise_type1:str\n" " :arg noise_type2:Enumerator in .\n" " :type noise_type2:str\n" " :return:The variable lacunarity noise value.\n" " :rtype:float\n" [ 'BLENDER', 'PERLIN_ORIGINAL', 'PERLIN_NEW', " " 'VORONOI_F1', 'VORONOI_F2', " " 'VORONOI_F3', 'VORONOI_F4', 'VORONOI_F2F1', 'VORONOI_CRACKLE', " " 'CELLNOISE'][ 'BLENDER', 'PERLIN_ORIGINAL', 'PERLIN_NEW', " " 'VORONOI_F1', 'VORONOI_F2', " " 'VORONOI_F3', 'VORONOI_F4', 'VORONOI_F2F1', 'VORONOI_CRACKLE', " " 'CELLNOISE'] )

◆ PyDoc_STRVAR() [18/18]

PyDoc_STRVAR ( M_Noise_voronoi_doc ,
".. function:: voronoi(position, distance_metric='DISTANCE', exponent=2.5)\n" "\n" " Returns a list of distances to the four closest features and their locations.\n" "\n" " :arg position: The position to evaluate the selected noise function.\n" " :type position: :class:`mathutils.Vector`\n" BPY_NOISE_METRIC_ENUM_DOC " :arg exponent: The exponent for Minkowski distance metric.\n" " :type exponent: float\n" " :return: A list of distances to the four closest features and their locations.\n" " :rtype: list[list[float],
list]\n" [:class:`mathutils.Vector`] )

◆ PyInit_mathutils_noise()

PyMODINIT_FUNC PyInit_mathutils_noise ( )

Definition at line 1158 of file mathutils_noise.cc.

References M_Noise_module_def, and setRndSeed().

Referenced by PyInit_mathutils().

◆ rand_vn()

static void rand_vn ( float * array_tar,
const int size )
static

Definition at line 193 of file mathutils_noise.cc.

References frand(), and size().

Referenced by M_Noise_random_unit_vector(), and M_Noise_random_vector().

◆ setRndSeed()

static void setRndSeed ( int seed)
static

Definition at line 115 of file mathutils_noise.cc.

References init_genrand(), seed, and time.

Referenced by M_Noise_seed_set(), and PyInit_mathutils_noise().

◆ turb()

static float turb ( float x,
float y,
float z,
int oct,
int hard,
int nb,
float ampscale,
float freqscale )
static

Definition at line 215 of file mathutils_noise.cc.

References BLI_noise_generic_noise(), fabsf, float, and z().

Referenced by M_Noise_turbulence(), magic(), and pointdensity().

◆ vTurb()

static void vTurb ( float x,
float y,
float z,
int oct,
int hard,
int nb,
float ampscale,
float freqscale,
float v[3] )
static

Definition at line 241 of file mathutils_noise.cc.

References fabsf, noise_vector(), v, and z().

Referenced by M_Noise_turbulence_vector().

Variable Documentation

◆ bpy_noise_metrics

PyC_FlagSet bpy_noise_metrics[]
static
Initial value:
= {
{TEX_DISTANCE, "DISTANCE"},
{TEX_DISTANCE_SQUARED, "DISTANCE_SQUARED"},
{TEX_MANHATTAN, "MANHATTAN"},
{TEX_CHEBYCHEV, "CHEBYCHEV"},
{TEX_MINKOVSKY, "MINKOVSKY"},
{TEX_MINKOVSKY_HALF, "MINKOVSKY_HALF"},
{TEX_MINKOVSKY_FOUR, "MINKOVSKY_FOUR"},
{0, nullptr},
}
@ TEX_CHEBYCHEV
@ TEX_DISTANCE_SQUARED
@ TEX_MINKOVSKY_FOUR
@ TEX_MINKOVSKY_HALF
@ TEX_MANHATTAN
@ TEX_DISTANCE
@ TEX_MINKOVSKY

Definition at line 181 of file mathutils_noise.cc.

Referenced by M_Noise_voronoi().

◆ bpy_noise_types

PyC_FlagSet bpy_noise_types[]
static
Initial value:
= {
{TEX_BLENDER, "BLENDER"},
{TEX_STDPERLIN, "PERLIN_ORIGINAL"},
{TEX_NEWPERLIN, "PERLIN_NEW"},
{TEX_VORONOI_F1, "VORONOI_F1"},
{TEX_VORONOI_F2, "VORONOI_F2"},
{TEX_VORONOI_F3, "VORONOI_F3"},
{TEX_VORONOI_F4, "VORONOI_F4"},
{TEX_VORONOI_F2F1, "VORONOI_F2F1"},
{TEX_VORONOI_CRACKLE, "VORONOI_CRACKLE"},
{TEX_CELLNOISE, "CELLNOISE"},
{0, nullptr},
}
@ TEX_BLENDER
@ TEX_STDPERLIN
@ TEX_VORONOI_CRACKLE
@ TEX_VORONOI_F2
@ TEX_VORONOI_F2F1
@ TEX_NEWPERLIN
@ TEX_VORONOI_F1
@ TEX_VORONOI_F4
@ TEX_VORONOI_F3
@ TEX_CELLNOISE

Definition at line 164 of file mathutils_noise.cc.

Referenced by M_Noise_fractal(), M_Noise_hetero_terrain(), M_Noise_hybrid_multi_fractal(), M_Noise_multi_fractal(), M_Noise_noise(), M_Noise_noise_vector(), M_Noise_ridged_multi_fractal(), M_Noise_turbulence(), M_Noise_turbulence_vector(), and M_Noise_variable_lacunarity().

◆ initf

int initf = 0
static

Definition at line 58 of file mathutils_noise.cc.

Referenced by init_genrand(), next_state(), and window_main_loop().

◆ left

◆ M_Noise_methods

PyMethodDef M_Noise_methods[]
static

Definition at line 1089 of file mathutils_noise.cc.

◆ M_Noise_module_def

PyModuleDef M_Noise_module_def
static
Initial value:
= {
PyModuleDef_HEAD_INIT,
"mathutils.noise",
M_Noise_doc,
0,
nullptr,
nullptr,
nullptr,
nullptr,
}
static PyMethodDef M_Noise_methods[]

Definition at line 1144 of file mathutils_noise.cc.

Referenced by PyInit_mathutils_noise().

◆ next

ulong* next
static

Definition at line 59 of file mathutils_noise.cc.

Referenced by Freestyle::__recursiveSplit(), Freestyle::__recursiveSplit(), iTaSC::Cache::addCacheItem(), adjacent_vertices_index_from_adjacent_edge(), blender::ed::sculpt_paint::hide::affect_visibility_mesh(), animfilter_nla(), blender::animrig::bake_fcurve_segments(), base_callback(), blender::eevee::VelocityModule::bind_resources(), BKE_fcurve_bezt_subdivide_handles(), BKE_mask_spline_feather_collapse_inner_loops(), BKE_mesh_uv_vert_map_create(), BKE_nlastrip_next_in_track(), BKE_nlatrack_insert_before(), BKE_nlatrack_new_before(), BKE_nurb_handle_calc(), BKE_nurb_handle_calc_ex(), BKE_nurb_handle_calc_simple(), BKE_pchan_bbone_spline_params_get(), BKE_sculpt_mask_layers_ensure(), blf_str_offset_to_cursor(), BLI_freelist(), BLI_freelistN(), BLI_linklist_free(), BLI_linklist_free_pool(), BLI_linklist_freeN(), BLI_linklist_pop(), BLI_linklist_pop_pool(), BLI_linklist_reverse(), BLI_listbase_from_link(), BLI_listbase_reverse(), BLI_mempool_free(), BLI_str_cursor_step_bounds_utf32(), BLI_str_cursor_step_bounds_utf8(), bm_decim_triangulate_begin(), bm_edgering_pair_interpolate(), bm_face_split_by_concave(), BM_face_split_edgenet_connect_islands(), bm_face_triangulate_mapping(), BM_log_entry_add(), BM_mesh_triangulate(), bm_uv_build_islands(), bm_uv_edge_select_build_islands(), BM_uv_element_map_create(), BM_uv_vert_map_create(), bone_mouse_select_menu(), blender::deg::DepsgraphRelationBuilder::build_rig(), C_BVHTree_FromPolygons(), calc_keyHandles(), blender::ed::sculpt_paint::paint::image::calc_pixel_row_positions(), calchandle_curvemap(), calchandleNurb_intern(), calchandlesNurb_intern(), blender::calculate_plane(), ccg_ehash_free(), ccg_ehash_insert(), blender::compositor::check_corners(), clean_fcurve(), iTaSC::CacheChannel::clear(), btDbvtBroadphase::collide(), blender::fn::multi_function::ProcedureDotExport::create_edges(), blender::draw::pbvh::create_index_faces(), Freestyle::createStroke(), dc_tri(), delete_metaelems_exec(), blender::bke::curves::poly::direction_bisect(), do_versions_nodetree_convert_angle(), btIDebugDraw::drawArc(), drw_registered_engines_free(), dynamicPaint_createUVSurface(), ebone_spline_preview(), ED_markers_draw(), GJK< btConvexTemplate >::Evaluate(), gjkepa2_impl::GJK::Evaluate(), find_closest_frame(), GHOST_TimerManager::fireTimer(), blender::geometry::foreach_connected_curve(), blender::ed::greasepencil::frame_clean_duplicate_exec(), frand(), blender::compositor::gather_blur(), blender::compositor::gather_sample(), blender::fn::multi_function::ProcedureDotExport::get_next_instruction_in_block(), get_shortest_pattern_side(), Freestyle::Functions0D::getFEdges(), btConvexHullComputer::Edge::getNextEdgeOfVertex(), gpu_node_graph_prune_unused(), GPU_pass_cache_free(), GPU_pass_cache_garbage_collect(), hair_spring_next(), Freestyle::WVertex::incoming_edge_iterator::increment(), Freestyle::Stroke::InsertVertex(), keyframe_jump_exec(), keyframe_jump_exec(), layerInterp_mdeformvert(), lineart_triangle_intersect_math(), list_sort_do(), marker_jump_exec(), mempool_chunk_add(), blender::nodes::mix_baked_data_item(), MOD_solidify_nonmanifold_modifyMesh(), blender::ed::object::multiresbake_freejob(), blender::fn::multi_function::InstructionCursor::next(), next_state(), GHOST_TimerManager::nextFireTime(), nlaedit_duplicate_exec(), nlaedit_split_exec(), nlastrip_fix_overlapping(), blender::ed::space_node::node_link_insert_offset_ntree(), blender::ed::space_node::node_remove_linked(), object_blend_read_data(), object_mouse_select_menu(), Freestyle::Functions0D::Curvature2DAngleF0D::operator()(), Freestyle::Functions0D::VertexOrientation2DF0D::operator()(), Freestyle::Functions0D::VertexOrientation3DF0D::operator()(), blender::geometry::phash_insert(), point_calculate_handle(), pose_grab_with_ik_clear(), blender::ed::object::pose_ik_clear_exec(), pose_select_connected_invoke(), pose_select_linked_exec(), GHOST_SystemCocoa::processEvents(), GHOST_SystemSDL::processEvents(), GHOST_SystemWin32::processEvents(), GHOST_SystemX11::processEvents(), RE_engines_exit(), read_file_as_buffer(), rearrange_island_down(), remove_tagged_functions(), Freestyle::Stroke::Resample(), Freestyle::Stroke::Resample(), RNA_def_property_collection_funcs(), rna_freelistN(), select_adjacent_cp(), selmap_build_bezier_less(), selmap_build_bezier_more(), seq_cache_recycle_linked(), seq_cache_set_temp_cache_linked(), sequencer_strip_jump_exec(), GHOST_TimerTask::setNext(), btAxisSweep3Internal< BP_FP_INT_TYPE >::Handle::SetNextFree(), btSimpleBroadphaseProxy::SetNextFree(), slide_check_corners(), ss_sync_from_uv(), blender::animrig::subdivide_nonauto_handles(), Freestyle::ViewEdgeInternal::SVertexIterator::SVertexIterator(), target_callback(), TEST(), testsort_listbase_sort_is_stable(), tilt_bezpart(), blender::geometry::toposort_connected_curves(), tracking_get_keyframed_marker(), tracks_map_merge(), transform_mesh_edge_slide_data_create(), transform_mesh_uv_edge_slide_data_create(), blender::bke::greasepencil::TreeNode::TreeNode(), ui_multibut_free(), unescape(), and blender::bke::pbvh::uv_islands::UVBorder::update_indexes().

◆ state

ulong state[N]
static

Definition at line 56 of file mathutils_noise.cc.

Referenced by __anyhit__kernel_optix_shadow_all_hit(), blender::ed::space_node::add_panel_items_recursive(), Profiler::add_state(), array_store_free_data(), blender::draw::overlay::Resources::background_color_get(), basic_cache_init(), basic_force_cb(), blender::draw::overlay::Armatures::begin_sync(), blender::draw::overlay::AttributeViewer::begin_sync(), blender::draw::overlay::Background::begin_sync(), blender::draw::overlay::Cameras::begin_sync(), blender::draw::overlay::Curves::begin_sync(), blender::draw::overlay::EditText::begin_sync(), blender::draw::overlay::Empties::begin_sync(), blender::draw::overlay::Facing::begin_sync(), blender::draw::overlay::Fade::begin_sync(), blender::draw::overlay::Fluids::begin_sync(), blender::draw::overlay::GreasePencil::begin_sync(), blender::draw::overlay::Grid::begin_sync(), blender::draw::overlay::Lattices::begin_sync(), blender::draw::overlay::LightProbes::begin_sync(), blender::draw::overlay::Meshes::begin_sync(), blender::draw::overlay::MeshUVs::begin_sync(), blender::draw::overlay::ModeTransfer::begin_sync(), blender::draw::overlay::MotionPath::begin_sync(), blender::draw::overlay::Origins::begin_sync(), blender::draw::overlay::Outline::begin_sync(), blender::draw::overlay::Paints::begin_sync(), blender::draw::overlay::Particles::begin_sync(), blender::draw::overlay::Prepass::begin_sync(), blender::draw::overlay::Relations::begin_sync(), blender::draw::overlay::Sculpts::begin_sync(), blender::draw::overlay::Wireframe::begin_sync(), blender::draw::overlay::XrayFade::begin_sync(), bezier_relax_direction(), blender::draw::command::DrawCommandBuf::bind(), blender::draw::command::DrawMultiBuf::bind(), blender::draw::detail::PassBase< DrawCommandBufType >::bind_texture(), blender::draw::detail::PassBase< DrawCommandBufType >::bind_texture(), blender::draw::detail::PassBase< DrawCommandBufType >::bind_texture(), blender::draw::detail::PassBase< DrawCommandBufType >::bind_texture(), BKE_gpencil_frame_addnew(), BKE_panel_free(), BKE_panel_layout_panel_state_ensure(), BLI_array_store_calc_size_expanded_get(), BLI_array_store_is_valid(), BLI_array_store_state_add(), BLI_array_store_state_data_get(), BLI_array_store_state_data_get_alloc(), BLI_array_store_state_remove(), BLI_array_store_state_size_get(), BLI_expr_pylike_parse(), BLI_ghash_pop(), BLI_gset_pop(), BLI_task_parallel_mempool(), bmo_connect_vert_pair_exec(), BMO_op_vinitf(), boid_brain(), boid_copy_settings(), boid_duplicate_state(), boid_free_settings(), boid_get_current_state(), boid_new_state(), boids_precalc_rules(), BPY_rna_types(), BPY_rna_types_finalize_external_types(), bpy_types_module_dir(), bpy_types_module_getattro(), btSwapProblem(), blender::deg::DepsgraphRelationBuilder::build_particle_systems(), button_activate_state(), button_modal_state(), BVH(), BVH_FUNCTION_NAME(), SVMCompiler::compile_type(), blender::draw::overlay::Armatures::create_draw_context(), GHOST_SystemCocoa::createWindow(), GHOST_SystemHeadless::createWindow(), GHOST_SystemWayland::createWindow(), GHOST_SystemWin32::createWindow(), GHOST_SystemX11::createWindow(), blender::draw::overlay::Sculpts::curves_sync(), blender::eevee::ShadowModule::debug_end_sync(), blender::deg::deg_evaluate_on_refresh(), blender::deg::deg_graph_detect_cycles(), blender::bke::node_field_inferencing::determine_group_input_states(), determine_uv_edge_stitchability(), determine_uv_stitchability(), ObjectManager::device_update_object_transform(), ObjectManager::device_update_transforms(), direct_link_panel_list(), displacement_shader_eval(), do_child_modifiers(), do_clump(), do_guides(), do_kink(), do_kink_spiral_deform(), do_render_strip_seqbase(), do_render_strip_uncached(), do_rough(), do_rough_curve(), do_rough_end(), do_twist(), blender::io::alembic::ABCPointsWriter::do_write(), draw_call_batching_do(), draw_call_batching_finish(), draw_call_batching_flush(), draw_call_batching_start(), draw_call_indirect(), draw_call_resource_bind(), draw_call_single_do(), draw_filled_lasso(), draw_indirect_call(), draw_marker_texts(), draw_select_buffer(), draw_shgroup(), draw_update_uniforms(), DRW_pass_create(), DRW_pass_create_instance(), drw_shgroup_material_texture(), DRW_shgroup_state_disable(), DRW_shgroup_state_enable(), DRW_state_lock(), DRW_state_reset_ex(), drw_state_set(), ED_clip_view_lock_state_restore_no_jump(), ED_clip_view_lock_state_store(), ED_draw_imbuf_clipping(), ED_mask_draw_region(), ED_mask_view_lock_state_restore_no_jump(), ED_mask_view_lock_state_store(), ED_scene_draw_fps(), ED_screen_full_restore(), ED_screen_state_toggle(), ED_view3d_cursor_snap_data_update(), ED_view3d_cursor_snap_state_active_set(), ED_view3d_cursor_snap_state_default_set(), ED_view3d_cursor_snap_state_free(), ED_view3d_cursor_snap_state_prevpoint_set(), blender::draw::overlay::Armatures::edit_object_sync(), blender::draw::overlay::GreasePencil::edit_object_sync(), blender::draw::overlay::Meshes::edit_object_sync(), blender::draw::overlay::MeshUVs::edit_object_sync(), blender::draw::overlay::Particles::edit_object_sync(), blender::draw::overlay::Bounds::end_sync(), blender::draw::overlay::Cameras::end_sync(), blender::draw::overlay::EditText::end_sync(), blender::draw::overlay::Empties::end_sync(), blender::draw::overlay::Empties::end_sync(), blender::draw::overlay::ForceFields::end_sync(), blender::draw::overlay::LightProbes::end_sync(), blender::draw::overlay::Lights::end_sync(), blender::draw::overlay::MeshUVs::end_sync(), blender::draw::overlay::Metaballs::end_sync(), blender::draw::overlay::Origins::end_sync(), blender::draw::overlay::Relations::end_sync(), blender::draw::overlay::Speakers::end_sync(), blender::fn::multi_function::evaluate_as_one(), blender::draw::command::Dispatch::execute(), blender::draw::command::DispatchIndirect::execute(), blender::draw::command::Draw::execute(), blender::draw::command::DrawIndirect::execute(), blender::draw::command::DrawMulti::execute(), blender::draw::command::PushConstant::execute(), blender::draw::command::ShaderBind::execute(), explodeMesh(), file_draw_preview(), film_need_sample_pixel(), film_pass_pixel_render_buffer(), film_pass_pixel_render_buffer_shadow(), film_write_aov_pass_color(), film_write_aov_pass_value(), film_write_background(), film_write_data_passes(), film_write_data_passes_background(), film_write_direct_light(), film_write_emission_or_background_pass(), film_write_holdout(), film_write_sample(), film_write_surface_emission(), film_write_volume_emission(), SVMCompiler::find_aov_nodes_and_dependencies(), blender::eevee::DeferredLayerBase::gbuffer_pass_sync(), SVMCompiler::generate_closure_node(), SVMCompiler::generate_multi_closure(), SVMCompiler::generate_svm_nodes(), SVMCompiler::generated_shared_closure_nodes(), get_angular_velocity_vector(), OSLRenderServices::get_background_attribute(), get_boid_state(), get_effector_data(), GHOST_SystemSDL::getButtons(), GHOST_SystemWayland::getModifierKeys(), GHOST_WindowX11::getState(), ghash_pop(), GHOST_CreateWindow(), ghost_event_proc(), GHOST_SetWindowState(), GHOST_URL_decode(), GHOST_Window::GHOST_Window(), GHOST_WindowCocoa::GHOST_WindowCocoa(), GHOST_WindowWayland::GHOST_WindowWayland(), GHOST_WindowWin32::GHOST_WindowWin32(), GHOST_WindowX11::GHOST_WindowX11(), ghost_wl_display_event_pump_from_thread(), ghost_wl_display_lock_without_input(), GPENCIL_cache_init(), gpencil_layer_cache_add(), gpencil_vfx_blur(), gpencil_vfx_cache_populate(), gpencil_vfx_colorize(), gpencil_vfx_flip(), gpencil_vfx_glow(), gpencil_vfx_pass_create(), gpencil_vfx_pixelize(), gpencil_vfx_rim(), gpencil_vfx_shadow(), gpencil_vfx_swirl(), gpencil_vfx_wave(), GPU_blend_get(), GPU_color_mask(), GPU_depth_mask(), GPU_depth_mask_get(), GPU_depth_range(), GPU_depth_test_get(), GPU_face_culling_get(), GPU_line_width_get(), GPU_matrix_dirty_get(), GPU_matrix_reset(), GPU_matrix_stack_level_get_model_view(), GPU_matrix_stack_level_get_projection(), gpu_matrix_state_active_set_dirty(), GPU_matrix_state_create(), GPU_matrix_state_discard(), GPU_point_size(), GPU_program_point_size(), GPU_state_set(), GPU_stencil_mask_get(), GPU_stencil_test_get(), GPU_texture_bind_ex(), GPU_write_mask_get(), grease_pencil_layer_cache_add(), guiding_record_background(), guiding_record_bssrdf_bounce(), guiding_record_bssrdf_segment(), guiding_record_bssrdf_weight(), guiding_record_continuation_probability(), guiding_record_direct_light(), guiding_record_light_surface_segment(), guiding_record_surface_bounce(), guiding_record_surface_emission(), guiding_record_surface_segment(), guiding_record_volume_bounce(), guiding_record_volume_emission(), guiding_record_volume_segment(), guiding_record_volume_transmission(), guiding_write_debug_passes(), gwl_window_frame_update_from_pending_no_lock(), gwl_window_state_set(), gwl_window_state_set_for_xdg(), blender::ui::nodes::handle_node_declaration_items(), icon_draw_rect(), IDP_repr_fn(), idp_repr_fn_recursive(), idp_str_append_escape(), immBindTextureSampler(), immDrawPixelsTexScaledFullSize(), immDrawPixelsTexSetup(), immDrawPixelsTexSetupAttributes(), immDrawPixelsTexTiled(), immDrawPixelsTexTiled_clipping(), immDrawPixelsTexTiled_scaling(), immDrawPixelsTexTiled_scaling_clipping(), blender::gpu::VKSamplers::init(), init_genrand(), blender::workbench::MeshPass::init_pass(), integrate_background(), integrate_direct_light_shadow_init_common(), integrate_distant_lights(), integrate_intersect_shadow_opaque(), integrate_intersect_shadow_visibility(), integrate_light(), integrate_shadow_max_transparent_hits(), integrate_surface(), integrate_surface_bsdf_bssrdf_bounce(), integrate_surface_direct_light(), integrate_surface_emission(), integrate_surface_holdout(), integrate_surface_ray_portal(), integrate_surface_shader_setup(), integrate_surface_terminate(), integrator_eval_background_shader(), integrator_init_from_bake(), integrator_init_from_camera(), integrator_intersect_closest(), integrator_intersect_dedicated_light(), integrator_intersect_next_kernel(), integrator_intersect_next_kernel_after_volume(), integrator_intersect_shadow(), integrator_intersect_skip_lights(), integrator_intersect_subsurface(), integrator_intersect_terminate(), integrator_intersect_volume_stack(), integrator_megakernel(), integrator_path_init(), integrator_path_init_sorted(), integrator_path_is_terminated(), integrator_path_next(), integrator_path_next_sorted(), integrator_path_terminate(), integrator_shade_background(), integrator_shade_dedicated_light(), integrator_shade_light(), integrator_shade_shadow(), integrator_shade_surface(), integrator_shade_surface_mnee(), integrator_shade_surface_next_kernel(), integrator_shade_surface_raytrace(), integrator_shade_volume(), integrator_shadow_path_init(), integrator_shadow_path_is_terminated(), integrator_shadow_path_next(), integrator_shadow_path_terminate(), integrator_state_bounce(), integrator_state_bounce(), integrator_state_diffuse_bounce(), integrator_state_diffuse_bounce(), integrator_state_glossy_bounce(), integrator_state_glossy_bounce(), integrator_state_read_isect(), integrator_state_read_ray(), integrator_state_read_shadow_isect(), integrator_state_read_shadow_ray(), integrator_state_read_shadow_ray_self(), integrator_state_shadow_catcher_split(), integrator_state_transmission_bounce(), integrator_state_transmission_bounce(), integrator_state_transparent_bounce(), integrator_state_transparent_bounce(), integrator_state_write_isect(), integrator_state_write_ray(), integrator_state_write_shadow_isect(), integrator_state_write_shadow_ray(), integrator_state_write_shadow_ray_self(), integrator_volume_stack_update_for_subsurface(), blender::draw::overlay::Armatures::is_pose_mode(), blender::nodes::NodeDeclaration::is_valid(), kernel_shadow_catcher_is_path_split_bounce(), kernel_shadow_catcher_path_can_split(), keyboard_handle_key(), light_link_receiver_forward(), light_sample_mis_weight_forward_background(), light_sample_mis_weight_forward_distant(), light_sample_mis_weight_forward_lamp(), light_sample_mis_weight_forward_surface(), light_sample_shader_eval(), lights_intersect(), line_directive(), make_duplis_particle_system(), blender::eevee::ForwardPipeline::material_transparent_add(), blender::draw::overlay::Sculpts::mesh_sync(), modifier_render_mask_input(), modify_mesh(), next_state(), blender::ed::space_node::node_draw_panels(), blender::ed::space_node::node_draw_panels_background(), blender::ed::space_node::node_socket_draw(), blender::ed::space_node::node_update_panel_items_visibility_recursive(), blender::draw::overlay::Resources::object_background_blend_color(), object_cacheIgnoreClear(), blender::draw::overlay::Armatures::object_sync(), blender::draw::overlay::AttributeViewer::object_sync(), blender::draw::overlay::Bounds::object_sync(), blender::draw::overlay::Cameras::object_sync(), blender::draw::overlay::Empties::object_sync(), blender::draw::overlay::Facing::object_sync(), blender::draw::overlay::Fade::object_sync(), blender::draw::overlay::Fluids::object_sync(), blender::draw::overlay::ForceFields::object_sync(), blender::draw::overlay::GreasePencil::object_sync(), blender::draw::overlay::Lattices::object_sync(), blender::draw::overlay::LightProbes::object_sync(), blender::draw::overlay::Lights::object_sync(), blender::draw::overlay::Metaballs::object_sync(), blender::draw::overlay::ModeTransfer::object_sync(), blender::draw::overlay::MotionPath::object_sync(), blender::draw::overlay::Origins::object_sync(), blender::draw::overlay::Outline::object_sync(), blender::draw::overlay::Paints::object_sync(), blender::draw::overlay::Particles::object_sync(), blender::draw::overlay::Prepass::object_sync(), blender::draw::overlay::Relations::object_sync(), blender::draw::overlay::Sculpts::object_sync(), blender::draw::overlay::Speakers::object_sync(), blender::draw::overlay::Wireframe::object_sync(), blender::draw::overlay::Resources::object_wire_color(), blender::draw::overlay::Resources::object_wire_theme_id(), operator_state_dispatch(), osl_eval_nodes< SHADER_TYPE_DISPLACEMENT >(), osl_eval_nodes< SHADER_TYPE_SURFACE >(), osl_eval_nodes< SHADER_TYPE_VOLUME >(), blender::nodes::node_geo_simulation_cc::sim_output_node::LazyFunctionForSimulationOutputNode::output_cached_state(), blender::NodesModifierSimulationParams::output_store_frame_cache(), GHOST_WindowWayland::outputs_changed_update_scale(), OVERLAY_armature_cache_init(), OVERLAY_background_cache_init(), OVERLAY_edit_curve_cache_init(), OVERLAY_edit_curves_cache_init(), OVERLAY_edit_gpencil_legacy_cache_init(), OVERLAY_edit_grease_pencil_cache_init(), OVERLAY_edit_lattice_cache_init(), OVERLAY_edit_mesh_cache_init(), OVERLAY_edit_particle_cache_init(), OVERLAY_edit_text_cache_init(), OVERLAY_edit_uv_cache_init(), OVERLAY_extra_cache_init(), OVERLAY_facing_cache_init(), OVERLAY_fade_cache_init(), OVERLAY_gpencil_legacy_cache_init(), OVERLAY_grease_pencil_cache_init(), OVERLAY_grid_cache_init(), OVERLAY_image_cache_init(), OVERLAY_metaball_cache_init(), OVERLAY_mode_transfer_cache_init(), OVERLAY_motion_path_cache_init(), OVERLAY_outline_cache_init(), OVERLAY_paint_cache_init(), OVERLAY_particle_cache_init(), OVERLAY_sculpt_cache_init(), OVERLAY_sculpt_curves_cache_init(), OVERLAY_viewer_attribute_cache_init(), OVERLAY_volume_cache_init(), OVERLAY_wireframe_cache_init(), paint_2d_op(), blender::draw::overlay::GreasePencil::paint_object_sync(), panel_activate_state(), panel_handle_data_ensure(), parallel_mempool_func(), parse_add(), parse_add_func(), parse_add_jump(), parse_add_op(), parse_alloc_ops(), parse_and(), parse_cmp(), parse_cmp_chain(), parse_expr(), parse_function_args(), parse_mul(), parse_next_token(), parse_not(), parse_or(), parse_set_jump(), parse_unary(), blender::draw::particle_batch_cache_ensure_pos(), particle_settings_blend_read_data(), particle_settings_blend_write(), particle_settings_foreach_id(), blender::draw::overlay::Prepass::particle_sync(), particle_system_minmax(), path_source_handle_preprocessor(), path_source_replace_includes(), path_source_replace_includes_recursive(), path_state_ao_bounce(), path_state_continuation_probability(), path_state_init(), path_state_init_integrator(), path_state_init_queues(), path_state_next(), path_state_ray_visibility(), path_state_rng_light_termination(), path_state_rng_load(), pd_point_from_particle(), pointdensity_cache_psys(), pointer_handle_button(), precalc_guides(), blender::eevee::ForwardPipeline::prepass_transparent_add(), GHOST_SystemWin32::processKeyEvent(), project_paint_op(), blender::bke::node_field_inferencing::propagate_data_requirements_from_right_to_left(), blender::bke::node_field_inferencing::propagate_field_status_from_left_to_right(), psys_get_birth_coords(), psys_get_particle_on_path(), psys_get_particle_state(), rekey_particle(), rekey_particle_to_time(), Profiler::remove_state(), PathTraceWorkCPU::render_samples_full_pipeline(), rule_add_exec(), rule_del_exec(), rule_move_down_exec(), rule_move_up_exec(), ruler_state_set(), Profiler::run(), blender::gpu::MTLContext::sampler_state_cache_init(), screen_active_editable(), screen_state_to_nonnormal(), blender::draw::overlay::GreasePencil::sculpt_object_sync(), select_cache_init(), seq_proxy_build_frame(), SEQ_proxy_rebuild(), seq_render_effect_strip_impl(), SEQ_render_give_ibuf(), SEQ_render_give_ibuf_direct(), seq_render_give_ibuf_seqbase(), seq_render_strip(), seq_render_strip_stack(), blender::draw::command::SubPassTransition::serialize(), BoneExtended::set_leaf_bone(), set_next_operator_state(), GHOST_WindowCocoa::setState(), GHOST_WindowSDL::setState(), GHOST_WindowWayland::setState(), GHOST_WindowWin32::setState(), GHOST_WindowX11::setState(), shadow_path_state_rng_load(), SKY_arhosek_xyz_skymodelstate_alloc_init(), SKY_arhosekskymodel_radiance(), SKY_arhosekskymodelstate_free(), sph_force_cb(), sphclassical_force_cb(), splineik_evaluate_bone(), splineik_evaluate_init(), splineik_execute_tree(), state_add_exec(), state_del_exec(), state_delete(), state_dupe_add(), state_link_add(), state_link_add_test(), state_link_find(), state_move_down_exec(), state_move_up_exec(), blender::draw::detail::PassBase< DrawCommandBufType >::state_set(), state_step(), state_step__face_edges(), state_step__face_verts(), mv::KalmanFilter< T, N, K >::Step(), stitch_calculate_island_snapping(), stitch_check_edges_state_stitchable(), stitch_check_edges_stitchable(), stitch_draw(), stitch_exit(), stitch_init(), stitch_init_all(), stitch_invoke(), stitch_island_calculate_edge_rotation(), stitch_island_calculate_vert_rotation(), stitch_process_data(), stitch_propagate_uv_final_position(), stitch_select(), stitch_select_edge(), stitch_select_uv(), stitch_set_selection_mode(), stitch_setup_face_preview_for_uv_group(), stitch_uv_edge_generate_linked_edges(), stitch_validate_edge_stitchability(), stitch_validate_uv_stitchability(), blender::NodesModifierSimulationParams::store_as_prev_items(), subdivide_particle(), blender::draw::detail::PassBase< DrawCommandBufType >::submit(), blender::draw::Manager::submit(), blender::draw::Manager::submit(), blender::draw::Manager::submit(), surface_shader_bsdf_eval(), surface_shader_eval(), surface_shader_prepare_closures(), svm_eval_nodes(), svm_node_aov_color(), svm_node_aov_value(), svm_node_light_path(), blender::eevee::ShadowPipeline::sync(), blender::workbench::OpaquePass::sync(), blender::workbench::ShadowPass::sync(), blender::workbench::TransparentDepthPass::sync(), blender::workbench::TransparentPass::sync(), tablet_tool_handle_button(), TEST(), TEST(), test_float_state(), test_vec2f_state(), text_state_decode(), text_state_encode(), text_undosys_step_decode(), text_undosys_step_encode_to_state(), text_undosys_step_free(), OSLRenderServices::texture(), blender::draw::to_blend(), blender::draw::to_depth_test(), blender::draw::to_face_cull_test(), blender::draw::to_provoking_vertex(), blender::draw::to_stencil_op(), blender::draw::to_stencil_test(), blender::draw::to_write_mask(), ui_but_is_pushed_ex(), ui_draw_but(), ui_draw_but_IMAGE(), ui_draw_but_TRACKPREVIEW(), ui_draw_menu_item(), ui_draw_preview_item(), UI_draw_widget_scroll(), ui_handle_button_event(), ui_handler_wait_for_input(), ui_textedit_undo_push(), ui_tooltip_region_draw_cb(), UI_view2d_scrollers_draw_ex(), ui_widget_color_disabled(), uiLayoutPanel(), um_arraystore_cd_expand(), um_arraystore_cd_free(), um_arraystore_expand(), um_arraystore_free(), mv::KalmanFilter< T, N, K >::Update(), mv::KalmanFilter< T, N, K >::Update(), blender::bke::node_field_inferencing::update_socket_states(), GHOST_XrAction::updateState(), uv_edge_get(), v3d_cursor_eventstate_has_changed(), v3d_cursor_snap_calc_plane(), v3d_cursor_snap_draw_fn(), v3d_cursor_snap_poll_fn(), v3d_cursor_snap_update(), view3d_ob_drop_on_enter(), view3d_ob_drop_on_exit(), widget_alpha_factor(), widget_color_blend_from_flags(), widget_draw_icon(), widget_icon_has_anim(), widget_list_itembut(), widget_numbut(), widget_numbut_draw(), widget_numbut_embossn(), widget_numslider(), widget_optionbut(), widget_preview_tile(), widget_pulldownbut(), widget_roundbut_exec(), widget_scroll(), widget_state(), widget_state_label(), widget_state_menu_item(), widget_state_numslider(), widget_state_option_menu(), widget_state_pie_menu_item(), widget_swatch(), widget_tab(), widget_textbut(), window_mouse(), wm_drag_draw_icon(), wm_draw_update(), wm_event_cursor_store(), wm_window_fullscreen_toggle_exec(), wm_xr_controller_aim_draw(), wm_xr_controller_model_draw(), wm_xr_draw_controllers(), wm_xr_navigation_fly_modal(), wm_xr_session_action_states_interpret(), wm_xr_session_action_test_bimanual(), wm_xr_session_actions_update(), wm_xr_session_controller_aim_pose_find(), wm_xr_session_controller_data_clear(), wm_xr_session_controller_data_free(), wm_xr_session_controller_data_populate(), wm_xr_session_controller_data_update(), wm_xr_session_create_cb(), wm_xr_session_data_free(), wm_xr_session_draw_data_needs_reset_to_base_pose(), wm_xr_session_draw_data_update(), WM_xr_session_state_navigation_reset(), wm_xr_session_state_to_event(), wm_xr_session_state_update(), write_boid_state(), write_panel_list(), xdg_toplevel_handle_configure(), xkb_compose_state_feed_and_get_utf8(), xml_read_background(), xml_read_camera(), xml_read_file(), xml_read_include(), xml_read_light(), xml_read_mesh(), xml_read_object(), xml_read_scene(), xml_read_shader(), xml_read_shader_graph(), xml_read_state(), and blender::fn::multi_function::VariableStates::~VariableStates().

◆ state_offset_vector

float state_offset_vector[3 *3]
static

Definition at line 60 of file mathutils_noise.cc.

Referenced by init_genrand(), and noise_vector().