Patch Bullet to make it's convex hull implementation usable in BMesh

* Add access to the original indices for vertices

* Add a very simple C API for convex hull

* Add this patch to the patches folder and update readme.txt

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@51557 954f8c5b-7b00-dc11-b283-0030488c597c
Partially replace convex hull implementation with Bullet implementation

* Bullet's convex hull implementation is significantly more robust
  than the one I implemented, as well as being faster.

* This fixes bug [#32864] "Convex Hull fails in some cases."
  projects.blender.org/tracker/?func=detail&aid=32864&group_id=9&atid=498

  That bug, and others like it, relate to the poor handling of
  co-planar surfaces in the input. Pretty much any model that is
  simple-subdivided a few times gave very bad results before, Bullet's
  implementation handles this much better.

* In order to ensure a smooth transition, the Bullet output is
  translated into the existing HullTriangle hash structure. This makes
  it easy to ensure that the existing slot output stays the same; the
  interactions between the slots are somewhat complicated, detangling
  is a TODO.

* Reviewed by Brecht:
  https://codereview.appspot.com/6741063

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@51558 954f8c5b-7b00-dc11-b283-0030488c597c
Final fix for [#31017] Particles not generated on Grid Distribution
* In some cases a quad would be intersected twice so particles near this double-intersection point were not generated in grid distribution due to being marked as outside the surface.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@51559 954f8c5b-7b00-dc11-b283-0030488c597c
rename axis_primary_v3() to max_axis_v3() to avoid confusion with axis_dominant_v3(). also add min_axis_v3().


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@51560 954f8c5b-7b00-dc11-b283-0030488c597c
enable rendering from the sequencer again. this was working since 2.4x and shouldn't have been disabled.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@51561 954f8c5b-7b00-dc11-b283-0030488c597c
- enable GPU mipmap generation by default (Sergey and I wanted to change this before but it was too close to release).
- set opengl-solid display for the sequencer preview.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@51562 954f8c5b-7b00-dc11-b283-0030488c597c
comment R_SEQ_GL_REND flag, opengl render now does gl previews.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@51563 954f8c5b-7b00-dc11-b283-0030488c597c
fix [#32855] Obj im and export and the file path and name

file selector now uses previously used settings for operators rather then over riding them with the currently open blend file.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@51564 954f8c5b-7b00-dc11-b283-0030488c597c
use min_ii/max_ii over MIN2 MAX2


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@51565 954f8c5b-7b00-dc11-b283-0030488c597c
use int's for kdopbvh start/stop axis since there were loops comparing with other ints.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@51566 954f8c5b-7b00-dc11-b283-0030488c597c
enable decimate modifier for curves.


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


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@51568 954f8c5b-7b00-dc11-b283-0030488c597c
code cleanup: move doxy comments into the C files.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@51569 954f8c5b-7b00-dc11-b283-0030488c597c
add CDDM_from_bmesh(), avoids using BMEditMesh in modifiers.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@51570 954f8c5b-7b00-dc11-b283-0030488c597c
use smaller type for kdopbvh - this change was made as a size optimization, and I moved back to ints since there were many int comparisons.

now define axis_t and an unsugned char.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@51571 954f8c5b-7b00-dc11-b283-0030488c597c
Adding a pixelate node.

This makes it possible to create pixelized scale in the Tile compositor.

Just append the node in front of a scale node or where you want the pixelization to take place.

There were some bugs on this subject, but they used the work around to add a blur size of 0 in the place where they need the pixelization.



git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@51572 954f8c5b-7b00-dc11-b283-0030488c597c
Updated crop image setting to make every pixel outside the crop black as
it is expected.

Fix for [#32955] Compositer "Crop" node option "Crop Image Size" doesn't
really crop the input image


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


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

Text object render error.

Issue was caused by FLT_EPSILON being used to check for zero-sized faces, for
getting a reliable normal of front/backfaces of polygons. This value is too
small, giving occasional bad looking faces.

In other parts of code FLT_EPSILON10 was being used, that works much better.

Note for the future: here using doubles internally would be advised.



git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@51575 954f8c5b-7b00-dc11-b283-0030488c597c
Removed the experimental (and commented-out) code for FOR and WHILE loops in nodes. This was a feature i tested a while back but was only partially supported by Blender Internal renderer and the old compositor. The main idea was to have nodes that automatically mirror input and output sockets to support incremental changes of "internal variables".

It is not a well-supported feature of the primary node systems (shader, compositor, texture) in Blender. If anybody wants to create a node system that has actual use for loops, they can do so much more elegantly with Python nodes, but it does not have to be a core node type in Blender. Removing this should ease node code maintenance a bit.

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