Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilipp Oeser <info@graphics-engineer.com>2021-05-10 12:33:01 +0300
committerJeroen Bakker <jeroen@blender.org>2021-05-21 09:06:03 +0300
commiteee51b3cda3545729cad137f370b7b0491058978 (patch)
tree59fb65c30652a1ed21eb797b141722e3193c4db6
parent0babc7a65782e0fc1fb2415862a8da01956cfbd7 (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.c7
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) {