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-12-10 21:29:16 +0300
committerTon Roosendaal <ton@blender.org>2004-12-10 21:29:16 +0300
commit974f11379a3f09884c8c873baa3f56fa9cd46102 (patch)
treef398a6ac164d696f66c56bcc9aff281d471ed477
parent3bcc45ff647c0dc657bc3f507605c9d8ab8bdd5b (diff)
As addition to the use of Colorband for normals;
- Stucci now accepts it too (for normals and color) Note; stucci doesn't return a single value, like marble or wood, that's still so, to disable it coloring the "Col" Map input by default. - Magic texture now accepts Colorband
-rw-r--r--source/blender/render/intern/source/texture.c32
1 files changed, 16 insertions, 16 deletions
diff --git a/source/blender/render/intern/source/texture.c b/source/blender/render/intern/source/texture.c
index e8aac6da803..b360def02a6 100644
--- a/source/blender/render/intern/source/texture.c
+++ b/source/blender/render/intern/source/texture.c
@@ -451,6 +451,8 @@ static int magic(Tex *tex, float *texvec)
Tg= 0.5-y;
Tb= 0.5-z;
+ Tin= 0.3333*(Tr+Tg+Tb);
+
BRICONRGB;
Ta= 1.0;
@@ -462,27 +464,24 @@ static int magic(Tex *tex, float *texvec)
/* newnoise: stucci also modified to use different noisebasis */
static int stucci(Tex *tex, float *texvec)
{
- float b2, vec[3], ofs;
+ float b2, ofs;
if(tex->nor == NULL) return 0;
ofs= tex->turbul/200.0;
- b2= BLI_gNoise(tex->noisesize, texvec[0], texvec[1], texvec[2], (tex->noisetype!=TEX_NOISESOFT), tex->noisebasis);
+ Tin=b2= BLI_gNoise(tex->noisesize, texvec[0], texvec[1], texvec[2], (tex->noisetype!=TEX_NOISESOFT), tex->noisebasis);
if(tex->stype) ofs*=(b2*b2);
- vec[0] = b2 - BLI_gNoise(tex->noisesize, texvec[0]+ofs, texvec[1], texvec[2], (tex->noisetype!=TEX_NOISESOFT), tex->noisebasis);
- vec[1] = b2 - BLI_gNoise(tex->noisesize, texvec[0], texvec[1]+ofs, texvec[2], (tex->noisetype!=TEX_NOISESOFT), tex->noisebasis);
- vec[2] = b2 - BLI_gNoise(tex->noisesize, texvec[0], texvec[1], texvec[2]+ofs, (tex->noisetype!=TEX_NOISESOFT), tex->noisebasis);
-
- if(tex->stype==1) {
- tex->nor[0]= vec[0];
- tex->nor[1]= vec[1];
- tex->nor[2]= vec[2];
- }
- else {
- tex->nor[0]= -vec[0];
- tex->nor[1]= -vec[1];
- tex->nor[2]= -vec[2];
+ tex->nor[0] = BLI_gNoise(tex->noisesize, texvec[0]+ofs, texvec[1], texvec[2], (tex->noisetype!=TEX_NOISESOFT), tex->noisebasis);
+ tex->nor[1] = BLI_gNoise(tex->noisesize, texvec[0], texvec[1]+ofs, texvec[2], (tex->noisetype!=TEX_NOISESOFT), tex->noisebasis);
+ tex->nor[2] = BLI_gNoise(tex->noisesize, texvec[0], texvec[1], texvec[2]+ofs, (tex->noisetype!=TEX_NOISESOFT), tex->noisebasis);
+
+ tex_normal_derivate(b2, tex);
+
+ if(tex->stype==2) {
+ tex->nor[0]= -tex->nor[0];
+ tex->nor[1]= -tex->nor[1];
+ tex->nor[2]= -tex->nor[2];
}
return 2;
@@ -1093,8 +1092,9 @@ int multitex(Tex *tex, float *texvec, float *dxt, float *dyt, int osatex)
retval= blend(tex, texvec);
break;
case TEX_STUCCI:
- Tin= 0.0;
retval= stucci(tex, texvec);
+ if (tex->flag & TEX_COLORBAND);
+ else Tin= 0.0; // stucci doesnt return Tin, for backwards compat...
break;
case TEX_NOISE:
retval= texnoise(tex);