5 years agoCMake: Add option to enable -Werror cflag in some areas
Sergey Sharybin [Sat, 18 Jul 2015 08:35:03 +0000 (10:35 +0200)]
CMake: Add option to enable -Werror cflag in some areas

It is rather annoying attitude nowadays to use const qualifier all over the
place, including using it for multi-dimensional arrays. This isn't really
supported in GCC prior to version 5.0 because it considers such an arrays
to be a "pointer to a const pointer" which gives implicit casting errors.

It's not possible to disable this particular type of warnings treated as
errors in any GCC version prior to 5.0 as well, meaning currently usage of
-Werror globally in Blender code is not possible at all.

This commit makes it possible to use -Werror in areas which are complaint
with older GCC versions. New advanced CMake options are:


5 years agoCleanup: whitespace, wrong indent level
Campbell Barton [Sat, 18 Jul 2015 08:41:14 +0000 (18:41 +1000)]
Cleanup: whitespace, wrong indent level

5 years agoCleanup: whitespace (CMake)
Campbell Barton [Sat, 18 Jul 2015 08:21:17 +0000 (18:21 +1000)]
Cleanup: whitespace (CMake)

5 years agoCMake: Fix indentation around LLVM detection code
Sergey Sharybin [Sat, 18 Jul 2015 07:40:33 +0000 (09:40 +0200)]
CMake: Fix indentation around LLVM detection code

5 years agoCleanup: ws
Campbell Barton [Fri, 17 Jul 2015 19:54:31 +0000 (05:54 +1000)]
Cleanup: ws

5 years agoOnly use material callback when enabled
Campbell Barton [Fri, 17 Jul 2015 19:39:01 +0000 (05:39 +1000)]
Only use material callback when enabled

Vert/Face select in painting modes weren't drawing after recent changes.

5 years agoAdd check for GPU materials enable state
Campbell Barton [Fri, 17 Jul 2015 19:29:34 +0000 (05:29 +1000)]
Add check for GPU materials enable state

5 years agoAvoid getting the original index if its not needed
Campbell Barton [Fri, 17 Jul 2015 18:57:58 +0000 (04:57 +1000)]
Avoid getting the original index if its not needed

5 years agoAbsent-mindedness...Remove testing code
Antony Riakiotakis [Fri, 17 Jul 2015 17:13:22 +0000 (19:13 +0200)]
Absent-mindedness...Remove testing code

5 years agoFix GLSL code not working correctly for Macs without VBO, again report
Antony Riakiotakis [Fri, 17 Jul 2015 17:12:04 +0000 (19:12 +0200)]
Fix GLSL code not working correctly for Macs without VBO, again report
by scorpion81 on irc

5 years agoFix T45469: Vertex Group weight = 0.0 in scene 2.
Bastien Montagne [Fri, 17 Jul 2015 16:49:58 +0000 (18:49 +0200)]
Fix T45469: Vertex Group weight = 0.0 in scene 2.

5 years agoFix T45464: Blender Sequencer "Select Strips to the Left" produces opposite behavior...
Bastien Montagne [Fri, 17 Jul 2015 16:31:48 +0000 (18:31 +0200)]
Fix T45464: Blender Sequencer "Select Strips to the Left" produces opposite behavior to what is intended.

Logic was just broken for the LEFT case here.

Also cleaned up and made behavior more consistant between strips and markers.

5 years agoFix issue reported by scorpion81 on irc: material mode + flat shading
Antony Riakiotakis [Fri, 17 Jul 2015 16:30:40 +0000 (18:30 +0200)]
Fix issue reported by scorpion81 on irc: material mode + flat shading
artifacts in cycles textured mode.

5 years agoAvoid double index lookup mesh/selection drawing
Campbell Barton [Fri, 17 Jul 2015 14:01:44 +0000 (00:01 +1000)]
Avoid double index lookup mesh/selection drawing

5 years agoAvoid accessing MTFace drawing subsurf
Campbell Barton [Fri, 17 Jul 2015 13:52:41 +0000 (23:52 +1000)]
Avoid accessing MTFace drawing subsurf

5 years agoFix another index error, made multimaterial mapped meshes draw
Antony Riakiotakis [Fri, 17 Jul 2015 13:15:53 +0000 (15:15 +0200)]
Fix another index error, made multimaterial mapped meshes draw

5 years agoChange winding of looptris in subsurf so they point to the same
Antony Riakiotakis [Fri, 17 Jul 2015 12:56:10 +0000 (14:56 +0200)]
Change winding of looptris in subsurf so they point to the same
direction as the surface.

5 years agoFix crash texpainting on subsurfed meshes.
Antony Riakiotakis [Fri, 17 Jul 2015 12:46:05 +0000 (14:46 +0200)]
Fix crash texpainting on subsurfed meshes.

Unfortunately, loops and polys are generated, therefore we need to keep
copies. Still not painting after this commit but at least no crash now.

5 years agoCleanup: ws & correct comment
Campbell Barton [Fri, 17 Jul 2015 12:08:52 +0000 (22:08 +1000)]
Cleanup: ws & correct comment

5 years agoProjection Paint: move to looptri data
Campbell Barton [Fri, 17 Jul 2015 10:23:33 +0000 (20:23 +1000)]
Projection Paint: move to looptri data

5 years agoDon't create MFace's when calculating normals
Campbell Barton [Fri, 17 Jul 2015 10:14:17 +0000 (20:14 +1000)]
Don't create MFace's when calculating normals

Instead only create MFace layer when its requested

Campbell Barton [Fri, 17 Jul 2015 10:17:33 +0000 (20:17 +1000)]

gives the index of a vertex in a looptri

5 years agoFix T45465
Antony Riakiotakis [Fri, 17 Jul 2015 11:24:01 +0000 (13:24 +0200)]
Fix T45465

Easy one, we don't draw quads anymore. Also normal
didn't use polygon index

5 years agoFix no longer being possible to display a suzanne with 8 levels of
Antony Riakiotakis [Fri, 17 Jul 2015 10:25:05 +0000 (12:25 +0200)]
Fix no longer being possible to display a suzanne with 8 levels of

Classic integet overflow/size_t substitution case. Machines are getting
powerful enough to easily expose these kinds of error now.

5 years agoCleanup image's poll funcs.
Bastien Montagne [Fri, 17 Jul 2015 10:18:58 +0000 (12:18 +0200)]
Cleanup image's poll funcs.

Checking space returned from CTX_wm_space_image() is SPACE_IMAGE type... tssst. :)

5 years agoFix T45462: Do not enale 'replace image' op with packed images.
Bastien Montagne [Fri, 17 Jul 2015 10:11:52 +0000 (12:11 +0200)]
Fix T45462: Do not enale 'replace image' op with packed images.

5 years agoLet's use proper helpers for debug-only vars...
Bastien Montagne [Fri, 17 Jul 2015 09:58:15 +0000 (11:58 +0200)]
Let's use proper helpers for debug-only vars...

5 years agoFix for nodeitems module using the NODE_MT_add menu types from bl_ui.
Lukas Tönne [Fri, 17 Jul 2015 09:45:02 +0000 (11:45 +0200)]
Fix for nodeitems module using the NODE_MT_add menu types from bl_ui.

This is basically a bad-level call: ui scripts are registered *after*
the modules. It only works for addons because those are loaded even

Now the nodeitems_utils module just defines a function which is then
called by the UI script, rather than the other way around.

5 years agoMake strict flags happy in release builds
Sergey Sharybin [Fri, 17 Jul 2015 07:54:21 +0000 (09:54 +0200)]
Make strict flags happy in release builds

5 years agoRemove MTFace DM_paint_uvlayer_active_get func
Campbell Barton [Thu, 16 Jul 2015 18:26:17 +0000 (04:26 +1000)]
Remove MTFace DM_paint_uvlayer_active_get func

5 years agoFix for error in looptri commit
Campbell Barton [Thu, 16 Jul 2015 18:22:24 +0000 (04:22 +1000)]
Fix for error in looptri commit

Sculpting w/ subsurf crashed

5 years agoSplit ray_face_intersection into quad/tri versions
Campbell Barton [Thu, 16 Jul 2015 18:15:24 +0000 (04:15 +1000)]
Split ray_face_intersection into quad/tri versions

Since many callers only need a single triangle

5 years agoAdd tessellation data to DerivedMesh (LoopTri)
Campbell Barton [Thu, 16 Jul 2015 17:36:03 +0000 (03:36 +1000)]
Add tessellation data to DerivedMesh (LoopTri)

This stores loop indices into the loop array giving easier acess
to data such as vertex-colors and UV's,
removing the need to store an MFace duplicate of custom-data.

This doesn't yet move all internal code from MFace to LoopTri just yet.

Only applies to:
- opengl drawing
- sculpting (pbvh)
- vertex/weight paint

Thanks to @psy-fi for review, fixes and improvements to drawing!

5 years agoFix T45428: Sometimes in a dupligroup linked actuators are not triggered
Dalai Felinto [Thu, 16 Jul 2015 15:37:42 +0000 (12:37 -0300)]
Fix T45428: Sometimes in a dupligroup linked actuators are not triggered

Revert "BGE: Cleanup : merge 3 loop in 1 in function DupliGroupRecurse."

This reverts commit 371e5f25a054759014efa27c6fe4d497854ed64e.

The fix is basically to revert the cleanup commit 371e5f25 (and 3d658bf7)
Also 5dc22fbbf had to be adapted to the reverted code.


5 years agoFix T45459: Edge Length with Separate Units Displayed As 1m 100cm.
Bastien Montagne [Thu, 16 Jul 2015 15:45:51 +0000 (17:45 +0200)]
Fix T45459: Edge Length with Separate Units Displayed As 1m 100cm.

Our 'unit epsilon' was too small, given the fact we only display up to four digits usually...

5 years agoFix T45451: File Browser crash on 16bits PNG image previews.
Bastien Montagne [Thu, 16 Jul 2015 15:26:53 +0000 (17:26 +0200)]
Fix T45451: File Browser crash on 16bits PNG image previews.

Issue was that with those files, Blender generate a float image by default, not a byte one...

Now, we ensure in two places we only get a byte imbuf for our thumbnails!

5 years agoFix for the previous commit: overallocation of an array
Sergey Sharybin [Thu, 16 Jul 2015 15:26:20 +0000 (17:26 +0200)]
Fix for the previous commit: overallocation of an array

5 years agoFix T45446: Crash when baking a certain object
Sergey Sharybin [Thu, 16 Jul 2015 15:21:34 +0000 (17:21 +0200)]
Fix T45446: Crash when baking a certain object

Issue was caused by deform vert layer existing in the mesh.
Solved in quite simple way, but it still might be missing
some other layers.

Any custom data experts around to check if it's correct?

5 years agoSculpt draw code:
Antony Riakiotakis [Thu, 16 Jul 2015 14:22:28 +0000 (16:22 +0200)]
Sculpt draw code:

Remove legacy code completely, now dyntopo, multires et al even work on
GL 1.1 for really hardcore users :p

Real purpose here though is to be able to have fast multires drawing
even with VBO off, since it requires using indices for vertex buffers.

Also made own code elf puke an eaten normal update function which
made multires not update normals in solid mode...sorry.

5 years agoFix T45456: Error's in splash don't restore cursor
Campbell Barton [Thu, 16 Jul 2015 07:28:20 +0000 (17:28 +1000)]
Fix T45456: Error's in splash don't restore cursor

5 years agoDisable check for recent-files.txt existing
Campbell Barton [Thu, 16 Jul 2015 06:57:10 +0000 (16:57 +1000)]
Disable check for recent-files.txt existing

slows startup on remote, network fs... etc.

5 years agoFix T45447: Area light importance sampling improvement
Stefan Werner [Thu, 16 Jul 2015 06:31:02 +0000 (08:31 +0200)]
Fix T45447: Area light importance sampling improvement

Turning on importance sampling on area lights increases noise on diffuse
surfaces. This was caused by PDF calculated for an intersected point on
light instead of original light position.

Patch by Stefan with some own modifications.

5 years agoOptimize Vertex Color update
Campbell Barton [Thu, 16 Jul 2015 05:47:23 +0000 (15:47 +1000)]
Optimize Vertex Color update

Avoid recalculating the material color when its the same as the last.

5 years agoIcons: Add new 'library_data_broken' one.
Bastien Montagne [Wed, 15 Jul 2015 18:01:49 +0000 (20:01 +0200)]
Icons: Add new 'library_data_broken' one.

5 years ago VBO offscreen selection drawing, cdderivedmesh
Antony Riakiotakis [Wed, 15 Jul 2015 16:50:02 +0000 (18:50 +0200)]
VBO offscreen selection drawing, cdderivedmesh

    Get rid of legacy drawing, it's only used for selection,
    in which case we can prepare a temporary color buffer and draw
    at once. Code is not complete here because we still redundantly
    set the draw color in the draw function and don't ommit hidden
    faces automatically. Still it works 100% without immediate mode

5 years agoFix own stupid error in yesterday's refactor of recursive dir creation.
Bastien Montagne [Wed, 15 Jul 2015 15:43:04 +0000 (17:43 +0200)]
Fix own stupid error in yesterday's refactor of recursive dir creation.

Missed adding return value in one place.

Thanks a lot to Thomas Szepe for reporting the issue and finding the solution!

Question remains: how could MSVC allow such a code to compile in some cases
(own win64 + scons buildbot win32 were OK with that it seems!).
Crappy compiler, not comming to the rescue of stupid dev...

5 years agoCycles: Merging of patch from OSX went wrong in the previous change
Sergey Sharybin [Wed, 15 Jul 2015 13:12:19 +0000 (15:12 +0200)]
Cycles: Merging of patch from OSX went wrong in the previous change

That's what happens when you can't commit from a system you're making
changes at and someone is behind your back...

Sorry for the noise.

5 years agoCycles: Missed this in the previous commit
Sergey Sharybin [Wed, 15 Jul 2015 13:10:28 +0000 (15:10 +0200)]
Cycles: Missed this in the previous commit

5 years agoFix T45439 crash with subsurf when many materials present.
Antony Riakiotakis [Wed, 15 Jul 2015 12:57:49 +0000 (14:57 +0200)]
Fix T45439 crash with subsurf when many materials present.

Silly oversight on the viewport patch

5 years agoCycles: Enable OpenCL rendering on Apple OSX
Sergey Sharybin [Wed, 15 Jul 2015 09:16:12 +0000 (11:16 +0200)]
Cycles: Enable OpenCL rendering on Apple OSX

Requires having latest El Capitan beta 3 OSX due to ome crucial fixes made in the
compiler. Supports same features as NVidia OpenCL apart from CMJ (there's no
experimental feature set support in megakernel yet).

Uses megakernel internally, which works much better than the split kernel. Split
kernel is not supported on OSX still, needs to be investigated still.

Some more details can be found there:

5 years agoFix autosmooth with recent DM optimizations
Campbell Barton [Wed, 15 Jul 2015 04:32:11 +0000 (14:32 +1000)]
Fix autosmooth with recent DM optimizations

Also avoid multiple float->short conversions for the same normal.

5 years agoDerivedMesh: minor changes to callback use
Campbell Barton [Wed, 15 Jul 2015 02:42:41 +0000 (12:42 +1000)]
DerivedMesh: minor changes to callback use

- use void instead of float for array arg (cast in the switch statement)
- remove unused args
- use const for poly-mapping and user_data args

5 years agoCleanup: ws
Campbell Barton [Wed, 15 Jul 2015 02:08:32 +0000 (12:08 +1000)]
Cleanup: ws

5 years agoCleanup: ws
Campbell Barton [Wed, 15 Jul 2015 01:43:23 +0000 (11:43 +1000)]
Cleanup: ws

5 years agoMinor English grammar typo fixes.
Nikolaus Leopold [Wed, 15 Jul 2015 01:33:10 +0000 (03:33 +0200)]
Minor English grammar typo fixes.

This fixes T45433.

Reviewers: Severin, kevindietrich

Reviewed By: kevindietrich

Projects: #bf_blender, #user_interface

Differential Revision:

5 years agoFix overdrawing and errors with textured and mapped drawing
Antony Riakiotakis [Tue, 14 Jul 2015 21:48:38 +0000 (23:48 +0200)]
Fix overdrawing and errors with textured and mapped drawing

5 years agoUsual i18n messages fixes...
Bastien Montagne [Tue, 14 Jul 2015 19:41:24 +0000 (21:41 +0200)]
Usual i18n messages fixes...

5 years agoFix T45424: Blender able to create folders with invalid characters at the end of...
Bastien Montagne [Tue, 14 Jul 2015 16:48:51 +0000 (18:48 +0200)]
Fix T45424: Blender able to create folders with invalid characters at the end of the name.

In fact, filebrowser was not making any checks for invalid file/dir names here!

Added checks in the three places that should be protected:
* Renaming.
* Creating dirs.
* Typing in filename field.

5 years agoBLI_path_utils: fix/enhance BLI_filename_make_safe(), add BLI_path_make_safe().
Bastien Montagne [Tue, 14 Jul 2015 16:42:22 +0000 (18:42 +0200)]
BLI_path_utils: fix/enhance BLI_filename_make_safe(), add BLI_path_make_safe().

BLI_filename_make_safe had several issues:
* Would replace all dots ('.'), not a great idea since it would break extensions.
* Was not checking for 'control' ASCII chars (though unlikely, better to be safe here).
* Win32 only: was not checking for forbidden names (con, aux, ltp0, com0, etc.).

New BLI_path_make_safe() simply checks each path's item with BLI_filename_make_safe().

5 years agoBLI_fileops: Make BLI_dir_create_recursive() return success/error status.
Bastien Montagne [Tue, 14 Jul 2015 16:36:48 +0000 (18:36 +0200)]
BLI_fileops: Make BLI_dir_create_recursive() return success/error status.

Handy to know directly whether a file creation succeeded or not.

Also, made a few more changes in this func, and harmonized a bit win32/*nix versions.

5 years agoParticle Info node support for GLSL mode and the internal render.
Alexander Romanov [Tue, 14 Jul 2015 16:48:54 +0000 (18:48 +0200)]
Particle Info node support for GLSL mode and the internal render.

With this patch "Particle Info" node from Cycles works in GLSL and BI

Alexander (Blend4Web Team)

Reviewers: psy-fi
Note: moved particle info to object render instance instead of
shadeinput during review - Antony.

Differential Revision:

5 years agoDisplay optimizations part 1.
Antony Riakiotakis [Tue, 14 Jul 2015 14:48:23 +0000 (16:48 +0200)]
Display optimizations part 1.

This patch changes the way we draw meshes by introducing
indexed drawing. This makes it possible to easily
upload and rearrange faces ad lib according to any criteria.

Currently we use material sorting but textured sorting and
hiding will be added to optimize textured drawing and skip
per face testing.

It also adds support for vertex buffers for subsurf
modifiers (Except from GLSL drawing), making drawing of
subsurf much faster without need for bogus modifiers.

Tests show that we gain approximately 20-25% performance
by that for solid mode drawing with up to 50% gains for
material drawing. Textured drawing should also have a
small performance gain, but more substantial optimizations
are possible there.

Reviewers: campbellbarton

Differential Revision:

5 years agoCorrect last commit
Campbell Barton [Tue, 14 Jul 2015 13:37:11 +0000 (23:37 +1000)]
Correct last commit

5 years agoMove from MTFace to MTexPoly w/ texture checks
Campbell Barton [Tue, 14 Jul 2015 12:27:25 +0000 (22:27 +1000)]
Move from MTFace to MTexPoly w/ texture checks

Part of moving away from MFace.

5 years agoMatch face tessellation order in edimode
Campbell Barton [Tue, 14 Jul 2015 12:09:14 +0000 (22:09 +1000)]
Match face tessellation order in edimode

add a negated version of axis_dominant_v3_to_m3

5 years agoCleanup: headers (wm)
Campbell Barton [Tue, 14 Jul 2015 08:37:14 +0000 (18:37 +1000)]
Cleanup: headers (wm)

5 years agoFix for recent optimization commit in endian switch
Sergey Sharybin [Tue, 14 Jul 2015 09:33:50 +0000 (11:33 +0200)]
Fix for recent optimization commit in endian switch

Pre-4.8 GCC had a bug which lead to non-exposed __builtin_bswap16() symbol.

See for details.

5 years agoFix T45423: depsgraph: crash in IDDepsNode::tag_update
Sergey Sharybin [Tue, 14 Jul 2015 09:19:27 +0000 (11:19 +0200)]
Fix T45423: depsgraph: crash in IDDepsNode::tag_update

Two issues fixed in this commit:

- Clearing or adding animation via python should ensure relations are valid.
- Animation component animation data might be null caused by removing animation
  from python.

5 years agoMake tooltip parsable by human compilers (thanks to Pablo for
Antony Riakiotakis [Tue, 14 Jul 2015 09:18:27 +0000 (11:18 +0200)]
Make tooltip parsable by human compilers (thanks to Pablo for

5 years agoData Transfer: very minor cleanup...
Bastien Montagne [Tue, 14 Jul 2015 09:13:20 +0000 (11:13 +0200)]
Data Transfer: very minor cleanup...

5 years agoWorkaround for non-bleeding edge compilers and const cast of pointer arrays.
Sergey Sharybin [Tue, 14 Jul 2015 07:55:21 +0000 (09:55 +0200)]
Workaround for non-bleeding edge compilers and const cast of pointer arrays.

5 years agoCycles: Add logging to detected OpenCL platforms and devices
Sergey Sharybin [Tue, 14 Jul 2015 07:49:15 +0000 (09:49 +0200)]
Cycles: Add logging to detected OpenCL platforms and devices

Happens on verbosity level 2, should help looking into some of the
bug reports in the tracker.

5 years agoCleanup: replace BLI_split_file_part w/ BLI_path_basename
Campbell Barton [Mon, 13 Jul 2015 23:34:53 +0000 (09:34 +1000)]
Cleanup: replace BLI_split_file_part w/ BLI_path_basename

5 years agoCleanup: use ascii as suffix (as with utf8)
Campbell Barton [Mon, 13 Jul 2015 23:17:00 +0000 (09:17 +1000)]
Cleanup: use ascii as suffix (as with utf8)

5 years agoBKE_deform: assert on invalid args
Campbell Barton [Mon, 13 Jul 2015 22:41:15 +0000 (08:41 +1000)]
BKE_deform: assert on invalid args

Will phase these out eventually

5 years agoDraw emboss when area is full but in quad-split
Campbell Barton [Mon, 13 Jul 2015 21:28:30 +0000 (07:28 +1000)]
Draw emboss when area is full but in quad-split

5 years agoFix T45348: Collapse gives sel verts in face mode
Campbell Barton [Mon, 13 Jul 2015 21:02:35 +0000 (07:02 +1000)]
Fix T45348: Collapse gives sel verts in face mode

5 years agoEditMesh: show angles of adjacent selected verts
Campbell Barton [Mon, 13 Jul 2015 20:30:02 +0000 (06:30 +1000)]
EditMesh: show angles of adjacent selected verts

Useful since moving vertices will change angles on adjacent,
unselected face-corners too.

5 years agoFix T45247: Softbody ignores lattice weight
Campbell Barton [Mon, 13 Jul 2015 20:18:58 +0000 (06:18 +1000)]
Fix T45247: Softbody ignores lattice weight

Now multiply the lattice wight by the goal weight too.

5 years agoSoftbody goal weights cleanup
Campbell Barton [Mon, 13 Jul 2015 20:10:56 +0000 (06:10 +1000)]
Softbody goal weights cleanup

- avoid searching for vertex group for each vertex.
- add support for mass and spring weights to lattice.
- multiply the vertex group weight by the overall goal weight value.

5 years agoAdd some pedantic casts, since some guys around like to take all warnings from their...
Bastien Montagne [Mon, 13 Jul 2015 20:00:49 +0000 (22:00 +0200)]
Add some pedantic casts, since some guys around like to take all warnings from their compilers as errors, even the stupidest ones!

5 years agoincrease mathutils callback count (BGE devs, read the log)
Dalai Felinto [Mon, 13 Jul 2015 19:11:59 +0000 (16:11 -0300)]
increase mathutils callback count (BGE devs, read the log)

This was causing the BGE to crash on Debug mode when built with "break on asserts", meaning the BGE was not debuggeable.
Please make sure to test patches in debug mode with the proper flags enabled before committing

5 years agoRNA assert: make object game state to comply with RNA_property_boolean_get_index...
Dalai Felinto [Mon, 13 Jul 2015 18:51:31 +0000 (15:51 -0300)]
RNA assert: make object game state to comply with RNA_property_boolean_get_index() 1/0 requirement

5 years agoFix T45402: Transform crash w/ project+align snap
Campbell Barton [Mon, 13 Jul 2015 18:27:32 +0000 (04:27 +1000)]
Fix T45402: Transform crash w/ project+align snap

Only euler rotations were checked for.
Also delta rotations caused random/unusable output.

5 years agoFix T45394: Motion tracking constraints did not work with Cycles motion blur
Sergey Sharybin [Mon, 13 Jul 2015 16:17:07 +0000 (18:17 +0200)]
Fix T45394: Motion tracking constraints did not work with Cycles motion blur

5 years agoData Transfer: Add an option to 'auto-transform' destination mesh so that it matches...
Bastien Montagne [Mon, 13 Jul 2015 16:00:08 +0000 (18:00 +0200)]
Data Transfer: Add an option to 'auto-transform' destination mesh so that it matches best the source one.

This allows to match and transfer data between two meshes with similar shape but complete arbitrary different transform.

Note that the result will be best if the meshes (more precisely, their vertices) are exact copies of each other.
Otherwise, method used can only perform an approximated best match, which means you'll likely get better
results if you 'visually' make them match in 3D space (and use 'Object Transform') instead.

5 years agoAdd BLI_math_statistics, where stats tool shall be!
Bastien Montagne [Mon, 13 Jul 2015 15:53:22 +0000 (17:53 +0200)]
Add BLI_math_statistics, where stats tool shall be!

For now, only contains some 3x3 matrix covariance computing.

5 years agoAdd BLI_math_solver, where non-linear solvers should be.
Bastien Montagne [Mon, 13 Jul 2015 15:48:13 +0000 (17:48 +0200)]
Add BLI_math_solver, where non-linear solvers should be.

For now, only has an eigen solver for 3×3 (symmetric) matrix.

5 years agoAdd a skeleton of C API for Eigen3.
Bastien Montagne [Mon, 13 Jul 2015 15:40:06 +0000 (17:40 +0200)]
Add a skeleton of C API for Eigen3.

Title says pretty much everything. For now, only thing available is a solver of eigen
values/vectors for self-adjoint matrices.

We can easily add more when needed.

Thanks to Sergey and Campbell for quick review.

5 years agoAdd icon scale argument for ui-template-previews
Campbell Barton [Mon, 13 Jul 2015 15:46:25 +0000 (01:46 +1000)]
Add icon scale argument for ui-template-previews

5 years agoAllow spin/screw to run outside 3D view
Campbell Barton [Mon, 13 Jul 2015 14:55:04 +0000 (00:55 +1000)]
Allow spin/screw to run outside 3D view

This lets scripts call them

5 years agoFix T45364: NEW DEPSGRAPH: New Torus created can't be transformed
Sergey Sharybin [Mon, 13 Jul 2015 13:59:58 +0000 (15:59 +0200)]
Fix T45364: NEW DEPSGRAPH: New Torus created can't be transformed

Linking objects to a scene via python should ensure relations are properly
updated for that scene.

5 years agoFix T45333: Volume Scatter crash blender
Sergey Sharybin [Mon, 13 Jul 2015 13:53:48 +0000 (18:53 +0500)]
Fix T45333: Volume Scatter crash blender

5 years agoFreestyle: Fix compilation error with strict compiler flags
Sergey Sharybin [Mon, 13 Jul 2015 13:24:19 +0000 (15:24 +0200)]
Freestyle: Fix compilation error with strict compiler flags

5 years agoFix T45390: Cycles experimental displacement method ignores scaling when render
Sergey Sharybin [Mon, 13 Jul 2015 13:22:36 +0000 (15:22 +0200)]
Fix T45390: Cycles experimental displacement method ignores scaling when render

From artists perspective it makes sense to always apply displacement in a local

TODO: Double-check that BVH is being packed properly. From quick tests seems it's
all fine, but might be missing some obvious failure still.

5 years agoCleanup: IMB prefix for ImBuf defines
Campbell Barton [Mon, 13 Jul 2015 12:00:07 +0000 (22:00 +1000)]
Cleanup: IMB prefix for ImBuf defines

5 years ago Imbuf types refactor.
Antony Riakiotakis [Mon, 13 Jul 2015 11:58:17 +0000 (13:58 +0200)]
Imbuf types refactor.

    ImBuf types were getting stored as bitflags in a 32bit integer which had
    already run out of space. Solved the problem by separating file type to
    an ftype enum, and file specific options to foptions.

    Reviewed by Campbell, thanks a lot!

5 years agoUse regex for cmake config parsing
Campbell Barton [Mon, 13 Jul 2015 10:03:15 +0000 (20:03 +1000)]
Use regex for cmake config parsing

5 years agoFix T45397: Frameserver rendering no longer works in 2.75 or 2.75a
Sergey Sharybin [Mon, 13 Jul 2015 09:10:33 +0000 (11:10 +0200)]
Fix T45397: Frameserver rendering no longer works in 2.75 or 2.75a

Issue was caused by a typo in original multiview commit.

5 years agoFix T45385: Crash on render occurring when two hair modifiers are active that both...
Sergey Sharybin [Mon, 13 Jul 2015 09:01:34 +0000 (11:01 +0200)]
Fix T45385: Crash on render occurring when two hair modifiers are active that both use a UV mapped material for render

Not sure it's totally correct solution, but seems reasonable because it's
possible dmcache is set to ISCHILD.

Someone more familiar with the particles code might want to revisit this :)