Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-06-20Make object copying fully compatible/aware of new copy flag system.Bastien Montagne
(continuation of previous WIP commit, sorry about that one :/ ). This commits changes quite a few things, distributing new copying flags into sub-data copying code (mostly concerns ID refcounting or not). It also removes ID refcounting handling from Modifiers' copy callback (this was ugly from the start, proved to be problematic in current master, and generally bad practice). This is now done by calling code. Also, it brings back ID refcounting handling to main BKE_library's copy code, which means in generic ID copying lower-level IDType-specific copy code should not use it at all. Support at lower-level remains needed though, unfortunately, to cope with partial copying tools etc.
2017-04-20Fix T45350: Cache not being recomputed with "Bake All Dynamics"Luca Rood
2016-08-20Fix crash in OpenVDB highres smoke cache when seeking to frame 0.Alexander Gavrilov
This code obviously should also use the cache_fields flag variable, like the code for reading the lowres data in the same function. This is because fluid_fields actually represents the old state before smoke was reallocated to match cache_fields read from the file, and if it has some fields enabled that aren't allocated any more, it crashes. This also fixes a reverse glitch: when a file was loaded with the current frame in the middle of a baked smoke+fire simulation, smoke appeared immediately, but the fire didn't until the frame was changed. The reason is the same: after file load no fields are initially allocated and thus fluid_fields is 0.
2016-08-11Fix T49004 and motion blur of cloth, softbody, etc past the end frame.Alexander Gavrilov
Point cache read code contains checks designed to prevent it reading stale data when the relevant simulation code should instead compute the next frame from the previous one. However in some situations like motion blur subframes the simulation can't possibly do it and just exits. This causes completely incorrect motion blur at or after the last cached frame. To fix, add a parameter that tells the cache code whether it should apply the checks and exit, or read what it can even if stale (true means exactly same as old behavior). Doing this in cache rather than clamping the frame number better in the caller lets it handle the case of incomplete cache that stops before the official last frame. Reviewed By: mont29, lukastoenne Maniphest Tasks: T49004 Differential Revision: https://developer.blender.org/D2144
2016-07-26Fix T45936: invalid cycles motion blur for particle rotation and children.Alexander Gavrilov
Commit rB709ca0ece changed how rotation was handled for particles so that unless actual rotation physics is enabled, there is no rotation. However it only updated ptcache_particle_read, forgetting to change exactly the same code in ptcache_particle_interpolate. This means that for subframes old code that computes a rotation from velocity is used, resulting in completely different rotation than for integer frames. This causes rotational motion blur by itself, and also mangles motion blur paths of child particles. Reviewers: sergey, lukastoenne Maniphest Tasks: T45936 Differential Revision: https://developer.blender.org/D2124
2016-06-25Cleanup: remove bad-level callCampbell Barton
2016-06-18Cleanup: style, whitespace, doxy filepathsCampbell Barton
2016-04-25Refactor BKE_blender into separate headersCampbell Barton
- BKE_blender_version.h (only version defines & versionstr). - BKE_blender_copybuffer.h (currently only used for view3d copy/paste). - BKE_blender_undo.h (global undo functions). - BKE_blendfile.h (high level blend file read/write API).
2016-04-02Fix T47971: rigid body baking crash due to thread race condition.Brecht Van Lommel
2016-02-26Fix T47559: Crash when scrubbing in time on a OpenVDB Smoke.Kévin Dietrich
Cache reading was not using the right simulation flags (outdated), which made it lookup non-existent grids, and crash on de-referencing null pointers.
2016-02-07Fix T47351: slow rigid body sim bake after recent changes to use jobs system.Brecht Van Lommel
The bake system had a 200ms sleep for each frame substep, to give the UI time to redraw. I don't think there is a good reason to have this, with fair thread scheduling this will give UI thread 2x more time at best, and the UI doesn't need to be that responsive during bake.
2016-02-03Remove redundant file exists checksCampbell Barton
2016-01-31Point Cache: fix typo in smoke_openvdb_read.Kévin Dietrich
2016-01-23Implementation of OpenVDB as a possible cache format for smokeKévin Dietrich
simulations. This commits implements OpenVDB as an extra cache format in the Point Cache system for smoke simulations. Compilation with the library is turned off by default for now, and shall be enabled when the library is present. A documentation of its doings is available here: http:// wiki.blender.org/index.php/User:Kevindietrich/OpenVDBSmokeExport. A guide to compile OpenVDB can be found here (Linux): http:// wiki.blender.org/index.php?title=Dev:Doc/Building_Blender/Linux/ Dependencies_From_Source#OpenVDB Reviewers: sergey, lukastoenne, brecht, campbellbarton Reviewed By: brecht, campbellbarton Subscribers: galenb, Blendify, robocyte, Lapineige, bliblubli, jtheninja, lukasstockner97, dingto, brecht Differential Revision: https://developer.blender.org/D1721
2016-01-17Point Cache bake: make sure endframe is initialize with a decent value.Kévin Dietrich
This is how the old code used to initialize it. Current value was failing big time when baking all caches (always set to MAXFRAME), and it was added right before commit to quiet a warning... (I know, I know...)
2016-01-17Point Cache: use job system for bake operators.Kévin Dietrich
Reviewers: brecht Differential Revision: https://developer.blender.org/D1731
2015-11-23Cleanup: shadowing (blenkernel)Campbell Barton
2015-08-18Refactor translation code out of blenfontCampbell Barton
- Add blentranslation `BLT_*` module. - moved & split `BLF_translation.h` into (`BLT_translation.h`, `BLT_lang.h`). - moved `BLF_*_unifont` functions from `blf_translation.c` to new source file `blf_font_i18n.c`.
2015-07-31Replace MFace w/ vert-tri's for collision modifierCampbell Barton
Note that the collision modifier doesn't have any use for Loop indices, so to avoid duplicating the loop array too, MVertTri has been added which simply stores vertex indices (runtime only).
2015-06-02Cleanup: use const for object copy funcsCampbell Barton
2015-05-17Cleanup: indentationCampbell Barton
2015-03-13CMake: unbundle LZO libraryCampbell Barton
Patch T41989 by @hasufell
2015-02-02cleanup: style/spellingCampbell Barton
2015-01-26Cleanup: current/parent paths: add helpers in BLI_path_utils.Bastien Montagne
Also, avoid calling ugly strcmp with '.' or '..', making direct char checks is much cheaper here!
2015-01-26Cleanup: strcmp/strncmp -> STREQ/STREQLEN (in boolean usage).Bastien Montagne
Makes usage of those funcs much more clear, we even had mixed '!strcmp(foo, bar)' and 'strcmp(foo, bar) == 0' in several places...
2014-12-19Fix for bad file name string matching in point caches, leading toLukas Tönne
deletion of baked caches. This happens when objects use file names with matching prefixes: "CubeX" -> not baked "CubeXYZ" -> baked The first objects cache should be discarded up to the current frame on file load, but the second should be left intact. But because the cache file names for both use the same prefix as well (based on hex name representation) they both match the "CubeX" name and get discarded. Adding the underscore terminator solves this issue, because it is never part of the hex file name string. WARNING: this solution does not work with custom names for point caches. This feature is pretty much broken, users have to ensure their names are unique themselves. Due to the possibility of underscores in names and the ambiguity of point cache suffixes there is no reliable way to encode filenames in that case.
2014-11-29Cleanup: unused headersCampbell Barton
2014-11-23Refactor: BLI_path_util (part 2)Campbell Barton
Use BKE_appdir/tempdir naming prefix for functions extracted from BLI_path_util
2014-11-23Refactor: BLI_path_util (split out app directory access)Campbell Barton
This module is intended for path manipulation functions but had utility functions added to access various directories.
2014-10-29Fix T42294: Bullet rigidbody point cache reading was using uninitializedLukas Tönne
key values for velocity.
2014-09-27Fix T41974: blender ships vulnerable minilzo versionKévin Dietrich
Update lzo library due to security issue Update lzo to latest version. This fixes a security issue (reported in T41974) This also fixes some (false-positive) valgrind warnings. Reviewers: sergey Differential Revision: https://developer.blender.org/D803
2014-06-23T39690: Modifications to Blender's 'temp dir' system.Bastien Montagne
Current temporary data of Blender suffers one major issue - default 'temp' dir on Windows is never automatically cleaned up, and can end being quite big when used by Blender, especially when we have to store per-process data (using getpid() in file names). To address this, this patch: * Divides tempdir paths in two, one for 'base' temp dir (the same as previous unique tempdir path), the other is a mkdtemp-generated sub-dir, specific to each Blender instance. * Only uses base tempdir when we need some shallow persistance accross Blender sessions - and we always reuse the same filename (quit.blend...) or generate small file (crash reports...). * Uses temp sub-dir for heavy files like pointcache or renderEXRs (Save Buffer option). * Erases temp sub-dir on quit or crash. To get this working it also adds a working 'recursive delete' to BLI_delete() under Windows. Note that, as in current code, the 'recover render result' hack-feature that was possible with SaveBuffer option is still removed. A real renderresult cache feature will be added soon, though. Reviewers: campbellbarton, brecht, sergey Reviewed By: campbellbarton, sergey CC: sergey Differential Revision: https://developer.blender.org/D531
2014-04-30Code cleanup: remove unused includesCampbell Barton
Opted to keep includes if they are used indirectly (even if removing is possible).
2014-04-25Always init pointcache frame step to 1.Bastien Montagne
Note it was already the case for many simulations (cloth, rigidbody, etc.), just doing this systematically in BKE_ptcache_add() now, will avoid us some recurring bug reports. Advanced users will know when they can/have to raise this parameter!
2014-04-13Code cleanup: quiet warnings & styleCampbell Barton
2014-04-11Fix for rigidbody treating the quat as a v3 with pointcacheCampbell Barton
2014-04-02Rename "BLI_cpu.h" to "BLI_system.h" and add to it BLI_getpid() helper.Bastien Montagne
There is not much sense to have a whole BLI file just to check SSE2 on CPUs... So idea is to rename it to more generic "BLI_system", and add to it more system-related utils, like e.g. an include helper for getpid(), which allows to hide unix/windows internals from rest of the code... Reviewers: campbellbarton Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D439
2014-04-01Code cleanup: remove TRUE/FALSE & WITH_BOOL_COMPAT defineCampbell Barton
2014-02-07ListBase API: add utility api funcs for clearing and checking emptyCampbell Barton
2014-02-05Fix T35328: Disk caches of multiple particle systems on a single object ↵Sergey Sharybin
overwrite each other It was intended to work actually using particle cache's stack index but this index might have been calculated incorrect in special case: * With default cube scene, add particle system to the cube * Add disk cache to the particle system * Save file and reload it * Add another particle system and enable disk cache This would lead to two point caches with the same stack index of zero. This happened because point cache indices list wasn't stored in the .blend file so once you've reload your file blender doesn't know anything about number or point caches used. And what was even more confusing is that point cache indices list was trying to be load from the file, but this failed because it wasn't in the file. This commit solves the root of the issue which is ability of producing .blend file with two point caches using the same disk cache. This is done by making it sure that point cache indices list is stored in the .blend file. And also made it so disabling disk cache will tag it to recalculate stack index. Old broken files wouldn't magically start working, but fixing them is rather simple manually by toggling Disk Cache option. Reviewers: lukastoenne, brecht CC: sergof Differential Revision: https://developer.blender.org/D286
2013-12-26Threaded object update and EvaluationContextSergey Sharybin
Summary: Made objects update happening from multiple threads. It is a task-based scheduling system which uses current dependency graph for spawning new tasks. This means threading happens on object level, but the system is flexible enough for higher granularity. Technical details: - Uses task scheduler which was recently committed to trunk (that one which Brecht ported from Cycles). - Added two utility functions to dependency graph: * DAG_threaded_update_begin, which is called to initialize threaded objects update. It will also schedule root DAG node to the queue, hence starting evaluation process. Initialization will calculate how much parents are to be evaluation before current DAG node can be scheduled. This value is used by task threads for faster detecting which nodes might be scheduled. * DAG_threaded_update_handle_node_updated which is called from task thread function when node was fully handled. This function decreases num_pending_parents of node children and schedules children with zero valency. As it might have become clear, task thread receives DAG nodes and decides which callback to call for it. Currently only BKE_object_handle_update is called for object nodes. In the future it'll call node->callback() from Ali's new DAG. - This required adding some workarounds to the render pipeline. Mainly to stop using get_object_dm() from modifiers' apply callback. Such a call was only a workaround for dependency graph glitch when rendering scene with, say, boolean modifiers before displaying this scene. Such change moves workaround from one place to another, so overall hackentropy remains the same. - Added paradigm of EvaluaitonContext. Currently it's more like just a more reliable replacement for G.is_rendering which fails in some circumstances. Future idea of this context is to also store all the local data needed for objects evaluation such as local time, Copy-on-Write data and so. There're two types of EvaluationContext: * Context used for viewport updated and owned by Main. In the future this context might be easily moved to Window or Screen to allo per-window/per-screen local time. * Context used by render engines to evaluate objects for render purposes. Render engine is an owner of this context. This context is passed to all object update routines. Reviewers: brecht, campbellbarton Reviewed By: brecht CC: lukastoenne Differential Revision: https://developer.blender.org/D94
2013-12-09Fix T37712: Point cache index lookup crashed with 0 points stored.Lukas Tönne
The BKE_ptcache_mem_index_find is using unsigned ints for binary search "high" values - but this leads to integer overflow if the totpoint number is 0 and causes invalid array access.
2013-09-03Related to #36532: show message in modifier when cloth point cache read fails,Brecht Van Lommel
for example due to a subsurf modifier preceding a cloth modifier.
2013-08-27ghash/bli-listbase edits, rename BLI_ghash_pop -> BLI_ghash_popkey (since it ↵Campbell Barton
takes a key as an arg and isnt popping any element from the hash as you might expect). add BLI_pophead/tail, since getting the first element from a list and removing it is a common task.
2013-08-02Fix [#35541]: Point cache doesn't load existing frames from disk if cache ↵Miika Hamalainen
file name is changed.
2013-07-27fix for possible out of bounds read, printing a warning with pointcache header.Campbell Barton
2013-07-25add missing break to space-buttons listener, also rewind own recent change ↵Campbell Barton
(uiPopupBlockHandle.retvec size)
2013-07-15Fix #36058: Displace Modifier errors using a baked Image and displace baking ↵Sergey Sharybin
inconsistency between 2.67/2.68RC and previous versions This was in fact really nasty bug, caused by multitex_nodes function using global variable R (which is a copy of current renderer). this variable is not initialized to anything meaningful for until first rendering (preview or final) happened. Since multitex_nodes might be used outside of render pipeline, made it so whether CM is on or off as an argument to functions multitex_ext_safe and multitex_ext. Now multitex_nodes() is only shall be used for stuff happening from render pipeline! Also needed to make some changes to other places, so all the usages of texture sampling knows for the fact whether CM is on or off. And one more change is related on behavior of dispalcement, wave, warp, weightvg modifiers and smoke. They'll be always using CM off since texture is used for influence, not for color. It's rather bigger patch, but it's mostly straightforward changes, which we really need to be done. Reviewed by Brecht, thanks!
2013-04-12minor edit to bake printouts which could get mixed because of \r.Campbell Barton
2013-04-07Fix for [#34898] Typo in error message of mathutils.VectorThomas Dinges
* Also fixed some more cases of "more then" -> "more than".