Blender Git Commit Log

Git Commits -> Revision df255ff

Revision df255ff by Antonis Ryakiotakis (soc-2013-paint)
July 3, 2013, 19:21 (GMT)
Fix old undo issue for projective texture paint

Undoing when faces accessed the same region in uv space could create
artifacts. The issue here is that buckets get their original colour
initialized with the colour that exists in the image at the point of
initialization. If two faces on different buckets accessed the same
region, then one bucket would get the modified colour as the original
colour. The undo push code simply checked if the final colour was
different than the original colour and as a result it could copy
modified colours in the undo stack.

Now simply push the undo stack when initializing the buckets. This
ensures that the stack contains really original colours. Of course there
is some overhead.

Also added mask code creation as part of the undo tile creation. The
accumulated mask should be in canvas space pixels, not on screen space
bucket pixels. I will next hook up the projection pixels to reference
this mask. This will hopefully solve cases like painting on mirrored
meshes or meshes that the same canvas region is accessed by many faces.

Commit Details:

Full Hash: df255ffd0355d8b0272e8c5a78b94a9cc7fcb573
SVN Revision: 57970
Parent Commit: 1edd2e5
Lines Changed: +58, -7

3 Modified Paths:

/source/blender/editors/sculpt_paint/paint_image.c (+8, -3) (Diff)
/source/blender/editors/sculpt_paint/paint_image_proj.c (+49, -3) (Diff)
/source/blender/editors/sculpt_paint/paint_intern.h (+1, -1) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021