Fix #34156: Spec. and Alpha Intensity OpenGL issue
[blender.git] / source / blender / render / intern / source / imagetexture.c
index 0a427d5..55dadc1 100644 (file)
@@ -224,8 +224,10 @@ int imagewrap(Tex *tex, Image *ima, ImBuf *ibuf, const float texvec[3], TexResul
        }
 
        /* keep this before interpolation [#29761] */
-       if ((tex->imaflag & TEX_CALCALPHA) == 0) {
-               texres->talpha = TRUE;
+       if (tex->ima && (tex->ima->flag & IMA_IGNORE_ALPHA) == 0) {
+               if ((tex->imaflag & TEX_CALCALPHA) == 0) {
+                       texres->talpha = TRUE;
+               }
        }
 
        /* interpolate */
@@ -1092,8 +1094,10 @@ static int imagewraposa_aniso(Tex *tex, Image *ima, ImBuf *ibuf, const float tex
        /* mipmap test */
        image_mipmap_test(tex, ibuf);
        
-       if ((tex->imaflag & TEX_CALCALPHA) == 0)
-               texres->talpha = 1;
+       if (tex->ima && (tex->ima->flag & IMA_IGNORE_ALPHA) == 0) {
+               if ((tex->imaflag & TEX_CALCALPHA) == 0)
+                       texres->talpha = 1;
+       }
        texr.talpha = texres->talpha;
 
        if (tex->imaflag & TEX_IMAROT) {
@@ -1506,8 +1510,10 @@ int imagewraposa(Tex *tex, Image *ima, ImBuf *ibuf, const float texvec[3], const
        /* mipmap test */
        image_mipmap_test(tex, ibuf);
 
-       if ((tex->imaflag & TEX_CALCALPHA) == 0) {
-               texres->talpha = TRUE;
+       if (tex->ima && (tex->ima->flag & IMA_IGNORE_ALPHA) == 0) {
+               if ((tex->imaflag & TEX_CALCALPHA) == 0) {
+                       texres->talpha = TRUE;
+               }
        }
        
        texr.talpha= texres->talpha;