|
|
Create a randomized hash from the given inputs. Contrary to hash functions in BLI_hash.hh these functions produce better randomness but are more expensive to compute.
|
uint32_t | blender::noise::hash (uint32_t kx) |
|
uint32_t | blender::noise::hash (uint32_t kx, uint32_t ky) |
|
uint32_t | blender::noise::hash (uint32_t kx, uint32_t ky, uint32_t kz) |
|
uint32_t | blender::noise::hash (uint32_t kx, uint32_t ky, uint32_t kz, uint32_t kw) |
|
uint32_t | blender::noise::hash_float (float kx) |
|
uint32_t | blender::noise::hash_float (float2 k) |
|
uint32_t | blender::noise::hash_float (float3 k) |
|
uint32_t | blender::noise::hash_float (float4 k) |
|
float | blender::noise::hash_to_float (uint32_t kx) |
|
float | blender::noise::hash_to_float (uint32_t kx, uint32_t ky) |
|
float | blender::noise::hash_to_float (uint32_t kx, uint32_t ky, uint32_t kz) |
|
float | blender::noise::hash_to_float (uint32_t kx, uint32_t ky, uint32_t kz, uint32_t kw) |
|
float | blender::noise::hash_float_to_float (float k) |
|
float | blender::noise::hash_float_to_float (float2 k) |
|
float | blender::noise::hash_float_to_float (float3 k) |
|
float | blender::noise::hash_float_to_float (float4 k) |
|
float2 | blender::noise::hash_float_to_float2 (float2 k) |
|
float3 | blender::noise::hash_float_to_float3 (float k) |
|
float3 | blender::noise::hash_float_to_float3 (float2 k) |
|
float3 | blender::noise::hash_float_to_float3 (float3 k) |
|
float3 | blender::noise::hash_float_to_float3 (float4 k) |
|
float4 | blender::noise::hash_float_to_float4 (float4 k) |
|
|
Perlin, Ken. "Improving noise." Proceedings of the 29th annual conference on Computer graphics and interactive techniques. 2002.
This implementation is functionally identical to the implementations in EEVEE, OSL, and SVM. So any changes should be applied in all relevant implementations.
|
float | blender::noise::perlin_signed (float position) |
|
float | blender::noise::perlin_signed (float2 position) |
|
float | blender::noise::perlin_signed (float3 position) |
|
float | blender::noise::perlin_signed (float4 position) |
|
float | blender::noise::perlin (float position) |
|
float | blender::noise::perlin (float2 position) |
|
float | blender::noise::perlin (float3 position) |
|
float | blender::noise::perlin (float4 position) |
|
float | blender::noise::perlin_fractal (float position, float octaves, float roughness) |
|
float | blender::noise::perlin_fractal (float2 position, float octaves, float roughness) |
|
float | blender::noise::perlin_fractal (float3 position, float octaves, float roughness) |
|
float | blender::noise::perlin_fractal (float4 position, float octaves, float roughness) |
|
float | blender::noise::perlin_fractal_distorted (float position, float octaves, float roughness, float distortion) |
|
float | blender::noise::perlin_fractal_distorted (float2 position, float octaves, float roughness, float distortion) |
|
float | blender::noise::perlin_fractal_distorted (float3 position, float octaves, float roughness, float distortion) |
|
float | blender::noise::perlin_fractal_distorted (float4 position, float octaves, float roughness, float distortion) |
|
float3 | blender::noise::perlin_float3_fractal_distorted (float position, float octaves, float roughness, float distortion) |
|
float3 | blender::noise::perlin_float3_fractal_distorted (float2 position, float octaves, float roughness, float distortion) |
|
float3 | blender::noise::perlin_float3_fractal_distorted (float3 position, float octaves, float roughness, float distortion) |
|
float3 | blender::noise::perlin_float3_fractal_distorted (float4 position, float octaves, float roughness, float distortion) |
|
|
float | blender::noise::musgrave_ridged_multi_fractal (float co, float H, float lacunarity, float octaves, float offset, float gain) |
|
float | blender::noise::musgrave_ridged_multi_fractal (const float2 co, float H, float lacunarity, float octaves, float offset, float gain) |
|
float | blender::noise::musgrave_ridged_multi_fractal (const float3 co, float H, float lacunarity, float octaves, float offset, float gain) |
|
float | blender::noise::musgrave_ridged_multi_fractal (const float4 co, float H, float lacunarity, float octaves, float offset, float gain) |
|
float | blender::noise::musgrave_hybrid_multi_fractal (float co, float H, float lacunarity, float octaves, float offset, float gain) |
|
float | blender::noise::musgrave_hybrid_multi_fractal (const float2 co, float H, float lacunarity, float octaves, float offset, float gain) |
|
float | blender::noise::musgrave_hybrid_multi_fractal (const float3 co, float H, float lacunarity, float octaves, float offset, float gain) |
|
float | blender::noise::musgrave_hybrid_multi_fractal (const float4 co, float H, float lacunarity, float octaves, float offset, float gain) |
|
float | blender::noise::musgrave_fBm (float co, float H, float lacunarity, float octaves) |
|
float | blender::noise::musgrave_fBm (const float2 co, float H, float lacunarity, float octaves) |
|
float | blender::noise::musgrave_fBm (const float3 co, float H, float lacunarity, float octaves) |
|
float | blender::noise::musgrave_fBm (const float4 co, float H, float lacunarity, float octaves) |
|
float | blender::noise::musgrave_multi_fractal (float co, float H, float lacunarity, float octaves) |
|
float | blender::noise::musgrave_multi_fractal (const float2 co, float H, float lacunarity, float octaves) |
|
float | blender::noise::musgrave_multi_fractal (const float3 co, float H, float lacunarity, float octaves) |
|
float | blender::noise::musgrave_multi_fractal (const float4 co, float H, float lacunarity, float octaves) |
|
float | blender::noise::musgrave_hetero_terrain (float co, float H, float lacunarity, float octaves, float offset) |
|
float | blender::noise::musgrave_hetero_terrain (const float2 co, float H, float lacunarity, float octaves, float offset) |
|
float | blender::noise::musgrave_hetero_terrain (const float3 co, float H, float lacunarity, float octaves, float offset) |
|
float | blender::noise::musgrave_hetero_terrain (const float4 co, float H, float lacunarity, float octaves, float offset) |
|
|
- Note
- Ported from Cycles code.
Original code is under the MIT License, Copyright (c) 2013 Inigo Quilez.
Smooth Voronoi:
Distance To Edge based on:
With optimization to change -2..2 scan window to -1..1 for better performance, as explained in https://www.shadertoy.com/view/llG3zy.
|
void | blender::noise::voronoi_f1 (float w, float randomness, float *r_distance, float3 *r_color, float *r_w) |
|
void | blender::noise::voronoi_smooth_f1 (float w, float smoothness, float randomness, float *r_distance, float3 *r_color, float *r_w) |
|
void | blender::noise::voronoi_f2 (float w, float randomness, float *r_distance, float3 *r_color, float *r_w) |
|
void | blender::noise::voronoi_distance_to_edge (float w, float randomness, float *r_distance) |
|
void | blender::noise::voronoi_n_sphere_radius (float w, float randomness, float *r_radius) |
|
void | blender::noise::voronoi_f1 (const float2 coord, float exponent, float randomness, int metric, float *r_distance, float3 *r_color, float2 *r_position) |
|
void | blender::noise::voronoi_smooth_f1 (const float2 coord, float smoothness, float exponent, float randomness, int metric, float *r_distance, float3 *r_color, float2 *r_position) |
|
void | blender::noise::voronoi_f2 (const float2 coord, float exponent, float randomness, int metric, float *r_distance, float3 *r_color, float2 *r_position) |
|
void | blender::noise::voronoi_distance_to_edge (const float2 coord, float randomness, float *r_distance) |
|
void | blender::noise::voronoi_n_sphere_radius (const float2 coord, float randomness, float *r_radius) |
|
void | blender::noise::voronoi_f1 (const float3 coord, float exponent, float randomness, int metric, float *r_distance, float3 *r_color, float3 *r_position) |
|
void | blender::noise::voronoi_smooth_f1 (const float3 coord, float smoothness, float exponent, float randomness, int metric, float *r_distance, float3 *r_color, float3 *r_position) |
|
void | blender::noise::voronoi_f2 (const float3 coord, float exponent, float randomness, int metric, float *r_distance, float3 *r_color, float3 *r_position) |
|
void | blender::noise::voronoi_distance_to_edge (const float3 coord, float randomness, float *r_distance) |
|
void | blender::noise::voronoi_n_sphere_radius (const float3 coord, float randomness, float *r_radius) |
|
void | blender::noise::voronoi_f1 (const float4 coord, float exponent, float randomness, int metric, float *r_distance, float3 *r_color, float4 *r_position) |
|
void | blender::noise::voronoi_smooth_f1 (const float4 coord, float smoothness, float exponent, float randomness, int metric, float *r_distance, float3 *r_color, float4 *r_position) |
|
void | blender::noise::voronoi_f2 (const float4 coord, float exponent, float randomness, int metric, float *r_distance, float3 *r_color, float4 *r_position) |
|
void | blender::noise::voronoi_distance_to_edge (const float4 coord, float randomness, float *r_distance) |
|
void | blender::noise::voronoi_n_sphere_radius (const float4 coord, float randomness, float *r_radius) |
|