[][src]Module simdnoise::avx2

AVX2 and FMA3 Accelerated noise functions. CPUs since ~2013 (Intel) and ~2015 (AMD) support this. It is about twice as fast as the SSE2 version.

Use is_x86_feature_detected!("avx2") provided by the Rust stanard library to detect at runtime.

When using the get_ functions, you will get a performance boost when width is evenly divisble by 8, and when it is not small relative height and depth.

Functions

cellular_2davx2

Get a single value of 2d cellular/voroni noise

cellular_3davx2

Get a single value of 3d cellular/voroni noise

fbm_1davx2

Get a single value of 1d fractal brownian motion.

fbm_2davx2

Get a single value of 2d fractal brownian motion.

fbm_3davx2

Get a single value of 3d fractal brownian motion.

fbm_4davx2

Get a single value of 4d fractal brownian motion.

get_1d_noiseavx2

Gets a width sized block of 1d noise, unscaled. start_x can be used to provide an offset in the coordinates. Results are unscaled, 'min' and 'max' noise values are returned so you can scale and transform the noise as you see fit in a single pass.

get_1d_scaled_noiseavx2

Gets a width sized block of scaled 2d noise start_x can be used to provide an offset in the coordinates. scaled_min and scaled_max specify the range you want the noise scaled to.

get_2d_noiseavx2

Gets a width X height sized block of 2d noise, unscaled. start_x and start_y can be used to provide an offset in the coordinates. Results are unscaled, 'min' and 'max' noise values are returned so you can scale and transform the noise as you see fit in a single pass.

get_2d_scaled_noiseavx2

Gets a width X height sized block of scaled 2d noise start_x and start_y can be used to provide an offset in the coordinates. scaled_min and scaled_max specify the range you want the noise scaled to.

get_3d_noiseavx2

Gets a width X height X depth sized block of 3d noise, unscaled, start_x,start_y and start_z can be used to provide an offset in the coordinates. Results are unscaled, 'min' and 'max' noise values are returned so you can scale and transform the noise as you see fit in a single pass.

get_3d_scaled_noiseavx2

Gets a width X height X depth sized block of scaled 3d noise start_x, start_y and start_z can be used to provide an offset in the coordinates. scaled_min and scaled_max specify the range you want the noise scaled to.

get_4d_noiseavx2

Gets a width X height X depth x time sized block of 4d noise, unscaled, start_* can be used to provide an offset in the coordinates. Results are unscaled, 'min' and 'max' noise values are returned so you can scale and transform the noise as you see fit in a single pass.

get_4d_scaled_noiseavx2

Gets a width X height X depth X time sized block of scaled 4d noise start_* can be used to provide an offset in the coordinates. scaled_min and scaled_max specify the range you want the noise scaled to.

ridge_1davx2

Get a single value of 2d ridge noise.

ridge_2davx2

Get a single value of 2d ridge noise.

ridge_3davx2

Get a single value of 3d ridge noise.

ridge_4davx2

Get a single value of 4d ridge noise.

simplex_1davx2

Get a single value of 1d simplex noise, results are not scaled.

simplex_2davx2

Get a single value of 2d simplex noise, results are not scaled.

simplex_3davx2

Get a single value of 3d simplex noise, results are not scaled.

simplex_4davx2

Get a single value of 4d simplex noise, results are not scaled.

turbulence_1davx2

Get a single value of 2d turbulence.

turbulence_2davx2

Get a single value of 2d turbulence.

turbulence_3davx2

Get a single value of 3d turbulence.

turbulence_4davx2

Get a single value of 4d turbulence.