Blender Git Commits

Blender Git "alembic" branch commits.

Page: 26 / 29

March 26, 2015, 13:12 (GMT)
Moved functions for constructing readers/writers based on cache library
out of pointcache into blenkernel.

This is quite simple and repetitive and there is not need to have this
in the main pointcache/Alembic API. The code is mostly concerned with
logic of DNA data, so pointcache shouldn't have to deal with it.
March 26, 2015, 13:12 (GMT)
Allow the cache bake operator to overwrite existing files, using a
confirm dialog.
March 26, 2015, 13:12 (GMT)
Free readers properly after applying cached data.
March 26, 2015, 13:12 (GMT)
Set reader/writer archive as a separate step outside the constructors.

This allows nicer creation of readers/writers //before// actually
opening the archive. This in turns can simplify code quite a bit.
March 26, 2015, 13:12 (GMT)
Record and display the last result of cache reading in the cache library
items.
March 26, 2015, 13:12 (GMT)
Improved filtering for cache library content.

In addition to the object name filtering, items in cache library groups
can now be filtered by type as well.

Existing items in the cache are always displayed, so as to not hide
important information (what gets stored in the cache). The filtering
is primarily a utility to simplify searching inside the group for things
that should be added to the cache.
March 26, 2015, 13:12 (GMT)
Don't show mesh cache items for non-mesh objects.
March 26, 2015, 13:12 (GMT)
Reader/Writer API functions for basic particles.

Also slightly renamed pathcache functions for consistency (use plural
'particles' instead of 'particle').
March 26, 2015, 13:12 (GMT)
New 'read' flag to toggle reading of the CacheLibrary as a whole.

This is also used during the bake process to avoid confusion: The read
flag gets disabled for the baking cachelib, so that objects don't try
to read cache data that is supposed to be generated.
March 26, 2015, 13:12 (GMT)
Nicer default filename for cache library paths.

This now appends a default extension based on the cache backend used.
At this point this is always Alembic (.abc) but would allow other
backend formats in the future.
March 26, 2015, 13:12 (GMT)
Replaced use of the HDF5 Alembic backend by Ogawa.

Ogawa is replacing HDF5 as the new de-facto standard. Selecting either
should be more formalized and a user option, for now it's just hardcoded.
March 26, 2015, 13:12 (GMT)
Use a uiTemplate function for showing cache library items instead of
python code to unify symbols.

This is necessary because the operator for adding new items (as opposed
to the enable/disable button) cannot be shown with the same checkbox
button. The UI template function can display a custom button for the
operator, so the look becomes less confusing.
March 26, 2015, 13:12 (GMT)
Generic validation function to help ensure that we don't add meaningless
items to a cache library.
March 26, 2015, 13:12 (GMT)
Use a generator in the python code to iterate over all the potential
cache library items.

This should ideally happen on the RNA side, but making the equivalent of
python generators in the RNA is really difficult.
March 26, 2015, 13:12 (GMT)
Disabled collection properties for 'virtual' cache items in RNA.

This requires a better design and is not so easy to implement properly
within the limits of RNA definition. These collections don't physically
exist in the DNA, they are mainly utilities for looping over
//potential// items in a cache library. For now the python code has to
be adapted to only show valid items, until the RNA provides a good
solution.
March 26, 2015, 13:12 (GMT)
Delete operator for cache library datablocks.

CacheLibrary datablock has a generic unlink function now, but currently
nothing actually links to cache libs themselves, so it's empty. Still
good to keep this in mind for the future.
March 26, 2015, 13:12 (GMT)
Removed deprecated and unused alembic API functions.

These are now implemented as virtual functions in the Factor class.
March 26, 2015, 13:12 (GMT)
Filter utility for finding objects in a cache group faster.

This is a preliminary feature and implemented purely in python, to be
replaced later.
March 26, 2015, 13:12 (GMT)
Fix for circular linker dependency with cache code library.

The `bf_pointcache_alembic` code is a separate library, to avoid
muddling up core code with alembic includes and preprocessor defines.
Alembic stuff only belongs strictly into alembic code and can be
disabled cleanly.

The `bf_pointcache` and `bf_pointcache_alembic` libraries had a circular
dependency, because the alembic implementation functions were called
directly. Now there is a "Factory" class to abstract the creation of
concrete implementations for readers and writers.
`bf_pointcache_alembic` defines this factory and is registered
//outside// of the core `bf_pointcache` lib, so there is no linker
circularity.
March 26, 2015, 13:12 (GMT)
Added poll function for the cache manager panel to prevent hiding in
Cycles render engine.

The "compat_engines" thingy really gets in the way here ...
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021