From 0ae03d16260d199c46fb5b3812ba43f91259dc63 Mon Sep 17 00:00:00 2001 From: Ton Roosendaal Date: Sat, 3 Apr 2004 13:59:27 +0000 Subject: Eesho's patch for new noise textures! Basically this provides three new things: 1. Choice of a list of noise-base functions, which can be used by the current Clouds, Marble, Wood textures as well. 2. Three new texture types: Musgrave, Voronoi and DistortedNoise 3. Python access to noise functions (not for render!) All of this together makes Blender's builtin procedural textures a LOT more powerful. Here again, a full webpage should be made to show off all possibilities, and explain some of the more scientific names for settings. A good read on Musgrave textures can be found here: http://www.ypoart.com/Downloads/Musgrave.htm About Voronoi: http://www.ypoart.com/Downloads/Worley.htm I can't find official DistortedNoise docs easily... maybe its something Eeshlo created himself. I've spent some time to change the patch Eeshlo provided. Worth noting: - created main texture "Musgrave" with 5 sub choices (instead of 5 new main textures) - added for all new textures the option to scale (zoom in out) - added patch in do_versions to initialize variables I hope the Python team will check on the Noise.c API. And include in docs! --- source/blender/makesdna/DNA_texture_types.h | 45 +++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) (limited to 'source/blender/makesdna/DNA_texture_types.h') diff --git a/source/blender/makesdna/DNA_texture_types.h b/source/blender/makesdna/DNA_texture_types.h index 8b5afb2e2ba..a60c4f117d6 100644 --- a/source/blender/makesdna/DNA_texture_types.h +++ b/source/blender/makesdna/DNA_texture_types.h @@ -127,7 +127,21 @@ typedef struct Tex { float noisesize, turbul; float bright, contrast, rfac, gfac, bfac; float filtersize; + + /* newnoise: musgrave parameters */ + float mg_H, mg_lacunarity, mg_octaves, mg_offset, mg_gain; + + /* newnoise: distorted noise amount, musgrave & voronoi ouput scale */ + float dist_amount, ns_outscale; + + /* newnoise: voronoi nearest neighbour weights, minkovsky exponent, distance metric & color type */ + float vn_w1, vn_w2, vn_w3, vn_w4, vn_mexp; + short vn_distm, vn_coltype; + short noisedepth, noisetype; + + /* newnoise: noisebasis type for clouds/marble/etc, noisebasis2 only used for distorted noise */ + short noisebasis, noisebasis2; short imaflag, flag; short type, stype; @@ -161,6 +175,37 @@ typedef struct Tex { #define TEX_IMAGE 8 #define TEX_PLUGIN 9 #define TEX_ENVMAP 10 +#define TEX_MUSGRAVE 11 +#define TEX_VORONOI 12 +#define TEX_DISTNOISE 13 + +/* musgrave stype */ +#define TEX_MFRACTAL 0 +#define TEX_RIDGEDMF 1 +#define TEX_HYBRIDMF 2 +#define TEX_FBM 3 +#define TEX_HTERRAIN 4 + +/* newnoise: noisebasis 1 & 2 */ +#define TEX_BLENDER 0 +#define TEX_STDPERLIN 1 +#define TEX_NEWPERLIN 2 +#define TEX_VORONOI_F1 3 +#define TEX_VORONOI_F2 4 +#define TEX_VORONOI_F3 5 +#define TEX_VORONOI_F4 6 +#define TEX_VORONOI_F2F1 7 +#define TEX_VORONOI_CRACKLE 8 +#define TEX_CELLNOISE 14 + +/* newnoise: Voronoi distance metrics, vn_distm */ +#define TEX_DISTANCE 0 +#define TEX_DISTANCE_SQUARED 1 +#define TEX_MANHATTAN 2 +#define TEX_CHEBYCHEV 3 +#define TEX_MINKOVSKY_HALF 4 +#define TEX_MINKOVSKY_FOUR 5 +#define TEX_MINKOVSKY 6 /* imaflag */ #define TEX_INTERPOL 1 -- cgit v1.2.3