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-08-07Refactor ID copying (and to some extent, ID freeing).Bastien Montagne
This will allow much finer controll over how we copy data-blocks, from full copy in Main database, to "lighter" ones (out of Main, inside an already allocated datablock, etc.). This commit also transfers a llot of what was previously handled by per-ID-type custom code to generic ID handling code in BKE_library. Hopefully will avoid in future inconsistencies and missing bits we had all over the codebase in the past. It also adds missing copying handling for a few types, most notably Scene (which where using a fully customized handling previously). Note that the type of allocation used during copying (regular in Main, allocated but outside of Main, or not allocated by ID handling code at all) is stored in ID's, which allows to handle them correctly when freeing. This needs to be taken care of with caution when doing 'weird' unusual things with ID copying and/or allocation! As a final note, while rather noisy, this commit will hopefully not break too much existing branches, old 'API' has been kept for the main part, as a wrapper around new code. Cleaning it up will happen later. Design task : T51804 Phab Diff: D2714
2017-04-21Merge branch 'master' into 28Campbell Barton
2017-04-20Fix T45350: Cache not being recomputed with "Bake All Dynamics"Luca Rood
2017-04-05Depsgraph: Remove all layer bit flags related checksSergey Sharybin
These bits became obsolete with the new layer system, so we can simplify some code around them or avoid existing workarounds which were trying to keep things working for them. There are still work needed to be done for on_visible_change to avoid unnecessary updates, but that can also happen later.
2017-02-15Bring rendering back (update all references to SETLOPPER)Dalai Felinto
2017-02-07Render Layers and Collections (merge from render-layers)Dalai Felinto
Design Documents ---------------- * https://wiki.blender.org/index.php/Dev:2.8/Source/Layers * https://wiki.blender.org/index.php/Dev:2.8/Source/DataDesignRevised User Commit Log --------------- * New Layer and Collection system to replace render layers and viewport layers. * A layer is a set of collections of objects (and their drawing options) required for specific tasks. * A collection is a set of objects, equivalent of the old layers in Blender. A collection can be shared across multiple layers. * All Scenes have a master collection that all other collections are children of. * New collection "context" tab (in Properties Editor) * New temporary viewport "collections" panel to control per-collection visibility Missing User Features --------------------- * Collection "Filter" Option to add objects based on their names * Collection Manager operators The existing buttons are placeholders * Collection Manager drawing The editor main region is empty * Collection Override * Per-Collection engine settings This will come as a separate commit, as part of the clay-engine branch Dev Commit Log -------------- * New DNA file (DNA_layer_types.h) with the new structs We are replacing Base by a new extended Base while keeping it backward compatible with some legacy settings (i.e., lay, flag_legacy). Renamed all Base to BaseLegacy to make it clear the areas of code that still need to be converted Note: manual changes were required on - deg_builder_nodes.h, rna_object.c, KX_Light.cpp * Unittesting for main syncronization requirements - read, write, add/copy/remove objects, copy scene, collection link/unlinking, context) * New Editor: Collection Manager Based on patch by Julian Eisel This is extracted from the layer-manager branch. With the following changes: - Renamed references of layer manager to collections manager - I doesn't include the editors/space_collections/ draw and util files - The drawing code itself will be implemented separately by Julian * Base / Object: A little note about them. Original Blender code would try to keep them in sync through the code, juggling flags back and forth. This will now be handled by Depsgraph, keeping Object and Bases more separated throughout the non-rendering code. Scene.base is being cleared in doversion, and the old viewport drawing code was poorly converted to use the new bases while the new viewport code doesn't get merged and replace the old one. Python API Changes ------------------ ``` - scene.layers + # no longer exists - scene.objects + scene.scene_layers.active.objects - scene.objects.active + scene.render_layers.active.objects.active - bpy.context.scene.objects.link() + bpy.context.scene_collection.objects.link() - bpy_extras.object_utils.object_data_add(context, obdata, operator=None, use_active_layer=True, name=None) + bpy_extras.object_utils.object_data_add(context, obdata, operator=None, name=None) - bpy.context.object.select + bpy.context.object.select = True + bpy.context.object.select = False + bpy.context.object.select_get() + bpy.context.object.select_set(action='SELECT') + bpy.context.object.select_set(action='DESELECT') -AddObjectHelper.layers + # no longer exists ```
2016-12-28Revert particle system and point cache removal in blender2.8 branch.Lukas Tönne
This reverts commit 5aa19be91263a249ffae75573e3b32f24269d890 and b4a721af694817fa921b119df83d33ede7d7fed0. Due to postponement of particle system rewrite it was decided to put particle code back into the 2.8 branch for the time being.
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-29Removed point cache blenkernel code.Lukas Tönne
2016-04-28Merge branch 'master' into temp_remove_particlestemp_remove_particlesLukas Tönne
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-13Removed remaining use of pointers to particle types as well as boids headers.Lukas Tönne
2016-04-13Removed particle DNA.Lukas Tönne
2016-04-13Removed blenkernel particle code.Lukas Tönne
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