more minor speedups for new mask rasterizer


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@48908 954f8c5b-7b00-dc11-b283-0030488c597c
BGE: Better fix for the textures not working with custom shaders regression. Now custom shaders work, and textures aren't uploaded twice for GLSL materials (my earlier fix had some bad logic).

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@48909 954f8c5b-7b00-dc11-b283-0030488c597c
use gcc attributes for BLI alloc functions


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@48911 954f8c5b-7b00-dc11-b283-0030488c597c
Fix [#32086] Missing bevel "hold shift" for better accuracy.

This commit adds "shift" and numtype to both Bevel and Inset mesh operators.

It also gets rid of the magicnumber used in NumInput to str operation (currently, 20 chars per element, now defined as NUM_STR_REP_LEN in ED_numinput.h).

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@48913 954f8c5b-7b00-dc11-b283-0030488c597c
replace masking rasterizer with a more simple geometry based rasterizer (for the compositor).

notes:
- uncomment  #define USE_RASKTER in BKE_mask.h to use the previous mask rasterizer.
- slightly slower for regular masks but significantly faster for feather.
- main benefit is that it threads well so works nice for tile compositor.
- feather is lower quality, can use some improvements here.
- feather can also use some interpolation enhancements, will do later.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@48914 954f8c5b-7b00-dc11-b283-0030488c597c
header comment cleanup, explain whats the difference between confusingly named drarnode.c and node_draw.c.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@48915 954f8c5b-7b00-dc11-b283-0030488c597c
minor refactor for mask rasterizer


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@48916 954f8c5b-7b00-dc11-b283-0030488c597c
minor refactor, some comments and var names were misleading.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@48917 954f8c5b-7b00-dc11-b283-0030488c597c
add dynamic bucket xy resolution based on pixel size, also remove some redundant copying.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@48918 954f8c5b-7b00-dc11-b283-0030488c597c
Fix #31021: Render settings are not taken into account for curves

Refactored code a bit to make naming a bit more clear and added a
function to create mesh from given display list rather than from
object's displist.

Tested using plain curves (which doesn't imply using derived meshes)
and curves with constructive modifiers (which are using derived meshed).

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@48920 954f8c5b-7b00-dc11-b283-0030488c597c
mask rasterizer - test if buckets overlap the face before adding the face into the bucket.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@48921 954f8c5b-7b00-dc11-b283-0030488c597c
rename vars for line dist funcs to make more sense


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@48922 954f8c5b-7b00-dc11-b283-0030488c597c
mask rasterization: use a simpler method to check if a bucket intersects with a triangle.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@48923 954f8c5b-7b00-dc11-b283-0030488c597c
zealous bounds checking broke the invert option.


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


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@48925 954f8c5b-7b00-dc11-b283-0030488c597c
mask rasterizer, render unclosed splines as lines.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@48926 954f8c5b-7b00-dc11-b283-0030488c597c
use a different setting for fill/cyclic - you may want to have unfilled cyclic curves.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@48927 954f8c5b-7b00-dc11-b283-0030488c597c
unfilled-cyclic curves now works as expected, also fix for own crash on 32bit systems.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@48929 954f8c5b-7b00-dc11-b283-0030488c597c
fix for minor error in previous commit (wasnt connecting right faces for cyclic mask), also avoid doing more area calculations then needed when checking if the mouse is moving away from uiBlock.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@48930 954f8c5b-7b00-dc11-b283-0030488c597c
fix for some bugs when the mask layer was outside the view, also clamp the layer buckets within the view.


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