diff options
author | Miika Hamalainen <blender@miikah.org> | 2012-01-16 21:18:07 +0400 |
---|---|---|
committer | Miika Hamalainen <blender@miikah.org> | 2012-01-16 21:18:07 +0400 |
commit | 4d9197866b40fec9884236c05053d85fe6d0255f (patch) | |
tree | 5a7c1bbf49712f9315861eb9b8d35160b5128b10 /source/blender/blenloader | |
parent | e81f2853c8785b0a84ecebf7c4db433af434c5c8 (diff) |
Dynamic Paint:
* Added per surface options "influence scale" and "radius scale" for tweaking brush settings individually for each surface.
* Added option to completely disable drying. This should be nice for indefinitely spreading paint etc.
* Improved paint mixing algorithm.
* "Paint effects" now work in relative mesh space instead of global. This means that effect speed remains same for identical shapes regardless of their size.
* Complete rewrite of "spread effect" algorithm. It now works much better in all test cases done. Old algo sometimes produced artifacts and stopped spreading too early.
* Adjustments / rewrite on some parts of dripping algorithm to make it work better with transparent paint.
* Added a new "color dry" setting. It can be used to define wetness level when paint colors start to shift to surface "background". Lower values can be useful to prevent spreading paint from becoming transparent as it dries, while higher (default) values give better results in general.
* Fix: If multiple displace/wave surfaces were used simultaneously, displace was applied using wrong normal.
Please note that due to these changes in "paint effects" system older save files may require some tweaking to match results from previous versions.
Diffstat (limited to 'source/blender/blenloader')
-rw-r--r-- | source/blender/blenloader/intern/readfile.c | 30 |
1 files changed, 28 insertions, 2 deletions
diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c index 1aa71732697..6855ece8cd7 100644 --- a/source/blender/blenloader/intern/readfile.c +++ b/source/blender/blenloader/intern/readfile.c @@ -12974,8 +12974,8 @@ static void do_versions(FileData *fd, Library *lib, Main *main) } } } - - /* put compatibility code here until next subversion bump */ + + if (main->versionfile < 261 || (main->versionfile == 261 && main->subversionfile < 3)) { { /* convert extended ascii to utf-8 for text editor */ @@ -12994,6 +12994,32 @@ static void do_versions(FileData *fd, Library *lib, Main *main) } } } + { + /* set new dynamic paint values */ + Object *ob; + for(ob = main->object.first; ob; ob = ob->id.next) { + ModifierData *md; + for(md= ob->modifiers.first; md; md= md->next) { + if (md->type == eModifierType_DynamicPaint) { + DynamicPaintModifierData *pmd = (DynamicPaintModifierData *)md; + if(pmd->canvas) + { + DynamicPaintSurface *surface = pmd->canvas->surfaces.first; + for (; surface; surface=surface->next) { + surface->color_dry_threshold = 1.0f; + surface->influence_scale = 1.0f; + surface->radius_scale = 1.0f; + surface->flags |= MOD_DPAINT_USE_DRYING; + } + } + } + } + } + } + } + + /* put compatibility code here until next subversion bump */ + { } /* WATCH IT!!!: pointers from libdata have not been converted yet here! */ |