Commit Graph

54521 Commits

Author SHA1 Message Date
Sergey Sharybin
a87fb34eda Use advantage of SSE2 instructions in gaussian blur node
This gives around 30% of speedup for gaussian blur node.

Pretty much straightforward implementation inside the node
itself, but needed to implement some additional things:

- Aligned malloc. It's needed to load data onto SSE registers
  faster. based on the aligned_malloc() from Libmv with
  some additional trickery going on to support arbitrary
  alignment (this magic is needed because of MemHead).

  In the practice only 16bit alignment is supported because
  of the lack of aligned malloc with arbitrary alignment
  for OSX. Not a bit deal for now because we need 16 bytes
  alignment at this moment only. Could be tweaked further
  later.

- Memory buffers in compositor are now aligned to 16 bytes.
  Should be harmless for non-SSE cases too. just mentioning.

Reviewers: campbellbarton, lukastoenne, jbakker

Reviewed By: campbellbarton

CC: lockal

Differential Revision: https://developer.blender.org/D564
2014-06-14 00:38:07 +06:00
Dalai Felinto
b0708dd718 Bake-API: handle objects with no faces (fix T40601)
Also it has a better error handling for the BVHTree creation
Fix for 2.71
2014-06-13 14:37:59 -03:00
Campbell Barton
8957609f35 Sequencer: add support for grease pencil rendering in previews 2014-06-14 03:25:07 +10:00
Campbell Barton
f37c971878 Code cleanup: use ED_gpencil_ prefix for grease pencil 2014-06-14 02:54:17 +10:00
Campbell Barton
b96172cb05 UI: Add back ability to select a custom interface font 2014-06-14 02:32:38 +10:00
Campbell Barton
5861e528d6 New Editmesh Tool: Extend Vertex, (Alt+D) D512
Helps to easily add details to existing edges.

Similar to the rip tool it depends on cursor location to choose the edge to extend along.
2014-06-14 01:43:25 +10:00
Campbell Barton
cb7915fc60 Automatically generate blender.1 man page during build process
Patch T40418 by Lawrence D'Oliveiro
2014-06-14 01:19:58 +10:00
Campbell Barton
2ca497d84d Revert part of rB477f35 (error resolving conflict) 2014-06-14 01:06:49 +10:00
Campbell Barton
6c0926e802 Code cleanup: use const for mouse location arg 2014-06-14 00:47:12 +10:00
Campbell Barton
bf462149a6 BLI_bitmap: rename macros
- BLI_BITMAP_SET -> BLI_BITMAP_ENABLE
- BLI_BITMAP_CLEAR -> BLI_BITMAP_DISABLE
- BLI_BITMAP_GET -> BLI_BITMAP_TEST
- BLI_BITMAP_MODIFY -> BLI_BITMAP_SET
2014-06-14 00:47:12 +10:00
Campbell Barton
a427fa5261 BLI_bitmap: typecheck maco 2014-06-14 00:47:12 +10:00
Campbell Barton
341fd67fbf Add string escaping support for BLI_str_quoted_substrN 2014-06-14 00:47:12 +10:00
Campbell Barton
9db947df41 Editmesh: Replace SmallHash with GSet for MESH_OT_loop_to_region
There no reason to assume hash will be small in this case
2014-06-14 00:47:12 +10:00
Campbell Barton
365ff66987 GSet, GHash: Add BLI_gset_add, since its common to add members to a set
also rename BLI_edgeset_reinsert -> BLI_edgeset_add, in this case its the same.
2014-06-14 00:47:12 +10:00
Campbell Barton
8bd4b7361b BLF: use NONNULL & WARN_UNUSED_RESULT attrs & remove unneeded NULL check 2014-06-14 00:47:11 +10:00
Campbell Barton
0e085c637e BLI_kdtree: use UNLIKELY 2014-06-14 00:47:11 +10:00
Campbell Barton
f663c4f857 Code cleanup: UI, unnecessary float/int conversion 2014-06-14 00:47:11 +10:00
Campbell Barton
f3e4f42665 Code cleanup: remove hack for older GCC (4.2x and newer work without) 2014-06-14 00:47:11 +10:00
Campbell Barton
1962e21703 Code cleanup: remove redundant arg from ARRAY_LAST_ITEM 2014-06-14 00:47:11 +10:00
Campbell Barton
c3c04fe582 Code cleanup: remove redundant NULL check 2014-06-14 00:47:11 +10:00
Campbell Barton
477f35559c Code cleanup: reorder BKE_scene_use_new_shading_nodes checks last 2014-06-14 00:47:11 +10:00
Campbell Barton
b72eca435e Code cleanup: remove NULL check 2014-06-14 00:47:11 +10:00
Campbell Barton
a85b85101b Code cleanup: replace interp_v2_v2v2 with mid_v2_v2v2 2014-06-14 00:47:11 +10:00
Campbell Barton
953559a794 Code cleanup: avoid call to BLI_countlist 2014-06-14 00:47:10 +10:00
Campbell Barton
e3b47c1e03 Code cleanup: BLI_strdupn -> BLI_strdup 2014-06-14 00:47:10 +10:00
Campbell Barton
6a75ecda9b Code cleanup: spelling 2014-06-14 00:47:10 +10:00
Sergey Sharybin
baa0f0ee1a Cycles: Support builtin images for OSL shading backend
This means packed images and movies are now supported when using OSL
backend for material shading.

Uses special file name to distinguish whether image is builtin or not.
This part might become a bit smarted or optimized a bit, but it's good
enough with this implementation already.
2014-06-13 20:42:28 +06:00
Bastien Montagne
f95817c805 Minor modifications to 2.71 splash (bigger ref text, was unreadable in lowres version). 2014-06-13 16:33:20 +02:00
Sergey Sharybin
2e56182311 Detect version suffix based on release cycle and version char
Should make it less error-prone for release tagging/ahoy.
2014-06-13 20:19:02 +06:00
Thomas Dinges
d85c2306b4 Start of the 2.72 release cycles, BCon1.
Reminder for developers: Please document new features immediately after commit in the WIP release logs. No commit without docs. :)
http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.72
2014-06-13 16:14:15 +02:00
Campbell Barton
169c95b8cc Splash screen update for 2.71
Artwork: Event Horizon by pieriko
2014-06-13 04:39:43 +10:00
Campbell Barton
7aea3acc03 Splash: enable rc label 2014-06-13 04:39:10 +10:00
Campbell Barton
a8532fb3dd Fix T40596: Node link menus flipped & events inverted 2014-06-13 04:05:40 +10:00
Sergey Sharybin
9ef7486a38 We're entering 2.71rc state now
Meaning we do subversion bump and hopefully only splash
screen separates us from the final release. Unless some
bad regression is being discovered..
2014-06-12 22:32:18 +06:00
Campbell Barton
9f0466fb6b Quiet double promotion warning & ws edit 2014-06-13 02:22:40 +10:00
Campbell Barton
ce460c6179 Fix crash running in background mode 2014-06-13 01:05:56 +10:00
Howard Trickey
8c2b5ffb11 Fix Bevel bug T39746, small scale gives flat profile.
With very small meshes or very small bevel amounts, the bevel
profile would be flat even if a round one was requested.
Problem was that the code was checking the length of a cross
product for closeness to zero to test coplanarity. Needed
to normalize things before making that test to account for scale.
2014-06-12 10:22:10 -04:00
Campbell Barton
9d0cf523b5 UI: correct __contains__ use, no need for substring check 2014-06-12 22:08:51 +10:00
Sergey Sharybin
3f2b02398c Fix T40559: Maya keymap node selection bug 2014-06-12 14:33:28 +06:00
Sergey Sharybin
20550d6f7f Fix T40582: issues with apply scale when having multires and scene simplify
Reshape and applying scale matrix on multires needs to create DM with simplify
setting disabled. Added a special flag to modifier apply for this now.
2014-06-12 13:49:46 +06:00
Dalai Felinto
aed67dc8a4 Bake-API: Set Custom Cage to be Cage Object
Suggestion by Andy Davies (metalliandy) to conform with industry standard (custom cage is something else apparently)

Note: this is the last bake related commit I plan for 2.71/rc (unless
everyone agrees that we could squeeze in D546 - custom UVs, which would
be really nice to add for 2.71 scripters)

Note 2: I'll update the wiki docs shortly
2014-06-11 22:49:30 -03:00
Antony Riakiotakis
990eb2d737 blenderplayer stuff 2014-06-12 02:28:48 +03:00
Antony Riakiotakis
7b5fe4f316 Fix flickering when transform snapping in edit mode and cursor is
slightly outside the mesh.

Reported by Thomas Beck on irc. Issue here is that the mesh bounding box
changes as we are transforming the vertices. Solution is to collide
against the initial bounding box. Unfortunately the snapping functions
are made in a way that a lot of code needed to be tweaked here, but the
change should be straightforward and harmless (famous last words, I
know).

Ideally we might want to even increase the size of the bounding box a
little (as seen in screen space) to allow snapping even in cases where,
cursor is slightly outside the bounding box, but since this is not so
straightforward to do for all cases, at least for me, leaving this as
a TODO.
2014-06-12 01:43:38 +03:00
fb6cb25c1c Fix T40561: cycles refraction node with sharp distribution gives black. 2014-06-11 19:55:16 +02:00
Sergey Sharybin
e53c00a2db Add patchset to recent Carve changes
In the future i'd rather have this reported to an
upstream instead of adding local changes. It's really
easy to override this changes if patchset is not added
and this is to be fixed in upstream. Also the function
was never used so it was rather totally harmless warning
for us.
2014-06-11 13:13:36 +06:00
Campbell Barton
bd43ac04a5 CMake: quite warnings with 3.0 (without breaking < 3.0 CMakes) 2014-06-11 03:00:57 -03:00
Dalai Felinto
a8a536d23d Bake-API: new approach for cage
There is a new option to select whether you want to use cage or not.
When not using cage the results will be more similar with Blender
Internal, where the inwards rays (trying to hit the highpoly objects)
don't always come from smooth normals. So if the active object has sharp
edges and an EdgeSplit modifier you get bad corners.

This is useful, however, to bake to planes without the need of adding
extra loops around the edges.

When cage is "on" the user can decide on setting a cage extrusion or to
pick a Custom Cage object. The cage extrusion option works in a
duplicated copy of the active object with EdgeSplit modifiers removed to
inforce smooth normals. The custom cage option takes an object with the
same number of faces as the active object (and the same face ordering).

The custom cage now controls the direction and the origin of the
rays casted to the highpoly objects. The direction is a ray from the
point in the cage mesh to the equivalent point to the base mesh. That
means the face normals are entirely ignored when using a cage object.

For developers:
When using an object cage the ray is calculated from the cage mesh to
the base mesh. It uses the barycentric coordinate from the base mesh UV,
so we expect both meshes to have the same primitive ids (which won't be
the case if the cage gets edited in a destructive way).

That fixes T40023 (giving the expected result when 'use_cage' is false).

Thanks for Andy Davies (metalliandy) for the consulting with normal
baking workflow and extensive testing. His 'stress-test' file will be
added later to our svn tests folder. (The file itself is not public yet
since he still has to add testing notes to it).

Many thanks for the reviewers.

More on cages:
http://wiki.polycount.com/NormalMap/#Working_with_Cages

Reviewers: campbellbarton, sergey

CC: adriano, metalliandy, brecht, malkavian

Differential Revision: https://developer.blender.org/D547
2014-06-11 02:39:35 -03:00
Dalai Felinto
a08275c86a Revert "CMake: quiet warnings with 3.0"
This reverts commit da7bdf1b47d4490c1a6f35740a9392cb9b5dd42e.

This broke compilation in OSX and some Linux boxes.
Error:  Policy "CMP0043" is not known to this version of CMake

Shall we leave those for after RC (or even 2.71) is out? ;)
2014-06-11 02:39:16 -03:00
Joshua Leung
6a18b0f6bf Regression Bugfix T40332: Bad driver behaviour on small distances.
!!! ANIMATORS/RIGGERS PLEASE TEST !!!

I've reduced the size of the threshold for the keyframe lookup here. This threshold
determines the minimum time in frames between keyframes (i.e. "how close" to each
other they can get). Making this too small causes problems like T39207, but it seems
that the threshold we've been using makes it impossible to get accurate behaviour on
driver curves with keyframes, when the driver target only moves 2cm (i.e. 0.02 BU).

So far, all of the test cases from T39207 seem to work fine, as well as Caminandes 2
files, and Kenny the Caterpillar. The Kiribati rigs/shots (thanks jpbouza for helping
to check on these!) also seem to be fine.
2014-06-11 15:49:12 +12:00
Campbell Barton
da7bdf1b47 CMake: quiet warnigns with 3.0 2014-06-11 13:46:19 +10:00