Fix T38267: dynamic paint Use Object Material not working correct in some cases.

This commit is contained in:
Brecht Van Lommel 2014-01-20 14:46:48 +01:00
parent c8d0d9b383
commit f074b67108
Notes: blender-bot 2023-02-14 11:19:19 +01:00
Referenced by issue #38267, Problem with the "Use Object Material" setting in Dynamic Paint
2 changed files with 4 additions and 4 deletions

View File

@ -107,7 +107,7 @@ class PHYSICS_PT_dynamic_paint(PhysicButtonsPanel, Panel):
elif md.ui_type == 'BRUSH':
brush = md.brush_settings
engine = context.scene.render.engine
use_shading_nodes = context.scene.render.use_shading_nodes
if brush is None:
layout.operator("dpaint.type_toggle", text="Add Brush").type = 'BRUSH'
@ -122,11 +122,11 @@ class PHYSICS_PT_dynamic_paint(PhysicButtonsPanel, Panel):
col.prop(brush, "paint_wetness", text="Wetness")
col = split.column()
if engine == 'BLENDER_RENDER':
if not use_shading_nodes:
sub = col.column()
sub.active = (brush.paint_source != 'PARTICLE_SYSTEM')
sub.prop(brush, "use_material")
if brush.use_material and brush.paint_source != 'PARTICLE_SYSTEM' and engine == 'BLENDER_RENDER':
if brush.use_material and brush.paint_source != 'PARTICLE_SYSTEM' and not use_shading_nodes:
col.prop(brush, "material", text="")
col.prop(brush, "paint_alpha", text="Alpha Factor")
else:

View File

@ -641,7 +641,7 @@ static int surface_getBrushFlags(DynamicPaintSurface *surface, Scene *scene)
static int brush_usesMaterial(DynamicPaintBrushSettings *brush, Scene *scene)
{
return ((brush->flags & MOD_DPAINT_USE_MATERIAL) && (!strcmp(scene->r.engine, "BLENDER_RENDER")));
return ((brush->flags & MOD_DPAINT_USE_MATERIAL) && (!BKE_scene_use_new_shading_nodes(scene)));
}
/* check whether two bounds intersect */