Commit Graph

47594 Commits

Author SHA1 Message Date
Gaia Clary
e353593b30 fix: #36060 Collada Import: animated armature+mesh problem 2013-07-14 17:21:12 +00:00
Thomas Dinges
11fe01b0da Merged revision(s) 58226-58240 from trunk/blender into soc-2013-dingto. 2013-07-14 16:54:20 +00:00
Gaia Clary
4507dd9a7e Removed unused paramter from ArmatureImporter:add_joint() 2013-07-14 16:24:42 +00:00
Campbell Barton
83a172e40c fix for case where negative index was used when rendering particles with UV's, also removed redundant array check. 2013-07-14 13:18:05 +00:00
Gaia Clary
ce6cfeca40 minor: commented fallthrough 2013-07-14 12:30:05 +00:00
Campbell Barton
a1138d2500 recent changes to particle normal orientation change behavior in a way you might not want (even though in general I think its an improvement).
split this into 2 options, added 'Normal-Tangent' orientation that makes the mesh orient towards the tangent, otherwise it uses Z-Up as before.
2013-07-14 10:57:43 +00:00
Campbell Barton
c17c2d8059 fix [#36135] File name of previously saved render result no longer remembered
in fact the problem was caused by own previous fix/improvement for a different case, now this works as follows...

- render uses last-saved name, falls back to 'untitled' in blend file path.
- non render uses id-name always, saves into dir of last-saved image, fall back to blend file path.
2013-07-14 09:57:03 +00:00
Campbell Barton
18cf21bbfe fix relating to [#36093] Stationary Particle system - particle Y axis fails to follow emitter object rotation
With deformations and on a simple cube you could get axis flipping with normal-particle alignment.
now use the normal & tangent to create the orientation to give a stable matrix that wont flip.
2013-07-14 07:27:44 +00:00
Gaia Clary
f5033303e1 fix: #34823 Collada: nodes exporting world matrices 2013-07-14 00:34:21 +00:00
Thomas Dinges
12a45c8b1b Merged revision(s) 58093-58225 from trunk/blender into soc-2013-dingto. 2013-07-13 23:52:43 +00:00
Tamito Kajiyama
33b65832d2 Fix for [#35482] 2.67 freestyle line visibility computation bug.
The reported line visibility issue was caused by a wrong calculation of a 2D
bounding box (so-called "proscenium face" in Freestyle) in the case of a
spherical grid data structure used for a perspective camera.  The problem was
resulting from the proscenium computation based on two corners (min and max)
of the 3D bounding box of imported mesh data.  Aware of the spherical coordinate
transformation involving non-linear (arctangent) functions, now the proscenium
is computed by taking in account all the eight corners of the 3D bounding box.

Also added minor code changes to facilitate future debugging.
2013-07-13 19:33:25 +00:00
Campbell Barton
b7396654e1 fix for bad NULL check in bmo_connect_pair, also remove duplicate checks in if statements and redundant initialization vars. 2013-07-13 16:25:47 +00:00
Campbell Barton
4a39a4a92a fix for more errors with switch missing break
- boids random option was falling through to average.
- (NC_OBJECT | ND_DRAW) notifier was falling through to ND_SHADING button preview updates.
2013-07-13 14:44:04 +00:00
Campbell Barton
8ffa38b402 fix for missing break statements in switch, some key shortcuts and notifiers were falling through when its obviously incorrect to do so. 2013-07-13 14:21:36 +00:00
Campbell Barton
7a3d0bac1a correct bad allocation sizes, unwrap was over-allocating, makesdna was under allocating. 2013-07-13 14:19:57 +00:00
Campbell Barton
1c15beb6b2 remove NULL checks on fixed size arrays, also was calling BLI_testextensie_glob every time in the file selector with a blank string. 2013-07-13 14:16:59 +00:00
Campbell Barton
0ea078ad03 fix for 2 bugs in animation playback
- reading bmp images was failing (needed to increase the size of the header to 64 bytes)
- the dnd image was being incorrectly checked (was always returning true even when none was used).
2013-07-13 12:58:00 +00:00
Campbell Barton
fe76c4ec8e fix for missing break with compositor levels (blue passed through to luminance) 2013-07-13 12:14:04 +00:00
Campbell Barton
d522a995cf fix for orthogonalize_m3,4, missing break statements in switch. 2013-07-13 06:54:44 +00:00
Campbell Barton
edb850c842 remove redundant null checks and avoid divide by zero in driver evaluation 2013-07-13 05:53:14 +00:00
Campbell Barton
fa3699f067 fix errors in code
- BKE_mball_center_median(), didn't work.
- clip_refresh was removing handlers from wrong space.
- new_modifier, replace strcpy with BLI_strncpy
2013-07-13 05:50:35 +00:00
Campbell Barton
eedd541929 fix for misc errors
- reference to out of scope stack var
- freeing fixes size array (never allocated)
- add matching va_end for va_start
2013-07-13 05:46:48 +00:00
Campbell Barton
8a40444d6b fix bad uses of sizeof() with memory allocation. 2013-07-13 05:43:35 +00:00
Brecht Van Lommel
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
Brecht Van Lommel
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
Brecht Van Lommel
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
Brecht Van Lommel
7e304b13e7 Fix #36115: dynamic paint not showing correct result after file load or undo. 2013-07-12 16:33:37 +00:00
Brecht Van Lommel
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
Gaia Clary
24c77647d2 Moved code for calculating local_matrix to BKE funtion for reuse 2013-07-12 12:58:01 +00:00
Campbell Barton
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
Sergey Sharybin
e3c645fe46 Merging r58194 through r58195 from trunk into soc-2013-depsgraph_mt 2013-07-12 11:31:15 +00:00
Sergey Sharybin
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
Sergey Sharybin
eec1f31708 Merging r58166 through r58193 from trunk into soc-2013-depsgraph_mt 2013-07-12 09:13:15 +00:00
Campbell Barton
ce172d60ce fix [#36093] Stationary Particle system - particle Y axis fails to follow emitter object rotation 2013-07-12 08:41:27 +00:00
Sergey Sharybin
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
Campbell Barton
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
Campbell Barton
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
Campbell Barton
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
Tamito Kajiyama
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
Campbell Barton
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
Campbell Barton
e6b22d287f utility function for printing arbitrary sizes vectors. 2013-07-11 15:32:26 +00:00
Campbell Barton
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
Howard Trickey
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
Campbell Barton
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
Brecht Van Lommel
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
Campbell Barton
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
Sergey Sharybin
9aade87606 Code cleanup: de-duplicate display list minmax routines 2013-07-11 11:29:45 +00:00
Sergey Sharybin
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
Sergey Sharybin
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
Sergey Sharybin
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