Commit Graph

50156 Commits

Author SHA1 Message Date
8a40444d6b fix bad uses of sizeof() with memory allocation. 2013-07-13 05:43:35 +00:00
32586e6805 Fix #35470: crash rendering from the terminal in some cases due to render info
text threading issue.
2013-07-12 20:31:30 +00:00
99e97afbe3 Fix #35586: add an option to the Z Combine compositing node to disable the Z
buffer antialiasing that was restored in 2.67 after it was missing in the new
compositor implementation.

This option tends to make results worse rather then better for Cycles renders,
but is useful for Blender internal. Their Z-buffers look quite different for
antialiasing, and I'd rather not change either.
2013-07-12 20:15:22 +00:00
50262b5ea9 Fix #35827: object selection through camera view not working in some cases.
The problem was that when the camera is selected, the transform manipulator
is located exactly at the camera view location, and this was blocking selection
of other objects with some OpenGL implementations.
2013-07-12 19:32:36 +00:00
7e304b13e7 Fix #36115: dynamic paint not showing correct result after file load or undo. 2013-07-12 16:33:37 +00:00
8d9229538c Related to #36115: show in render info text when 3D view layer or camera overrides
scene settings when pressing F12 over a 3D view.
2013-07-12 16:33:30 +00:00
24c77647d2 Moved code for calculating local_matrix to BKE funtion for reuse 2013-07-12 12:58:01 +00:00
1d205f4446 fix [#36109] UI softlock when first property of an operator is String
disable editing a string on operator UI popups, causes feedback loop
2013-07-12 12:11:21 +00:00
e3c645fe46 Merging r58194 through r58195 from trunk into soc-2013-depsgraph_mt 2013-07-12 11:31:15 +00:00
da0ea30866 Get rid of global originmat matrix from object.c
This matrix was used to store the space the object is in,
which then was accessed by snapping code. No reason to
keep it as a global variable (which isn't safe for threading,
unlikely it'll give issues now, but it's easy to avoid
issues early here).

Now made it so BKE_object_where_is_calc_ex will get an
optional parameter originmat and set this matrix in
solve_parent.

Original patch by self, minor changes by Campbell, thanks!
2013-07-12 11:18:34 +00:00
eec1f31708 Merging r58166 through r58193 from trunk into soc-2013-depsgraph_mt 2013-07-12 09:13:15 +00:00
ce172d60ce fix [#36093] Stationary Particle system - particle Y axis fails to follow emitter object rotation 2013-07-12 08:41:27 +00:00
791be2f79f Expose node.select exec callback to an operator
Internally it was only invoke callback set for an
operator template. This invoke was setting such
properties as mouse_x and mouse_y and was calling
an exec function.

This meant that t seemed to be really easy to
use node.select operator from by giving a mouse
positions, but in fact it wasn't possible (because
it requires exec callback)

This commit sets operator's template exec callback,
which makes it possible using node.select from
python.
2013-07-12 08:31:39 +00:00
48247cdb87 fix for crash with texture-baking caused by recent changes to render-database initialization, running bake 3 times would crash. 2013-07-12 05:42:16 +00:00
1d761d0eca fix [#36106] Defining the Loopcut number with the keyboard is limited to 130
mousewheel value is now clamped too and raised the limit to 500.
2013-07-12 01:33:42 +00:00
55c79821b9 optimize interp_weights_poly_v2(), well tested, was calculating the area twice as much as was needed. 2013-07-12 00:18:27 +00:00
17ee2732f4 UI / Cycles:
* Make it more clear for the user what affects 3D View and Final render.
* Static / Dynamic BVH only affects viewport, BVH Cache only final. (see BlenderSync::get_scene_params)
2013-07-12 00:08:55 +00:00
f514fae6d8 Fix for Bug #35695: Freestyle produces extra line across an object with pointed areas.
The cause of inconsistent edge connectivity in the view map (documented in the commit
log of revision 58006) was identified and fixed.  The problem was that when a ViewEdge
was split at a cusp vertex (ViewMapBuilder::computeCusps()), the ViewVertex at one end
of a newly created ViewEdge in ViewMap::InsertViewVertex() was not properly updated to
take account of edge connectivity changes.
2013-07-11 17:25:18 +00:00
a3a4386991 fix [#36105] Bevel UV Flicker
interp_weights_poly_v2/3 functions used much too small an epsilon value, caused flickering.
2013-07-11 15:57:22 +00:00
e6b22d287f utility function for printing arbitrary sizes vectors. 2013-07-11 15:32:26 +00:00
c098557240 fix [#36100] bevel lost selection
interpolating loop was copying face attributes including selection, checked all users of this function and its safe to remove the call (which is bad to begin with).
2013-07-11 14:21:50 +00:00
b2a0255539 Fix bevel when there is a gap in faces around vertex.
Fixes bug #35927 (Vertex Bevel bug) but even edge
bevel didn't work on the example there. Problem
was with forming the proper ccw ordering of edges
around the bevel.
Also appears to fix bug #35582 (Bevel, weird results).
2013-07-11 13:29:52 +00:00
48c8d99cd9 add BM_elem_attrs_copy_ex() which can take a flag arg to define which flags should be copied. (mainly to be able to avoid copying selection/hidden state) 2013-07-11 12:43:34 +00:00
e64937c96d Fix #36091: external render engines like Luxrender don't work well with the save
buffers option, it requires specific tile sizes and if they don't match what
OpenEXR expects file saving can get stuck.

Now I've made support for his optional, with a bl_use_save_buffers property for
RenderEngine, set to False by default.
2013-07-11 12:22:29 +00:00
aa2a243b84 fix [#36099] Undo crashes on an armature with ID-Properties
armatures undo state now stores ID-properties.
2013-07-11 11:38:28 +00:00
9aade87606 Code cleanup: de-duplicate display list minmax routines 2013-07-11 11:29:45 +00:00
0a24b44563 Added an operator to match texture space to object's bounding box
This operator could be useful after recent changes to how curve's
texture space is calculated.
2013-07-11 11:05:56 +00:00
7d8b1325be Move curve's boundbox and texspace calculation out of modifier stack
There were several issues with how bounding box and texture space
are calculated:

- This was done at the same time as applying modifiers, meaning if
  several objects are sharing the same curve datablock, bounding
  box and texture space will be calculated multiple times.

  Further, allocating bounding box wasn't safe for threading.

- Bounding box and texture space were evaluated after pre-tessellation
  modifiers are applied. This means Curve-level data is actually
  depends on object data, and it's really bad because different
  objects could have different modifiers and this leads to
  conflicts (curve's data depends on object evaluation order)
  and doesn't behave in a predictable way.

This commit moves bounding box and texture space evaluation from
modifier stack to own utility functions, just like it's was done
for meshes.

This makes curve objects update thread-safe, but gives some
limitations as well. Namely, with such approach it's not so
clear how to preserve the same behavior of texture space:
before this change texture space and bounding box would match
bevelled curve as accurate as possible.

Old behavior was nice for quick texturing -- in most cases you
don;t need to modify texture space at all. But texture space
was depending on render/preview settings which could easily lead
to situations, when final result would be far different from
preview one.

Now we're using CV points coordinates and their radius to approximate
the bounding box. This doesn't give the same exact texture space,
but it helps a lot keeping texture space in a nice predictable way.

We could make approximation smarter in the future or add operator
like "match texture space to object's bounding box".
2013-07-11 10:45:01 +00:00
683db783d0 Make fonts safe(r) for threading
Getting vfont data wasn't safe for threading, because it
was modifying font data which is in bmain and could be
shared by multiple objects.

For now made it so getting vfont uses critical section,
meaning vfont->data is initializing from inside a locked
mutex.
2013-07-11 09:15:19 +00:00
13e33522dc fix for bridge tool where the 2 loops overlap (typical use for scanfill), however its nice to support with bridge too since it can do subdivisions, handles customdata and fills in quads. 2013-07-11 08:37:30 +00:00
ac0638f681 Merging r58148 through r58165 from trunk into soc-2013-depsgraph_mt 2013-07-11 08:25:37 +00:00
991459d0ce fix [#36090] Blender displays strange symbol in edge length 2013-07-11 05:11:10 +00:00
b035ce3a82 fix [#36089] crash when using a tiff without TIFFTAG_EXTRASAMPLES 2013-07-11 04:38:47 +00:00
7fec23ae0a fix for problem with edge slide where it would stop shapekey modifier from being applied (because of added vertices),
now, instead of making hidden copies of faces, the faces are copied into a temp bmesh.

also remove a hash that was being created and not used (old code).
2013-07-11 04:24:36 +00:00
b36999b2f7 bm_loop_interp_mdisps was doing multiple lookups in the same pointer in a nested loop. only need one, also avoid multiple layer lookups with mdisp calculation/smoothing 2013-07-11 01:28:27 +00:00
3a89f98a24 Fix #36053: slow GPU render with panorama camera + depth of field. 2013-07-10 17:25:52 +00:00
990cad983b Fix #36082: animation playback not working after rendering of background scenes and
multiple render layer nodes. Also fixes issue with database free with vector blur
after recent thread safety changes.
2013-07-10 16:46:13 +00:00
e3a604b233 Tag object-data level boundbox as invalid rather than freeing it
Object update used to free object-data level bounding box to trigger
it's re-calculation in the future. Such a freeing performed from
object update isn't thread-safe because mesh could be shared between
multiple objects.

Rather than freeing bounding box, tag it's as invalid, this is safe
from threading point of view and also prevents unnecessary memory
re-allocation.

Object-level bounding box is still reallocating, but think we could
change this easily in the future as well.
2013-07-10 14:26:31 +00:00
930dde34a3 BM_mesh_clear was setting toolflags incorrectly, also no meed to calloc when shrinking toolflags array. 2013-07-10 13:06:31 +00:00
99fe6d29eb skip duplicating faces for edge slide unless its used, this causes update problems for shape keys at the moment, Ill check on that but no need to run in most cases. 2013-07-10 12:37:15 +00:00
3d13f22e89 no need to copy mat4x4 -> 3x3 in mat4_to_scale 2013-07-10 12:12:58 +00:00
9a167e37ad Remove unused bounding box from MetaBall 2013-07-10 11:36:52 +00:00
ffaffd32cb Get rid of confusing usage of cu->bb in BKE_object_minmax
Curve-type objects now always does have object'level
bounding box, meaning cu->bb wouldn't evenr used in
BKE_object_minmax.

So zapping this confusing check for whether ob->bb
exists, which is always truth. Makes it easier to
follow what cu->bb is for and what ob->bb is for.
2013-07-10 11:36:47 +00:00
9460d9f344 Fix #36080: fix cycles crash with certain group node setups, accessing freed
memory.
2013-07-10 10:50:19 +00:00
48d0ebf692 Merging r58144 through r58147 form trunk into soc-2013-depsgraph_mt 2013-07-10 10:31:59 +00:00
5e1d450b90 Fix #36076: Metaballs as particles with particle texture (size influence) crashes Blender
Issue was caused by size influence affecting on object's matrix, which
is nice by it's own. But mball code was using ob->size to check whether
it's zero-sized object or not, but then was using ob->obmat to scale
the meta elements.

This lead to situation when zero-sized elements were trying to tessellate,
which is for sure a really bad idea.
2013-07-10 10:24:06 +00:00
3f9629a4c7 patch [#36078] Fixes joining behavior for curves and armatures (when active object not selected). 2013-07-10 09:55:10 +00:00
6ebfdd8dc3 remove reference to wrong python version in comments & pedantic style edit. 2013-07-10 09:40:49 +00:00
7b77ef8a21 Merging r58125 through r58143 from trunk into soc-2013-depsgraph_mt 2013-07-10 09:13:45 +00:00
24a3fc5a6b fix for possible bug with compilers that dont have boolean support. 2013-07-10 08:01:06 +00:00