Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTon Roosendaal <ton@blender.org>2004-04-03 17:59:27 +0400
committerTon Roosendaal <ton@blender.org>2004-04-03 17:59:27 +0400
commit0ae03d16260d199c46fb5b3812ba43f91259dc63 (patch)
tree0e6ebcf11709c76e21d32d67bf62a1320c2a3a1f /source/blender/blenkernel/intern/texture.c
parent164463e2008a50f98f50baef2f60a0b5b4cff0b1 (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/blenkernel/intern/texture.c')
-rw-r--r--source/blender/blenkernel/intern/texture.c58
1 files changed, 38 insertions, 20 deletions
diff --git a/source/blender/blenkernel/intern/texture.c b/source/blender/blenkernel/intern/texture.c
index 3bd2b26fb89..0d472f278de 100644
--- a/source/blender/blenkernel/intern/texture.c
+++ b/source/blender/blenkernel/intern/texture.c
@@ -324,9 +324,9 @@ void free_texture(Tex *tex)
void default_tex(Tex *tex)
{
- PluginTex *pit;
- VarStruct *varstr;
- int a;
+ PluginTex *pit;
+ VarStruct *varstr;
+ int a;
tex->stype= 0;
tex->imaflag= TEX_INTERPOL+TEX_MIPMAP;
@@ -346,24 +346,42 @@ void default_tex(Tex *tex)
tex->rfac= 1.0;
tex->gfac= 1.0;
tex->bfac= 1.0;
+ /* newnoise: init. */
+ tex->noisebasis = 0;
+ tex->noisebasis2 = 0;
+ /* musgrave */
+ tex->mg_H = 1.0;
+ tex->mg_lacunarity = 2.0;
+ tex->mg_octaves = 2.0;
+ tex->mg_offset = 1.0;
+ tex->mg_gain = 1.0;
+ tex->ns_outscale = 1.0;
+ /* distnoise */
+ tex->dist_amount = 1.0;
+ /* voronoi */
+ tex->vn_w1 = 1.0;
+ tex->vn_w2 = tex->vn_w3 = tex->vn_w4 = 0.0;
+ tex->vn_mexp = 2.5;
+ tex->vn_distm = 0;
+ tex->vn_coltype = 0;
+
+ if (tex->env) {
+ tex->env->stype=ENV_STATIC;
+ tex->env->clipsta=0.1;
+ tex->env->clipend=100;
+ tex->env->cuberes=100;
+ tex->env->depth=0;
+ }
- if (tex->env) {
- tex->env->stype=ENV_STATIC;
- tex->env->clipsta=0.1;
- tex->env->clipend=100;
- tex->env->cuberes=100;
- tex->env->depth=0;
- }
-
- pit = tex->plugin;
- if (pit) {
- varstr= pit->varstr;
- if(varstr) {
- for(a=0; a<pit->vars; a++, varstr++) {
- pit->data[a] = varstr->def;
- }
- }
- }
+ pit = tex->plugin;
+ if (pit) {
+ varstr= pit->varstr;
+ if(varstr) {
+ for(a=0; a<pit->vars; a++, varstr++) {
+ pit->data[a] = varstr->def;
+ }
+ }
+ }
}
/* ------------------------------------------------------------------------- */