diff options
author | Robert Wenzlaff <rwenzlaff@soylent-green.com> | 2004-01-10 21:49:11 +0300 |
---|---|---|
committer | Robert Wenzlaff <rwenzlaff@soylent-green.com> | 2004-01-10 21:49:11 +0300 |
commit | f1c082da50c8d3e4e9c3b64a8aa8409c53f8cb06 (patch) | |
tree | 4f3418e3fcfe3c34580d6876c04cf310e428b32f /source/blender/src/previewrender.c | |
parent | d21cf447ab66b8ce2bdd9fdde7eae8efa13006de (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.c | 14 |
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); |