Blender Git Commits

Blender Git "alembic" branch commits.

Page: 14 / 29

April 16, 2015, 13:50 (GMT)
Revert recent commits, no time to improve things now.
April 16, 2015, 10:52 (GMT)
Don't write dupli instances to caches in the Render pass.

Duplilists are always generated for viewport/realtime settings, render
settings only affect the mesh geometry but not the duplis.
April 16, 2015, 10:07 (GMT)
Cleanup: Removed unused writer/reader classes for Alembic.

These classes were used previously to write parts of the Blender DNA
directly to Alembic. Their code is shared with other classes that are
still in use, so none of the really substantial parts have been deleted.
April 16, 2015, 09:57 (GMT)
Cleanup: Removed unused parts of the C API for caching.

This only removes trivial C function wrappers for parts of the C++ code
that are not used directly any more from outside the bl_pointcache
library. Some internal parts may be removed later, this cleanup is
mostly to reduce code noise.
April 16, 2015, 09:51 (GMT)
Renamed passes for cache writing to reflect their origin with mesh
modifier evaluation.
April 16, 2015, 08:42 (GMT)
Remove the dual "root" object at the top of Alembic archives.

Using two full scene nodes for render/realtime data creates a lot of
duplication in both storage and processing time. Instead storing
specific data types like meshes in different versions keeps duplication
to the necessary minimum and allows easier fallback where available.
April 15, 2015, 10:47 (GMT)
Removed the unused particle writer/reader code from Alembic.

We only use particles to initialize strands export now.
April 15, 2015, 10:29 (GMT)
Only process hair simulation in "realtime" mode.

This means no motion state data is generated for render mode, this
requires some larger changes to the way render/realtime data is stored
in the caches.
April 15, 2015, 09:00 (GMT)
Object and particle system selection in the cache hair sim modifier.

Before this the hair sim would be applied indiscriminately to all the
strands in the cache data. Now an object/psys combination from the dupli
cache must be selected. Note that this is not the actual target of the
hair simulation, which still operates on the cache overrides instead.
The Object/Psys only functions as a selectable key, if no matching data
is found in the cache no hairsim will be applied.
April 14, 2015, 13:28 (GMT)
Another fix for child deformation.

Needs the parent base shape in the rotated deformed root space, or the
child gets additional deformation from the root rotations.
April 14, 2015, 10:46 (GMT)
AnimSys utility function was renamed in master.
April 14, 2015, 10:25 (GMT)
Merge branch 'master' into alembic

Conflicts:
source/blender/blenkernel/intern/object_dupli.c
source/blenderplayer/bad_level_call_stubs/stubs.c
April 14, 2015, 10:21 (GMT)
Fix for missing child data when the pathcache is not calculated.

The child strand root matrix and position still need to be stored, so
the writer must not exit early based on existence of the pathcache.
April 14, 2015, 09:50 (GMT)
Optimization for particle baking to caches, skip evaluation of pathcache
when not needed.

The pathcache data is only required in the first frame to construct the
child strand shapes. For subsequent frames the children are calculated
using the initial shape and parent deformation, so particles don't need
to recalculate all the time.

This gives a significant performance increase of the baking process when
using a lot of complicated child hairs.
April 14, 2015, 09:06 (GMT)
Apply child strand deformation only when using the cache result for
viewport or render display.

This way the strands can be cleanly written to subsequent output caches
without accumulating deformations.
April 14, 2015, 09:06 (GMT)
Major optimization for cache size when storing child strands.

The basis for this optimization is that child strands have a shape that
does not actually change over time: the particle code does not enforce
this formally, but in fact all the clump/kink/roughness algorithms take
great care to not introduce changes of shape over time.

The final look of child hairs is achieved only by following the parent
hair deformation, i.e. by applying the offset of the matching parametric
position on the parent strand.

This means that for caching child strands it is sufficient to store the
full vertex data only in the first sample, and then apply the parent
deformation on subsequent frames using only the animated root matrices.

In test cases this seems to reduce the cache size to something between
10-20 % of the original size (down to some hundred MB from some 10 GB).
Further optimizations could be achieved by using smaller data types,
such as quaternions instead of 3x3 or 4x4 matrices for the remaining
child data.
April 14, 2015, 09:06 (GMT)
Ignore the display/render settings of the cachelibrary when doing
simulations.

Otherwise the child strands and/or motion state can be missing and lead
to incomplete output caches.
April 13, 2015, 10:48 (GMT)
Alembic: Fix compilation error with alembic disabled

Was a mismatch in stub factory methods, presumably after some recent
changes in hair/strands.
April 12, 2015, 12:39 (GMT)
Fix for broken and messy particle time values to get consistent caches.

Particles use 0..100 range for parent particle "times" (curve parameter)
and 0..1 for children. For caches this is now uniformly calculated in
the 0..1 range to avoid breaking child interpolation.
April 11, 2015, 19:51 (GMT)
Used the mass parameter for hair simulation.
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021