April 1, 2015, 18:27 (GMT) |
Made the duplicache clear function public. It's a common operation that may be useful later, no reason to keep this hidden. |
April 1, 2015, 18:03 (GMT) |
Basic strand processing in the hair sim cache modifier. |
April 1, 2015, 14:11 (GMT) |
Clean up vertex/normal client state after drawing strands. This should hopefully prevent some random crashes. |
April 1, 2015, 11:07 (GMT) |
Clean up: Avoid unused variable warnings. |
April 1, 2015, 11:02 (GMT) |
Added missing stub function when Alembic is disabled. |
April 1, 2015, 10:21 (GMT) |
Override the init function for DupliObjectReader, so Cycles gets the cache result when constructing render meshes. |
April 1, 2015, 09:31 (GMT) |
Added writers for DupliCache data to allow truely successive cache modification. The bake operator will now generate output based on the 'source_mode' setting: * When the source is SCENE it uses the basic object data as stored in the Object ID datablocks (DerivedMesh, particle hair strands etc.) * When the source is CACHE it fills a temporary DupliCache with data from the cache archive (like it would for the display dupli_cache, but also supporting render data). This dupli cache is carried over between frames during baking, which allows modifiers to act as simulations and sequentially advance motion states. |
March 31, 2015, 16:46 (GMT) |
GHash iterator wrapper for DupliCache, so cache modifiers can access all components in the cache. |
March 31, 2015, 16:12 (GMT) |
Removed unused "object cache" iterator code. |
March 31, 2015, 16:06 (GMT) |
Added transient DupliCache data baking modifiers/simulations and writing into the output cache archive. |
March 31, 2015, 15:44 (GMT) |
Removed the Cache modifier because it is unused now and causes some merge conflicts with master. |
March 31, 2015, 14:59 (GMT) |
Merge branch 'master' into alembic Conflicts: source/blender/blenloader/intern/readfile.c source/blender/editors/space_view3d/view3d_intern.h source/blender/makesdna/DNA_modifier_types.h source/blender/makesrna/intern/rna_modifier.c source/blender/modifiers/MOD_modifiertypes.h source/blender/modifiers/intern/MOD_util.c |
March 31, 2015, 12:25 (GMT) |
Removed the redundant cache exporter class from the pointcache lib. Writing in C++ is a little bit more convenient, but this functionality does not require the additional level of complexity. |
March 31, 2015, 10:21 (GMT) |
Support for shading "normals" in strand rendering. Note that the fixed-function OpenGL pipeline does not support true strand normals. The shading model used copies the method implemented for particles, using the edge directions as normals. This is totally unphysical but at least gives some indication of direction. Viewport refactor and programmable shaders are needed to make this work nicer. |
March 31, 2015, 09:49 (GMT) |
Store the overall result of cache reading in the DupliCache. This is used to prevent empty dupli lists when reading the cache fails. In that case the duplilist function will now revert to default scene evaluation. |
March 31, 2015, 09:26 (GMT) |
Extend the cache reading function to take the result archive into account. |
March 31, 2015, 08:33 (GMT) |
Reorganization of file paths and input/output workflow in cache libraries. Having a cache archive output in each modifier is not really practical. Now the cache library has at most 2 file paths. These are used based on 2 associated settings: source mode/path and display mode/path. * The SOURCE mode determines whether the original scene data is used as input or a cache archive. If the scene input is used the dupli group objects will be evaluated as usual with Mesh data, modifiers, proxy armatures, etc.. With cache input the data stored in a cache is used to override the scene data instead. * The DISPLAY mode is essentially a toggle for the whole cache modifier stack. If it is set to 'source' the respective source data is used without further modification. If set to 'result' the data from the output cache archive is used, which can be generated using the bake operator. During baking the data will be passed through the cache modifiers to create a variation of the original source data. |
March 30, 2015, 16:43 (GMT) |
Simplification of the cache library filtering mechanism. Now the filtering is simply based on the data types that should go into the cache, instead of selecting each object and component individually. This is slightly more limited and may need to be revisited again later, but for the time being it is much less confusing and clumsy. Filtering by objects can be accomplished by creating groups accordingly. Making groups specifically for caching is totally acceptable. |
March 30, 2015, 16:34 (GMT) |
Fix for crash on dupli drawing, due to check of ob.transflag after it is already restored. |
March 30, 2015, 12:11 (GMT) |
Fix for crashes when changing draw types that affect dupli objects. The draw code was restoring the derivedFinal mesh unconditionally after drawing duplis. However, the drawing code can in some cases replace the derivedFinal pointer during drawing (bad!). This then leads to invalid pointer access. Fix is to only touch the derivedFinal when it's actually a dupli cache mesh. |
|