diff options
author | Ton Roosendaal <ton@blender.org> | 2004-04-03 17:59:27 +0400 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2004-04-03 17:59:27 +0400 |
commit | 0ae03d16260d199c46fb5b3812ba43f91259dc63 (patch) | |
tree | 0e6ebcf11709c76e21d32d67bf62a1320c2a3a1f /source/blender/makesdna | |
parent | 164463e2008a50f98f50baef2f60a0b5b4cff0b1 (diff) |
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!
Diffstat (limited to 'source/blender/makesdna')
-rw-r--r-- | source/blender/makesdna/DNA_texture_types.h | 45 |
1 files changed, 45 insertions, 0 deletions
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 |