diff options
author | Philipp Oeser <info@graphics-engineer.com> | 2021-05-10 12:33:01 +0300 |
---|---|---|
committer | Jeroen Bakker <jeroen@blender.org> | 2021-05-21 09:06:03 +0300 |
commit | eee51b3cda3545729cad137f370b7b0491058978 (patch) | |
tree | 59fb65c30652a1ed21eb797b141722e3193c4db6 | |
parent | 0babc7a65782e0fc1fb2415862a8da01956cfbd7 (diff) |
Fix T88145: Dynamic Paint initial color using vertex color not working as expected
Mistake in {rBe48c4d73d378}.
Was using the vertex index as a lookup for the loop color (instead of
the loop index).
(Issue was not present in original D1429 btw).
Maniphest Tasks: T88145
Differential Revision: https://developer.blender.org/D11212
-rw-r--r-- | source/blender/blenkernel/intern/dynamicpaint.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/source/blender/blenkernel/intern/dynamicpaint.c b/source/blender/blenkernel/intern/dynamicpaint.c index 79f0aacc3f8..703d8b00a98 100644 --- a/source/blender/blenkernel/intern/dynamicpaint.c +++ b/source/blender/blenkernel/intern/dynamicpaint.c @@ -1613,7 +1613,6 @@ static void dynamicPaint_setInitialColor(const Scene *scene, DynamicPaintSurface PaintSurfaceData *sData = surface->data; PaintPoint *pPoint = (PaintPoint *)sData->type_data; Mesh *mesh = dynamicPaint_canvas_mesh_get(surface->canvas); - int i; const bool scene_color_manage = BKE_scene_check_color_management_enabled(scene); if (surface->type != MOD_DPAINT_SURFACE_T_PAINT) { @@ -1627,7 +1626,7 @@ static void dynamicPaint_setInitialColor(const Scene *scene, DynamicPaintSurface /* Single color */ if (surface->init_color_type == MOD_DPAINT_INITIAL_COLOR) { /* apply color to every surface point */ - for (i = 0; i < sData->total_points; i++) { + for (int i = 0; i < sData->total_points; i++) { copy_v4_v4(pPoint[i].color, surface->init_color); } } @@ -1700,8 +1699,8 @@ static void dynamicPaint_setInitialColor(const Scene *scene, DynamicPaintSurface return; } - for (i = 0; i < totloop; i++) { - rgba_uchar_to_float(pPoint[mloop[i].v].color, (const unsigned char *)&col[mloop[i].v].r); + for (int i = 0; i < totloop; i++) { + rgba_uchar_to_float(pPoint[mloop[i].v].color, (const unsigned char *)&col[i].r); } } else if (surface->format == MOD_DPAINT_SURFACE_F_IMAGESEQ) { |