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:
authorRobert Wenzlaff <rwenzlaff@soylent-green.com>2004-01-10 21:49:11 +0300
committerRobert Wenzlaff <rwenzlaff@soylent-green.com>2004-01-10 21:49:11 +0300
commitf1c082da50c8d3e4e9c3b64a8aa8409c53f8cb06 (patch)
tree4f3418e3fcfe3c34580d6876c04cf310e428b32f /source/blender/src/previewrender.c
parentd21cf447ab66b8ce2bdd9fdde7eae8efa13006de (diff)
- Added ""fake" preview for displacement. Preview does not
use renderfaces so real preview will have to wait for preview overhaul.
Diffstat (limited to 'source/blender/src/previewrender.c')
-rw-r--r--source/blender/src/previewrender.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/source/blender/src/previewrender.c b/source/blender/src/previewrender.c
index 3e259a5a943..8393f44ad52 100644
--- a/source/blender/src/previewrender.c
+++ b/source/blender/src/previewrender.c
@@ -709,7 +709,7 @@ static void shade_preview_pixel(ShadeInput *shi, float *vec, int x, int y,char *
float eul[3], tmat[3][3], imat[3][3];
int temp, a;
char tracol;
-
+
mat= shi->matren;
v1= 1.0/PR_RECTX;
@@ -768,6 +768,9 @@ static void shade_preview_pixel(ShadeInput *shi, float *vec, int x, int y,char *
shi->ref[2]= (view[2]+inp*shi->vn[2]);
}
+ /* Clear displase vec for preview */
+ shi->displace[0]= shi->displace[1]= shi->displace[2]= 0.0;
+
do_material_tex(shi);
if(mat->texco & TEXCO_REFL) {
@@ -785,7 +788,14 @@ static void shade_preview_pixel(ShadeInput *shi, float *vec, int x, int y,char *
}
/* set it here, because ray_mirror will affect it */
alpha= mat->alpha;
-
+
+ if(mat->mapto & MAP_DISPLACE) { /* Quick hack of fake displacement preview */
+ shi->vn[0]+=5.0*(shi->displace[1]+shi->displace[2]);
+ shi->vn[1]+=5.0*(shi->displace[0]+shi->displace[2]);
+ shi->vn[2]+=5.0*(shi->displace[0]+shi->displace[1]);
+ Normalise(shi->vn);
+ }
+
if(mat->mode & (MA_ZTRA|MA_RAYTRANSP))
if(mat->fresnel_tra!=0.0)
alpha*= fresnel_fac(view, shi->vn, mat->fresnel_tra_i, mat->fresnel_tra);