Commit Graph

52069 Commits

Author SHA1 Message Date
Sergey Sharybin
07346b62a5 Remove confusing recalc flag from simplify update callback
PSYS_RECALC_CHILD is not handled by handle_object_update at
all so it was rather pointless to set this flag.

Double-checked with Brecht.
2014-01-17 19:43:26 +06:00
Sergey Sharybin
d03e768761 Fix T38260: Missing object update with two visible scenes
It was an issue with early object update check which was
screwing up for second scene because of first one reset
ID recalc flags.

From the comment in the code about this:

  We need to check all visible scenes, otherwise resetting
  OB_ID changed flag will only work fine for first scene of
  multiple visible and all the rest will skip update.

  This could also lead to wrong behavior scene update handlers
  because of missing ID datablock changed flags.

  This is a bit of a bummer to allocate list here, but likely
  it wouldn't become too much bad because it only happens when
  objects were actually changed.
2014-01-17 18:57:49 +06:00
Joshua Leung
eb1bb9dfd6 Oops! Should have double checked before pushing that last commit. 2014-01-18 01:41:18 +13:00
Joshua Leung
4c89a658be Fix T38157: Rigid body, crazy f-curves after bake to keyframes
A logic error meant that the wrong "previous rotation" values were being used
when decomposing the rigidbody results back to transform channels. Instead of
using the previous values for the object in question, it was actually using
the rotation value of the previous object that was evaluated.
2014-01-18 01:38:40 +13:00
Joshua Leung
929fb8324b Similar reshuffling of theme settings order for DopeSheet to ensure pairs end up on same rows 2014-01-18 01:38:39 +13:00
Joshua Leung
d308bc7eba Reshuffle Graph Editor theme settings to get pairs of settings to line up 2014-01-18 01:38:38 +13:00
Joshua Leung
2df2ef5801 Bump up default size of vertices in Graph Editor to make them easier to see/select 2014-01-18 01:38:37 +13:00
Bastien Montagne
df88dbf955 Fix T38161: Copy Material to Others causes incorrect viewport display if target object uses more materials
We need to update object data, like when removing a mat slot, since some mat indices might have become invalid!
2014-01-17 13:16:07 +01:00
IRIE Shinsuke
6489c1f94d Blender Internal: Correct GLSL preview, material using shader nodes didn't consider "Transparency" is a shader pipeline option. 2014-01-17 16:32:45 +09:00
Campbell Barton
63ccb26303 Code Cleanup: spelling 2014-01-17 17:35:03 +11:00
Campbell Barton
477a84a738 BMesh: minor optimization for remove doubles
- replace heap allocation with stack for small arrays.
- remove edge-lookup when its already known.
2014-01-17 17:21:41 +11:00
Campbell Barton
5568d7c3a1 EditMesh: add delete loose operator (access from Cleanup menu) 2014-01-17 14:55:06 +11:00
Campbell Barton
7df8452d1a BMesh: add bmesh delete functions that dont depend on operator flags 2014-01-17 14:55:06 +11:00
Joshua Leung
5c74ac2c2a Build Modifier - Add "Reversed" Option
This commit introduces the ability to make the Build Modifier operate in reverse,
essentially allowing it to be used as a "deconstruction" effect.

(See D219 for more details about use cases for this)
2014-01-17 14:53:04 +13:00
Joshua Leung
607df8090b Fix for long keyframes not getting faded out with their associated keyframes on protected channels 2014-01-17 14:53:03 +13:00
Joshua Leung
d8fa72bfb1 Assorted polish fixes for keyframe theme settings patch
* Version patching fixes for theme settings
* Added missing support for NLA (needed for the keyframes drawn in the action lines)
* Fix for a lack of contrast between selected and unselected extreme keyframe type
  (restoring it back to the pre-patch color scheme)
* Fix for keyframes on protected channels not being drawn with partial opacity
2014-01-17 14:53:02 +13:00
Jose Molina Garcia
5e5b0cee4f T37579: Theme settings for Keyframe Colours
This patch makes it possible to customise the colours used for the different
keyframe types (Keyframe, Breakdown, Extreme, Jitter) and the border colours
(normal and selected).

Reviewed by: Joshua Leung
2014-01-17 14:42:10 +13:00
Jens Verwiebe
74ae93d1cd Scons: Fix cycles OpenCL kernelcompile by distributing util_half.h 2014-01-17 00:33:32 +01:00
Campbell Barton
52bccd1188 Code Cleanup: remove redundant bmesh functions & make static 2014-01-17 09:42:30 +11:00
Campbell Barton
2883a48b3c BMesh: minor speedup for deleting faces. also remove unused delete-all 2014-01-17 09:35:53 +11:00
Campbell Barton
e7a6efa2a7 Code Cleanup: move delete funcs out of bmesh_construct.c into own file 2014-01-17 09:21:30 +11:00
Campbell Barton
d9bbcb371a Code Cleanup: avoid bpy.context when its passed in as an arg 2014-01-17 08:42:07 +11:00
Campbell Barton
5b1330e99d Outliner: minor speedup for drawing, avoid 3 rna lookups per object
also for movie-clip dope-sheet
2014-01-17 08:39:17 +11:00
e9227c76d4 Fix T37706: avoid cycles crash when using a stack that exceeds SVM stack limits.
This should be pretty rare, the shader in question had many parallel node links
because of copying the nodes many times, which is inefficient to run anyway.
2014-01-16 22:36:30 +01:00
568e678fa3 Code cleanup: fix gcc/clang compiler warning in release build. 2014-01-16 22:28:09 +01:00
62f9be7615 Fix T37958: part of blender internal approximate AO / indirect light preprocess
could not be cancelled.
2014-01-16 22:25:48 +01:00
gaiaclary
024ecf9fc1 Forgot in previous commit to take care of user preferences 2014-01-16 22:16:43 +01:00
gaiaclary
3110526bca Improved the Quit Confirm behaviour: Now confirm only shows up when current session is dirty 2014-01-16 21:42:16 +01:00
Campbell Barton
9cc5c157e8 Minor change to last commit to solidify, only allocate bitmap as needed 2014-01-17 06:59:14 +11:00
Jens Verwiebe
1b4ced86b9 Workaround for avx assembler not compiling with vanilla gcc ( with openMP case ) 2014-01-16 19:44:25 +01:00
Thomas Dinges
da523185fb Fix compilation of Cycles AVX kernel with cmake. 2014-01-16 18:32:54 +01:00
Campbell Barton
6fdf78eaf6 Correct versioning check for manipulator 2014-01-17 04:24:59 +11:00
Campbell Barton
79bed4d9d3 Code Cleanup: loop over ThemeSpace's where possible 2014-01-17 03:52:25 +11:00
Campbell Barton
a780e7f3f0 BLF: Fix for changing the DPI storing many fonts (300+)
Each dpi value stores its own set of font sizes, so while dragging the
dpi value would collect many sizes and never free.

Also change how BLF_cache_clear works,
it was freeing memory but not the OpenGL textures.

Now just free all the cache and GL textures and let drawing allocate them again as needed.
2014-01-17 03:13:23 +11:00
Thomas Dinges
de28a4d4b2 Cycles: Add an AVX kernel for CPU rendering.
* AVX is available on Intel Sandy Bridge and newer and AMD Bulldozer and newer.
* We don't use dedicated AVX intrinsics yet, but gcc auto vectorization gives a 3% performance improvement for Caminandes. Tested on an i5-3570, Linux x64.
* No change for Windows yet, MSVC 2008 does not support AVX.

Reviewed by: brecht
Differential Revision: https://developer.blender.org/D216
2014-01-16 17:04:11 +01:00
Campbell Barton
7c6d52eb07 BLF: avoid allocating empty array in blf_glyph_cache_texture 2014-01-17 02:16:22 +11:00
Campbell Barton
6b283f1168 Fix for BLF using realloc() on guarded-alloced memory 2014-01-17 02:13:55 +11:00
Campbell Barton
15ab4638cb Code Cleanup: spelling 2014-01-17 01:54:37 +11:00
Campbell Barton
88f65fdddb CMake: add missing dependency for icon target 2014-01-17 01:50:33 +11:00
Campbell Barton
38e683cbb1 Fix T38217: Fix glitch adding Monkey with view align
added an option so view-align can default to a different axis.
2014-01-16 23:54:04 +11:00
Sergey Sharybin
e9fb4299eb Fix T38116: Crash when using solidify modifier on multi-user mesh
Issue was caused by solidify modifier using original vertices bitfield
to store tags. This isn't thread-safe obviously. Now use bitmap to store
needed tags.

Reviewed by Campbell, thanks!
2014-01-16 17:49:33 +06:00
Campbell Barton
348cf17448 Code Cleanup: no need to pass empty strings as default values 2014-01-16 22:00:29 +11:00
Campbell Barton
9f16790840 Code Cleanup: avoid using G_PICKSEL for transform manipulator 2014-01-16 20:54:14 +11:00
Campbell Barton
4c2ba8e936 Correct error in own recent commit 2014-01-16 20:52:30 +11:00
Campbell Barton
a4e07aa825 Code Cleanup: outliner used magic numbers for active items and selecting
Replace with enums to make it more obvious whats happening
2014-01-16 20:23:46 +11:00
Sergey Sharybin
4f87ca47a6 Compilation error fix: mismatch declaration 2014-01-16 15:05:04 +06:00
Campbell Barton
af93ebcb50 Code Cleanup: style and redundant casts 2014-01-16 19:15:53 +11:00
Campbell Barton
bb1a7e4d87 Code Cleanup: simplify matcaps checks and quiet warning 2014-01-16 18:32:57 +11:00
Andrew Buttery
d7c46c5d16 User Prefs: Manipulator unit and tooltip fixes
removal of x5 hardcoded size multiplier
2014-01-16 16:47:12 +11:00
Sergey Sharybin
95acd3b20a Tweak to early threaded update escape
Issue was caused by some objects being in bMain and tagged
for update but not being in the DAG. This means objects
wouldn't be updated and their recalc flag remains untouched
triggering threaded for the next frame.

Solved by tweaking POST_UPDATE_HANDLER_WORKAROUND in the way
that it checks objects' recalc flags from the DAG, not from
the bMain. This will work a bit longer since DAG stored more
nodes than objects in the scene, but this code only runs in
cases when there're some objects tagged for update, which
keeps overall CPU usage on such a workaround pretty low.

Now CPU usage on 11a_comp scene from project Pampa went down
from ~15% down to ~5% (2,69 release uses ~%7).

Pointed by Thomas Dinges in IRC.
2014-01-16 02:07:59 +06:00