Blender Git Loki

Blender Git "soc-2013-paint" branch commits.

Page: 18 / 20

July 15, 2013, 15:08 (GMT)
Minor stuff, reorganize UI for secondary color/palette list, add color
icon for palettes.
July 15, 2013, 15:08 (GMT)
Merge trunk -r58222 into soc-2013-paint
July 13, 2013, 20:02 (GMT)
rename ID_PALETTE to ID_PAL, also expose palettes to RNA and present a
list of possible palettes under the colours in the UI.
July 13, 2013, 19:05 (GMT)
Add new ID type for palettes. Palette types are quite simple, an rgb
pointer, and a count of rgb values.
July 11, 2013, 21:56 (GMT)
Edge seam detection gives too many false positives. Lower the threshhold
as a temporary measure before a proper fix is written.
July 11, 2013, 17:56 (GMT)
Merge trunk -r58180 into soc-2013-paint
July 6, 2013, 19:55 (GMT)
Fix sample colour crash on meshes without uv layers
July 6, 2013, 18:21 (GMT)
Add option under view menu of image editor to turn display of texture
paint object UVs off. For cluttered meshes it may be useful to have.
July 6, 2013, 18:20 (GMT)
Merge trunk -r58040 into soc-2013-paint
July 6, 2013, 12:03 (GMT)
Proper fix for seams not getting generated for faces "folded" on an edge
in UV space, such as the faces at the symmetry plane of mirrored meshes.

The check is somewhat costly, as a TODO it will have to be cached and
not happen during stroke (though once per face is not that terrible).
July 6, 2013, 10:49 (GMT)
Revert yesterday's fix, it makes every face have a seam. The solution is
to check the winding in UV space, but this requires bigger changes, also
might be better to do offline, not during stroke.
July 6, 2013, 00:52 (GMT)
Improve seam detection criterion in projective texturing. For well
behaved face windings, coming from unwrapping, we expect the winding of
the faces to be opposing at the edge boundary. If not, this means that
the faces sharing the edge will occupy the same uv space. So, add a seam
there to make the boundary invisible when painting in projection
painting.
July 5, 2013, 23:02 (GMT)
Fix redo not working on image painting since the last few changes for
drag dot and anchored support. This gave a nice opportunity to add the
last optimization for runtime restoration of tiles, comparing by
pointers instead of ID and file names.
July 5, 2013, 21:13 (GMT)
Fix nasty bug, reported on blenderartists

Tile based colour and masks would only work if Face was entirely within
uv space of image. Now added checks to properly initialize tiles outside
the image boundaries by wrapping the image dimensions.
July 5, 2013, 18:21 (GMT)
Fix anchored strokes not working with mask textures.
July 5, 2013, 17:46 (GMT)
Anchored brushes for texture paint.

To support this I added size support to the RNA stroke so the stroke
size can be calculated in the stroke system and passed on to paint
systems. Also, the output mouse coordinate is directly modified now and
the size is tweaked accordingly. Looks sculpt does not directly use this
for anchored strokes as far as I have seen, but accidents could happen
there so I hope there will be some artist testing.

Also fixed error in texture coordinates for jittered strokes.
July 5, 2013, 14:26 (GMT)
Use undo tile colours and masks as projection pixel original colours and
accumulation masks respectively. This will solve artifacts when painting
on meshes where two faces reference the same region in UV space. Of
course, painting on a multithreaded system is bound to create some
conflicts if you paint with a brush that will put different colours on
the same region (for instance a textured brush), but at least you don't
get the final colour reset to the original due to a pixel still having a
zero accumulated mask in screen space.

For more correct results, synchronization (locking) on accululated mask
writing should occur but I don't think this is too crucial and it will
hurt performace somewhat if it is added. More tests are needed to assert
that it is indeed not necessary.
July 3, 2013, 19:49 (GMT)
Utilize the old undo push code to only actually push undo tiles that
contains pixels that changed. Still haven't fixed original pixels being different than the
original image, coming soon. This will also fix drag dot undo.
July 3, 2013, 19:35 (GMT)
Merge trunk -r57968 into 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.
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021