Compile fix on Mingw:

"interface" appeared to be a shadowed var (or even a macro/define elsewhere)
which was causing errors like:
intern\cycles\blender\blender_mesh.cpp:124:23: error: multiple types in one
declaration
intern\cycles\blender\blender_mesh.cpp:124:23: error: declaration does not
declare anything [-fpermissive]


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


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@51879 954f8c5b-7b00-dc11-b283-0030488c597c
revert own commit r34706 (fix for [#25801]), this causes bug [#25801].

checking on this code further it still isn't working correctly, will commit other changes next.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@51880 954f8c5b-7b00-dc11-b283-0030488c597c
fix issue with shrinkwrap face projection distance comparisons when using both positive and negative projection.
- don't attempt to convert the 'dist' value between local/target space, since all the projections are done in target space
  and dist isnt used afterwards. Also, this could fail with non uniform scale - overwriting ray casts with larger dist values.
- added an assert to check larger dist values never overwrite smaller ones.
- remove use of sasqrt() since the value is checked beforehand anyway.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@51881 954f8c5b-7b00-dc11-b283-0030488c597c
fix for save-as-legacy mesh format doing customdata asserts.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@51882 954f8c5b-7b00-dc11-b283-0030488c597c
Camera Tracking: allow fallback to reprojection resection by user demand

This fixes some "regressions" introduced in rev50781 which lead to much
worse solution in some cases. Now it's possible to bring old behavior back.

Perhaps it's more like temporal solution for time being smarter solution is
found. But finding such a solution isn't so fast, so let's bring manual
control over reprojection usage.

But anyway, imo it's now nice to have a structure which could be used to
pass different settings to the solver.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@51883 954f8c5b-7b00-dc11-b283-0030488c597c
Camera Tracking: proper display of current frame in cache line when sequence is too long

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@51884 954f8c5b-7b00-dc11-b283-0030488c597c
Cycles: multi-gpu rendering doesn't know for sure which sample is being sampled,
        so only report tile number is being processed

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@51885 954f8c5b-7b00-dc11-b283-0030488c597c
Cycles: memory usage report

This commit adds memory usage information while rendering.

It reports memory used by device, meaning:

- For CPU it'll report real memory consumption
- For GPU rendering it'll report GPU memory consumption, but it'll
  also mean the same memory is used from host side.

This information displays information about memory requested by Cycles,
not memory really allocated on a device. Real memory usage might be
higher because of memory fragmentation or optimistic memory allocator.

There's really nothing we can do against this.

Also in contrast with blender internal's render cycles memory usage
does not include memory used by scene, only memory needed by cycles
itself will be displayed. So don't freak out if memory usage reported
by cycles would be much lower than blender internal's.

This commit also adds RenderEngine.update_memory_stats callback which
is used to tell memory consumption from external engine to blender.
This information is used to generate information line after rendering
is finished.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@51886 954f8c5b-7b00-dc11-b283-0030488c597c
Render engines: replace number of x/y tiles with tile size

Now tile size is setting up explicitly instead of using number of tiles.

This allows better control over GPU performance, where having tiles aligned
to specific size makes lots of sense.

Still to come: need to update startup.blend  to make tiles size 64x64.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@51887 954f8c5b-7b00-dc11-b283-0030488c597c
Cycles: fix crash rendering textured objects in OpenCL

Issue was caused by changed order of texture slots -- float textures
have got lower slots indices than byte textures. OpenCL was still assuming
byte textures goes before float.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@51888 954f8c5b-7b00-dc11-b283-0030488c597c
Blender internal is using camera focal length when panorama rendering is used

This means it doesn't make sense hiding focal length settings for panorama
camera if blender internal renderer is used.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@51889 954f8c5b-7b00-dc11-b283-0030488c597c
Subversion bump for render tiles, motion tracking fallback option and collisions.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@51890 954f8c5b-7b00-dc11-b283-0030488c597c
Use enums rather than defines for clips/tracking flags.

Helps a lot when debugging.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@51891 954f8c5b-7b00-dc11-b283-0030488c597c
Script to configure release build environment

This script was used to initialize build environment currently used
for glibc-2.11 builds.

It's supposed to be used on debian-based distros.

Usage is described in the top comment of the script.

It is highly recommended to use this script in the virtual machine
to prevent possible conflicts with your own configuration.

TODO:
- Add OSL configuration
- Script requires manual copying of some scripts still (see comments
  at the top of the script)

I would prefer this script be edited only in cases when it's really
needed, meaning i wouldn't be fan of changes like "just use latest
version of library XXX". It's not so safe to do such changes and it's
easy to upgrade libraries after environment was set up.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@51892 954f8c5b-7b00-dc11-b283-0030488c597c
Slight better solution for sequencer's transform with alt holded down

Set T_ALT_TRANSFORM flag event handling function rather than accessing
window manager form flushing sequencer transform data.

Visual feedback about what exactly will happen on placing strip between
two other strips could be also improved.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@51893 954f8c5b-7b00-dc11-b283-0030488c597c
Change a way how image sequence/movie source is detecting for movie clip

Use IMB_testiffname to check whether file could be handled by ImBuf or
whether it should be handled by anim routines.

It solves the issue when file without extension is used for movie clip.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@51894 954f8c5b-7b00-dc11-b283-0030488c597c
code cleanup: use enums for view3d_snap transverts.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@51895 954f8c5b-7b00-dc11-b283-0030488c597c
fix [#33051] view selected (focus) bug

this was really a feature request!, previously the first cage vertex was used no matter what, but no the code checks to use the closest vertex to the original.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@51896 954f8c5b-7b00-dc11-b283-0030488c597c
Fix/workaround for carve aborts on windows

The issue was caused by passing start iterator larger than end iterator
to std::copy in triangulation module. It'll do nothing on linux but will
throw an exception on windows. Now behavior will be identical on both
platforms.

Proper solution would be to figure out why exactly this happened, but it's
easier to be forwarded to Tobias and we'll need to get rid of triangulation
anyway.

This should solve issues:
#30100: boolean intersect crashes blender
#33001: Crash on applying Boolean difference modifier
#33045: Boolean modifier crash with mirrored objects

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