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. |
|