Age | Commit message (Collapse) | Author |
|
For the simulation to work properly the limited update the motion paths
calculation did wasn't enough so you got different results for for
motion paths than for the actual simulation.
Now do full frame update if rigid body sim is active.
TODO investigate if we can still limit this.
|
|
besides performance in some cases.
* DAG_scene_sort is now removed and replaced by DAG_relations_tag_update in
most cases. This will clear the dependency graph, and only rebuild it right
before it's needed again when the scene is re-evaluated.
This is done because DAG_scene_sort is slow when called many times from
python operators. Further the scene argument is not needed because most
operations can potentially affect more than the current scene.
* DAG_scene_relations_update will now rebuild the dependency graph if it's not
there yet, and DAG_scene_relations_rebuild will force a rebuild for the rare
cases that need it.
* Remove various places where ob->recalc was set manually. This should go
through DAG_id_tag_update() in nearly all cases instead since this is now
a fast operation. Also removed DAG_ids_flush_update that goes along with
such manual tagging of ob->recalc.
|
|
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.
|
|
|
|
account
|
|
|
|
|
|
duplifaces like blender internal.
|
|
BM_vert_calc_mean_tagged_edge_length() to avoid divide by zero when a vertex has no connected geometry.
also style cleanup.
|
|
edit mode. I've made it follow blender internal now, but this system should
really be improved once, metaballs that are in linked dupligroups will never
show up.
|
|
There were a bunch of other issues with dupli motion blur and syncing, the problem
being that there was no proper way to detect corresponding duplis between frames
or updates. As a solution, a persistent_id was added to the DupliObject. It's an
extension of the previous index value, with one index for each dupli level. This
can be used to reliably find matching dupli objects between frames. Works with
nested duplis, multiple particle systems, etc.
|
|
BKE_report()<->BKE_reportf() fixes.
|
|
|
|
Also forgot to translate reports' titles, and change some usages of BKE_reportf to simple BKE_report, when the former is not needed!
|
|
also add helper makefile targets:
* tbz - makes a tar.bz2 of an svn export
* test_style_qtc - outputs style checks in qtc task format.
|
|
Generated and UV coordinates from the duplicator of instance instead of the
object itself.
This was used in e.g. Big Buck Bunny for texturing instanced feathers with
a UV map on the bird. Many files changed, mainly to do some refactoring to
get rid of G.rendering global in duplilist code.
|
|
avoid calculating twice when dupli-scale is enabled.
|
|
concave ngons could flip the dupliface, now use the faces normal when calculating the dupli-face.
|
|
group/dupligroups (unlikely/intentional)
calling BKE_ptcache_ids_from_object() could recursively call BKE_object_handle_update(), when there is no reason to update object transforms at all. Add option not to do any updates and just return an object list.
|
|
places.
|
|
|
|
BKE_utildefines is now unused but keep incase we want to add defines there later.
|
|
|
|
After 2.63 there was a bugfix to take object scale into account for the duplicated
objects, but this breaks compatibility on earlier files. Now there is an option to
control if the scale should be used or not.
Scale is used by default on newer files, and not used on older ones.
|
|
a linked list by a pointer.
|
|
|
|
|
|
- The original scaling of the object wasn't taken into account when not using the particle dupliobject rotation option.
|
|
|
|
normalise->normalize).
|
|
|
|
|
|
information in material shaders for dupli objects. For now only the particle Age and individual Lifetime (in frames) are supported, more attributes can be added when needed.
The particle data is stored in a separate texture if any of the dupli objects uses particle info nodes in shaders. To map dupli objects onto particles the store an additional particle_index value, which is different from the simple dupli object index (only visible particles, also works for particle dupli groups mode).
Some simple use cases on the code.blender.org blog:
http://code.blender.org/index.php/2012/05/particle-info-node/
|
|
|
|
replace do prefix with do_ for bool vars.
|
|
|
|
|
|
new image. (not use existing one)
|
|
also stop numpy from being found in /usr/include with cmake.
|
|
|
|
This commit refactors the way that the Motion Paths GUI works. The key problems
this tries to address are:
1) Mode error - Confusion about whether we're dealing with the Object or Pose
level Motion Paths panel
2) Display settings vs Baking Settings
In line with the original design intentions for the 2.5/6 Properties Editor,
I've now split out the actual baking-related settings away from the Properties
Editor:
* Now, when clicking "Calculate Paths" from the toolbar, you'll be prompted with
a dialog to select the start/end frames (and for bones, whether to bake from
heads or tails). This is less confusing than relying on firstly setting the
range via the display range settings (and baking using that), since many people
apparently only used the "around current" mode, and were confused why things
weren't working
* Added a display of the frame ranges of the current baked Motion Path on the
active Object/Bone. This makes it clearer/easier to debug if the path suddenly
starts disappearing after a certain frame.
* Replaced Calculate/Clear Paths in the panels with a single "Update" button if
there's already a baked Motion Path.
Hopefully these changes (in combination with some of the other bugfixes) will
make it more obvious how everything works.
|
|
paths with new ranges)
If an object/bone already had a motion path, it was not possible to recalculate
it over a different frame range without firstly clearing these paths. This was
both a confusing and troublesome workflow, and has since been removed.
|
|
|
|
- Make sure functions are named in way BKE_<object>_<action> (same way as RNA callbacks)
- Make functions which are used by mball.c only static and remove their prototypes
from public header file.
Further cleanup is coming.
|
|
|
|
|
|
objects in the instanced group were not scaled according to the particle size, which would be expected when rendering as 'Whole Group'. Requested by Francesco Siddi (fsiddi) over IRC.
|
|
|
|
else if's
|
|
|