[Bf-blender-cvs] [eee51b3cda3] blender-v2.83-release: Fix T88145: Dynamic Paint initial color using vertex color not working as expected
Philipp Oeser
noreply at git.blender.org
Fri May 21 08:14:28 CEST 2021
Commit: eee51b3cda3545729cad137f370b7b0491058978
Author: Philipp Oeser
Date: Mon May 10 11:33:01 2021 +0200
Branches: blender-v2.83-release
https://developer.blender.org/rBeee51b3cda3545729cad137f370b7b0491058978
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
===================================================================
M source/blender/blenkernel/intern/dynamicpaint.c
===================================================================
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) {
More information about the Bf-blender-cvs
mailing list