Revision: 37342
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=37342
Author:   ton
Date:     2011-06-09 16:12:10 +0000 (Thu, 09 Jun 2011)
Log Message:
-----------
Bugfix #27081

Displacement mapping didn't do linear interpolation between pixels,
causing render artefacts. Now it uses for image render without AA
a default interploation filter of 1 pixel size.

Fix provided by Miika Hamalainen. Thanks!

Modified Paths:
--------------
    trunk/blender/source/blender/render/intern/source/imagetexture.c

Modified: trunk/blender/source/blender/render/intern/source/imagetexture.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/imagetexture.c    
2011-06-09 16:05:34 UTC (rev 37341)
+++ trunk/blender/source/blender/render/intern/source/imagetexture.c    
2011-06-09 16:12:10 UTC (rev 37342)
@@ -76,6 +76,8 @@
 extern struct Render R;
 /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
 
+static void boxsample(ImBuf *ibuf, float minx, float miny, float maxx, float 
maxy, TexResult *texres, int imaprepeat, int imapextend);
+
 /* *********** IMAGEWRAPPING ****************** */
 
 
@@ -201,7 +203,16 @@
                ibuf->rect+= (ibuf->x*ibuf->y);
        }
 
-       ibuf_get_color(&texres->tr, ibuf, x, y);
+       /* interpolate */
+       if (tex->imaflag & TEX_INTERPOL) {
+               float filterx, filtery;
+               filterx = (0.5f * tex->filtersize) / ibuf->x;
+               filtery = (0.5f * tex->filtersize) / ibuf->y;
+
+               boxsample(ibuf, fx-filterx, fy-filtery, fx+filterx, fy+filtery, 
texres, (tex->extend==TEX_REPEAT), (tex->extend==TEX_EXTEND));
+       }
+       else /* no filtering */
+               ibuf_get_color(&texres->tr, ibuf, x, y);
        
        if( (R.flag & R_SEC_FIELD) && (ibuf->flags & IB_fields) ) {
                ibuf->rect-= (ibuf->x*ibuf->y);

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to