Two new Features:

* Support for Rake in projective paint (2D painting will be a separate
commit)
* Support for smooth stroke across all paint systems

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55256 954f8c5b-7b00-dc11-b283-0030488c597c
Expose input stroke samples for image painting.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55257 954f8c5b-7b00-dc11-b283-0030488c597c
Support for textures in vertex painting.

Developer notes: this commit does painting in sRGB space. Since colours
are stored im byte per component formats, expect this to have the usual
dark fringing issues. Speed wise vertex paint could use some
optimization, for instance we could store the screen space vertex
positions on initialization like we do for texture painting, but this is
for another time. Also noticed that vertex painting suffers from the
subsurf + mirror issue too :/

Apart from that it's quite exciting how easy it is to add support for
texturing now that proper abstractions for texture sampling have been
done :)

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55258 954f8c5b-7b00-dc11-b283-0030488c597c
Fix silly mistake that could lead to crash. Also, slight cleanup/rename
and comments

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55259 954f8c5b-7b00-dc11-b283-0030488c597c
Bah...careless! Sorry for that :/

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55260 954f8c5b-7b00-dc11-b283-0030488c597c
Bugfix: Selecting AnimData "expanders" in AnimEditors works again

Somewhere along the line, this functionality broke, even though the code to
handle these settings was still in place for many of these. The main implication
of this fix is that it should now be possible to select a particular AnimData
block, which makes it possible to do things such as changing the action
associated with that AnimData block (i.e. via the "Animation Data" panel in the
NLA Editor), as well as other operations which I've had on the todolist for a
while. Stay tuned!


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55261 954f8c5b-7b00-dc11-b283-0030488c597c
More AnimData selection fixes

* Not all supported datatypes would show up in the NLA Properties Region when
selected
* Clicking on the name part of the "Active Action" tracks now selects the
AnimData block that action is attached to


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55262 954f8c5b-7b00-dc11-b283-0030488c597c
style cleanup: odd indentation


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55263 954f8c5b-7b00-dc11-b283-0030488c597c
Remove OPTYPE_REGISTER flag from click handler operator for anim editors

1) It made no sense to show this as the last operator which was used, since
these can only be used from the anim editors (and not the 3D View where this
panel appears most of the time)
2) Mouse select operators in other places didn't do this
3) There aren't really any editable parameters for this operator anyway
4) It's highly dependent on valid mouse coordinates as input.

Apart from that, undo still works fine, so no need to really keep this here.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55264 954f8c5b-7b00-dc11-b283-0030488c597c
fix reading out of buffer bounds for recent vertex paint commit.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55265 954f8c5b-7b00-dc11-b283-0030488c597c
Bugfix: Filtering option in NLA Editor to include AnimData blocks with no
actions or NLA data attached was broken

Looks like a typo whcih somehow slipped in at some stage, as I remember that
this used to work at some point 2 years ago!


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55266 954f8c5b-7b00-dc11-b283-0030488c597c
NLA Editor: Operator to add AnimData to selected objects so that they can appear

This commit introduces an operator in the Add menu - this operator ensures that
all selected objects have AnimData attached to them (even if they don't have any
actions/drivers yet). By doing this, these objects can at least appear in the
NLA Editor, which will allow them to have strips added to them in future without
having to create throwaway actions first (NOTE: there's still some stuff coming
to allow that).

Also, renamed NLA_OT_delete_tracks -> NLA_OT_tracks_delete


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55267 954f8c5b-7b00-dc11-b283-0030488c597c
Quick fixes for previous commit
* Missing word in tooltip for operator
* Ensure that filters are set appropriately so that effect is visible
immediately


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55268 954f8c5b-7b00-dc11-b283-0030488c597c
tweaks to clang so blender can build with -Werror


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55269 954f8c5b-7b00-dc11-b283-0030488c597c
Border rendering now works for all scenes used in compositor,
before this only active scene would be rendered with border.

When do_render_fields_blur_3d() is finished, it'll modify
render's display rect so it'll correspond bordered render
result placed on black backgrund. Actual border is stored
nowhere, which makes it only way to re-calculate disprect
for all other renders used in compo based on source. Not
so big deal actually.

Also needed to modify Cycles a bit, because before this
patch it used border settings from scene being rendered.
Now made it so render data is passing to external engines.

Using a property inside RenderEngine structure for this.
Not best ever design for passing render data, but this
would prevent API breakage. So now external engines could
access engine.render to access active rendering settings.

Reviewed by Brecht, thanks!

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55270 954f8c5b-7b00-dc11-b283-0030488c597c
code cleanup: de-duplicate view clipping function for paint and knife tool, minor changes to knife initialization.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55271 954f8c5b-7b00-dc11-b283-0030488c597c
minor change to BLI_strncpy(). replace strlen() with BLI_strnlen().


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55272 954f8c5b-7b00-dc11-b283-0030488c597c
Fix #34616: Wrong face culling for curves with constructive modifiers

If curve object does have derived mesh, culling shall happen for
back faces, not front.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55273 954f8c5b-7b00-dc11-b283-0030488c597c
add BLI_strncpy_rlen(), a clone of BLI_strncpy() that returns the number of bytes copied.

also move doxy comments for BLI_string.h into the C file.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55275 954f8c5b-7b00-dc11-b283-0030488c597c
Code cleanup: replace magic constant used for alpha ignore flag with a define.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55276 954f8c5b-7b00-dc11-b283-0030488c597c