Commit Graph

66005 Commits

Author SHA1 Message Date
Joshua Leung
4d32e9a49e Bugfix [#33970] Background Scene does not show animation of rigid body objects
This was caused by multiple instantiations of the same basic problem. The
rigidbody handling code often assumed that "scene" pointers referred to the
scene where an object participating in the sim resided (and where the rigidbody
world for that sim lived). However, when dealing with background sets, "scene"
often only refers to the active scene, and not the set that the object actually
came from. Hence, the rigidbody code would often (wrongly) conclude that there
was nothing to do.

For example, we may have the following backgound set/scene chaining scenario:
"active"  <-- ... <-- set i (rigidbody objects live here) <-- ... <-- set n

The fix here is a multi-part fix:
1) Moved sim-world calculation from BKE_scene_update_newframe() to
scene_update_tagged_recursive()
    + This is currently the only way that rigidbody sims in background sets will
get calculated, as part of the recursion
     - These checks will get run on each update. <--- FIXME!!!

2) Tweaked depsgraph code so that when checking if there are any time-dependent
features on objects to tag for updating, the checking is done relative to the
scene that the object actually resides in (and not the active scene). Otherwise,
even if we recalculate the sim, the affected objects won't get tagged for
updating. This tagging is needed to actually flush the transforms out of the
RigidBodyObject structs (written by the sim/cache) and into the Object
transforms (obmat's)

3) Removed the requirement for rigidbody world to actually exist before we can
flush rigidbody transforms. In many cases, it should be sufficient to assume
that because the object with rigidbody data attached has been tagged for
updates, it should have updates to perform. Of course, we still check on this
data if we've got it, but that's only if the sim is in the active scene.
   - TODO: if we have further problems, we should investigate passing the
"actual" scene down alongside the "active" scene for BKE_object_handle_update().
2013-02-15 11:49:22 +00:00
Brecht Van Lommel
6786975f78 Fix #34254: cycles brightness/contrast node was missing for GLSL material view. 2013-02-15 11:46:31 +00:00
Bastien Montagne
41a98a59dc Fix compilation on linux (with gcc4.7).
Without const, I had the following error:

/home/i7deb64/blender-2.5-svn/__work__/freestyle/source/blender/freestyle/intern/python/BPy_ViewMap.cpp: In function ‘PyObject* ViewMap_scene_bbox_get(BPy_ViewMap*, void*)’:
/home/i7deb64/blender-2.5-svn/__work__/freestyle/source/blender/freestyle/intern/python/BPy_ViewMap.cpp:120:54: error: invalid initialization of non-const reference of type ‘BBox<VecMat::Vec3<double> >&’ from an rvalue of type ‘BBox<VecMat::Vec3<double> >’
In file included from /home/i7deb64/blender-2.5-svn/__work__/freestyle/source/blender/freestyle/intern/python/BPy_ViewMap.cpp:3:0:
/home/i7deb64/blender-2.5-svn/__work__/freestyle/source/blender/freestyle/intern/python/BPy_Convert.h:81:12: error: in passing argument 1 of ‘PyObject* BPy_BBox_from_BBox(BBox<VecMat::Vec3<double> >&)’
/home/i7deb64/blender-2.5-svn/__work__/freestyle/source/blender/freestyle/intern/python/BPy_ViewMap.cpp:121:1: warning: control reaches end of non-void function [-Wreturn-type]
make[2]: *** [source/blender/freestyle/CMakeFiles/bf_freestyle.dir/intern/python/BPy_ViewMap.cpp.o] Erreur 1
2013-02-15 11:23:07 +00:00
Sergey Sharybin
bd1c6571c9 Fix #34205: Zooming in rendered mode during update out of sync with intended zoom
Yes, again.

There's some t within which reset is not allowed. This is so no reset happens
too often for performance issues. If camera changes too often, some reset could
be missed because of this timeout.

For now tag engine for update, which will update viewport from blender side.

Proper solution could be to detect such a changes from blender side and tag
cycles for refresh instead of trying to detect changes form cycles, but that's
for later.
2013-02-15 09:15:14 +00:00
Bastien Montagne
313df262e3 Fix [#34253] UIList resize, resizes wrong list I/II
When using default UI_UL_list, one should always spully a custom ID, else collision inside an area are quite likely...
2013-02-15 08:32:25 +00:00
Bastien Montagne
98b9ed185f Translate "Set Parent To" menu (ctrl-P), reported on bf-translations ML by Satoshi Yamasaki, thanks! 2013-02-15 08:31:00 +00:00
Campbell Barton
f46ca7836d add debug check for mempool double free (or misuse of BLI_MEMPOOL_ALLOW_ITER),
some reports in the tracker show errors on bmesh iteration which could be caused by this.
2013-02-15 04:14:53 +00:00
Tamito Kajiyama
8d44c4735e Minor coding style clean-up. 2013-02-14 23:50:30 +00:00
Campbell Barton
c6b3e0f8e4 style cleanup 2013-02-14 23:49:30 +00:00
Tamito Kajiyama
731d08d497 Freestyle Python API improvements - part 3.
Major API updates were made to address code review comments.
This revision mostly focuses on Python wrappers of C++ 0D and 1D elements (i.e.,
Interface0D and Interface1D, as well as their subclasses).

* Most getter/setter methods were reimplemented as attributes using PyGetSetDef.
Vector attributes are now implemented based on mathutils callbacks.  Boolean
attributes now only accept boolean values.

* The __getitem__ method was removed and the Sequence protocol was used instead.

* The naming of methods and attributes was fixed to follow the naming conventions
of the Blender Python API (i.e., lower case + underscores for methods and attributes,
and CamelCase for classes).  Some naming inconsistency within the Freestyle Python
API was also addressed.

* The Freestyle API had a number of method names including prefix/suffix "A" and
"B", and their meanings were inconsistent (i.e., referring to different things
depending on the classes).  The names with these two letters were replaced with
more straightforward names.  Also some attribute names were changed so as to indicate
the type of the value (e.g., FEdge.next_fedge instead of FEdge.next_edge) in line
with other names explicitly indicating what the value is (e.g., SVertex.viewvertex).

* In addition, some code clean-up was done in both C++ and Python.

Notes:

In summary, the following irregular naming changes were made through this revision
(those resulting from regular changes of naming conventions are not listed):

- CurvePoint: {A,B} --> {first,second}_svertex
- FEdge: vertex{A,B} --> {first,second}_svertex
- FEdge: {next,previous}Edge --> {next,previous}_fedge
- FEdgeSharp: normal{A,B} --> normal_{right,left}
- FEdgeSharp: {a,b}FaceMark --> face_mark_{right,left}
- FEdgeSharp: {a,b}Material --> material_{right,left}
- FEdgeSharp: {a,b}MaterialIndex --> material_index_{right,left}
- FrsCurve: empty --> is_empty
- FrsCurve: nSegments --> segments_size
- TVertex: mate() --> get_mate()
- ViewEdge: fedge{A,B} --> {first,last}_fedge
- ViewEdge: setaShape, aShape --> occlude
- ViewEdge: {A,B} --> {first,last}_viewvertex
- ViewMap: getScene3dBBox --> scene_bbox
2013-02-14 23:48:34 +00:00
Brecht Van Lommel
b94993941f Fix #34252: cycles rendering 16bit PNG with too light colors. 2013-02-14 21:40:29 +00:00
Brecht Van Lommel
6e03b70def Fix cycles hair curves with NaN values not rendering with dynamic BVH. These NaN
values were breaking the bounding box computation, now they should have no influence.
2013-02-14 21:40:28 +00:00
Brecht Van Lommel
40720fcdef Fix 3d view DPI issue with object name overlapping axis icon. 2013-02-14 21:40:22 +00:00
Thomas Dinges
cb75d64f7d Cycles:
* Compile fix when building without OSL.
2013-02-14 19:30:25 +00:00
Tamito Kajiyama
9e3bf44011 Fix for a static variable in BlenderStrokeRenderer::RenderStrokeRep() left after
quick trials of different approaches to performance improvement.
2013-02-14 19:19:44 +00:00
Sergej Reich
10305de3ac Fix "Origin to Center of Mass" not working well with ngons
Now we do simple triangulation and calculate signed area of triangles to
account for concave polygons.

This only works correct for planar polygons but gives better results
overall.
2013-02-14 17:35:46 +00:00
Sergej Reich
e3944f5bfa Divide by 3 instead of multiplying by variations of 0.333
Fixes small precision problems.
2013-02-14 17:35:43 +00:00
Thomas Dinges
7ae735dc4a Cycles UI:
* "Use Nodes" for World, did not trigger Node Editor refresh.
2013-02-14 17:09:19 +00:00
Brecht Van Lommel
e0ca72735d Further fix for #34121: OSL + persistent images could crash in some cases still. 2013-02-14 16:48:43 +00:00
Brecht Van Lommel
adbd84c320 Fix #34121: OSL + persistent images option was not freeing shader memory properly,
causing memory to increase continuously during animation render.
2013-02-14 16:11:47 +00:00
Brecht Van Lommel
a47af30561 Fix #34240: cycles material preview of sphere + sky had black sky, now it uses
the current scene world.
2013-02-14 16:01:34 +00:00
Antony Riakiotakis
59a2ed19df Fix: Tiled image painting in image editor was broken for float canvas.
The mask was initialized using texture values, while it needed to be
opaque.
2013-02-14 15:44:09 +00:00
Campbell Barton
8d339a89db fix [#33949] T_ALT_TRANSFORM conflicts with "emulate 3 button mouse"
finally last transform tool relying on alt has an alternative.

Sequencer slide which makes room for the placed strip by moving others - Pressing G a second time toggles this behavior.
2013-02-14 14:50:16 +00:00
Bastien Montagne
5078174f07 New Hindi translation... 2013-02-14 14:41:04 +00:00
Ton Roosendaal
f5398f0fac Bug fix #34230
Error since July 2005, when DerivedMesh was introduced.

Vertex and Face duplicators now work for all modifiers. (not only deformers).
For example mirror and array modifier didn't work.
2013-02-14 14:01:48 +00:00
Campbell Barton
9449866bdc fix (for one case of...) [#33949] T_ALT_TRANSFORM conflicts with "emulate 3 button mouse"
ShrinkFatten operator now uses scale key to toggle 'Even thickness' option.
With the default keymap this is Alt+S,S.

Added functionality so the header print can get the key used for the modal keymap, some other operators should make use of this too.
2013-02-14 14:01:02 +00:00
Sergey Sharybin
ceb3624b11 After scroll bar commit motrack dopesheet went out of sync vertically
Shall be fine now.
2013-02-14 13:47:49 +00:00
Campbell Barton
3cf0c93be1 modify own changes to is_quad_convex_v3() to allow quads with a co-linear side to be considered convex (as it did in last release).
this is needed so zero area faces be dealt with by beauty fill.
2013-02-14 09:17:50 +00:00
Bastien Montagne
26704c0451 More nodes UI translation fixes.
I *hate* this rna_nodetree_types.h file!
2013-02-14 07:49:50 +00:00
Campbell Barton
3dbed0e47f update to operator running test, add option to randomize order, not reset blender for each operator and set data attributes. 2013-02-14 05:10:12 +00:00
Campbell Barton
648f925017 misc changes
- update man page for new additions since last release.
- note that --start-console argument is windows only.
- correct own assertion in own recent commit.
2013-02-14 05:02:20 +00:00
Campbell Barton
ab7ca2dc44 fix for double clicking in the text editor not working usefully (double clicking a pair chars would select 3 - one to the left). 2013-02-14 03:03:12 +00:00
Campbell Barton
12f6d3ad90 fix own bug in weight gradient tool, need to check if mesh dverts will be overwritten, 2013-02-14 02:21:12 +00:00
Campbell Barton
db02420921 tweak vertex group clean limit, it couldn't be set to zero, and you may want to remove only zero weights. 2013-02-14 01:55:10 +00:00
Campbell Barton
a59682f0b7 fix for crash with project paint when there is no brush (possible applying projection from the camera only) 2013-02-14 01:30:13 +00:00
Campbell Barton
9bd1e46b4a add missing NULL checks - could cause crashes in rare cases. 2013-02-14 01:01:08 +00:00
Dalai Felinto
42f9872363 bugfix: [#34220] Blenderplayer no longer working after r54395 commit [segfault due to world not valid]
patch by Sergey Sharybin

note, I still find strange that world was valid and now it is not, but at least we no longer segfaults
2013-02-13 23:09:12 +00:00
Bastien Montagne
f6624aaacd Gah, forgot some ugly print... 2013-02-13 21:56:12 +00:00
Brecht Van Lommel
3cdda97508 Fix color sampling info at the bottom of the image editor not respecting DPI.
(don't bother updating the RC for this, it's not an important fix)
2013-02-13 19:01:33 +00:00
Sergey Sharybin
6557d33608 Made maya keymad deselect everything in cases nothing was selected with LMB
The way it works now is:

- Border select is using TWEAK, for which you need to hold LMB down
  and move mouse. This prevents operators using RELEASE/CLICK events
  from being fired.
- LMB select is using RELEASE event, this is no selection happens
  before border if you do border select. And this prevents any
  operator uses CLICK event from being fired.
- Delect all happens by CLICK, which would be fired only in case no
  operators were handled with PRESS/RELEASE.

This is a bit cards-house, but this is how events currently works and
wouldn't want inventing something bigger now.
2013-02-13 17:43:52 +00:00
Ton Roosendaal
da4711632c Fix for splitting startup and userpref:
The do-version handling for Userdef is outside file reading, which makes
it needed to store the file version in UserDef, so it gets the correct
version to handle.

Thanks Antonis R. for pointing at the omission!

Also removed the mindboggling define. If you do such, then make it
like "MAIN_VERSION_OLDER_THAN() or so.

In general version hacking could be limited much better... ask me
before even thinking to add one, most optimal is to do it in a way
it's not depending on a version ever - forward/backward compatible.
2013-02-13 16:52:14 +00:00
Brecht Van Lommel
909d64079a Fix #34226: cycles shadow pass got incorrectly influenced by world multiple
importance sampleing.
2013-02-13 16:46:18 +00:00
Gaia Clary
8a20930c71 Collada: Fixed import of textures with path settings relative to main import file 2013-02-13 16:00:46 +00:00
Campbell Barton
4fe94b2ef6 there were more places hook modifier type wasn't checked and could crash - add utility function which doest this. 2013-02-13 15:14:29 +00:00
Campbell Barton
fe855a83d7 fix for missing typecheck on hook-assign operator.
fix for POSELIB_OT_pose_rename getting an enum as an int.
2013-02-13 15:03:36 +00:00
Campbell Barton
5016ea5cb2 update python module loading test. 2013-02-13 14:11:04 +00:00
Bastien Montagne
43f4f807d9 Fix physics' name not translated in main physics panel (reported on bf-translations ML).
This also revealed another bug, as you could not explicitely set default context to text_ctxt UI func parameter (None is not accpeted by RNA string props), so I had to change default context from py POV to "*" instead of None.

Anyway, that physics UI translation remains weak, as the trick used here (helper func) prevents message extractor script to directly find them. Currently it works because specified labels are also defined elsewhere, but it would be nice to have some kind of "translation markers" in py code too (similar to our N_/CTX_N_ C macros, unfortunately python does not have preprocessing ;) )...
2013-02-13 11:52:01 +00:00
Brecht Van Lommel
4061f96d94 Fix cycles issue with BVH cache created with 64 bits and used for 32 bits binary,
and vice versa.
2013-02-13 11:02:51 +00:00
Brecht Van Lommel
35629a623b Fix #34216: uv unwrap with some faces pinned to point the normals down will now
automatically flip the unpinned faces to point down too, instead of trying to
unwrap them in the other direction and giving bad results.

If there's a mix of faces pinned up and down it will pick the direction with the
biggest area.
2013-02-13 10:38:05 +00:00
Bastien Montagne
3502fdea4a And more mismatches between RNA struct UI names and type UI names in nodes... BSDF nodes were not translated in UI. 2013-02-13 09:07:34 +00:00