Bugfix 26578
authorTon Roosendaal <ton@blender.org>
Thu, 24 Mar 2011 18:39:54 +0000 (18:39 +0000)
committerTon Roosendaal <ton@blender.org>
Thu, 24 Mar 2011 18:39:54 +0000 (18:39 +0000)
"Warp" texture map option didnt work for new bump methods yet.
Also fixed to not grey out bump menu for this mapping option.

release/scripts/startup/bl_ui/properties_texture.py
source/blender/render/intern/source/render_texture.c

index 7e289f1ecce80af567fa27eb4006e737d4123ce5..f6fa86d64aa6fd010284f98847941a7409456ee0 100644 (file)
@@ -1015,7 +1015,7 @@ class TEXTURE_PT_influence(TextureSlotPanel, bpy.types.Panel):
 
             # only show bump settings if activated but not for normalmap images
             row = layout.row()
-            row.active = tex.use_map_normal and not (tex.texture.type == 'IMAGE' and tex.texture.use_normal_map)
+            row.active = (tex.use_map_normal or tex.use_map_warp) and not (tex.texture.type == 'IMAGE' and tex.texture.use_normal_map)
 
             row.prop(tex, "bump_method", text="Method")
 
index acc69680487eaa5a68f5b842591d1832bcb54578..2b98e7a3f96d4444508344be51e8f5d5c8201546 100644 (file)
@@ -2339,9 +2339,16 @@ void do_material_tex(ShadeInput *shi)
                                }
                                // warping, local space
                                if(mtex->mapto & MAP_WARP) {
-                                       warpvec[0]= mtex->warpfac*texres.nor[0];
-                                       warpvec[1]= mtex->warpfac*texres.nor[1];
-                                       warpvec[2]= mtex->warpfac*texres.nor[2];
+                                       float *warpnor= texres.nor, warpnor_[3];
+                                       
+                                       if(use_ntap_bump) {
+                                               VECCOPY(warpnor_, texres.nor);
+                                               warpnor= warpnor_;
+                                               normalize_v3(warpnor_);
+                                       }
+                                       warpvec[0]= mtex->warpfac*warpnor[0];
+                                       warpvec[1]= mtex->warpfac*warpnor[1];
+                                       warpvec[2]= mtex->warpfac*warpnor[2];
                                        warpdone= 1;
                                }
 #if 0