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
2016-06-22ID-Remap - Step one: core work (cleanup and rework of generic ID datablock ↵Bastien Montagne
handling). This commit changes a lot of how IDs are handled internally, especially the unlinking/freeing processes. So far, this was very fuzy, to summarize cleanly deleting or replacing a datablock was pretty much impossible, except for a few special cases. Also, unlinking was handled by each datatype, in a rather messy and prone-to-errors way (quite a few ID usages were missed or wrongly handled that way). One of the main goal of id-remap branch was to cleanup this, and fatorize ID links handling by using library_query utils to allow generic handling of those, which is now the case (now, generic ID links handling is only "knwon" from readfile.c and library_query.c). This commit also adds backends to allow live replacement and deletion of datablocks in Blender (so-called 'remapping' process, where we replace all usages of a given ID pointer by a new one, or NULL one in case of unlinking). This will allow nice new features, like ability to easily reload or relocate libraries, real immediate deletion of datablocks in blender, replacement of one datablock by another, etc. Some of those are for next commits. A word of warning: this commit is highly risky, because it affects potentially a lot in Blender core. Though it was tested rather deeply, being totally impossible to check all possible ID usage cases, it's likely there are some remaining issues and bugs in new code... Please report them! ;) Review task: D2027 (https://developer.blender.org/D2027). Reviewed by campbellbarton, thanks a bunch.
2015-10-12Add functions to compute normals (verts, polys and loops ones) for a given ↵Bastien Montagne
shapekey. Title says pretty much everything, we now have BKE and RNA funcs to get vertex, poly and loop normals of a given shapekey. This will be used e.g. in FBX exporter (shapekeys need normal data too). Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D1510
2015-10-08BKE_key: add BKE_key_from_id helper functionsCampbell 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-06-08RNA: Object.shape_key_remove methodCampbell Barton
Python had no ability to remove shape keys Original D1169 from @lichtwerk, with edits
2015-05-24Cleanup: styleCampbell Barton
2015-04-04Cleanup: use BKE_animdata_* prefixCampbell Barton
2015-01-09Fix T43159: Copying of linked datablocks using relpath leads to invalid ↵Bastien Montagne
paths in new copies. Propper fix reverting most of rB60e70c0c6014e5, which was only partial specific fix. This code uses generic `BKE_id_lib_local_paths()` func to handle all possible paths. Reviewers: sergey, campbellbarton Differential Revision: https://developer.blender.org/D977
2015-01-06Remove slurph shape-key featureCampbell Barton
This is an old option which wasn't working in over a year without complaint.
2014-11-17ShapeKey: Cleanup of BKE_keyblock_convert/update code.Bastien Montagne
Mainly: * Use 'for' loops instead of 'while' ones (saves many lines and regroup most loop handling on one line). * Use float[3] pointers where possible.
2014-11-17Fix T35170: Undoing edit op on a basis shapekey could generate extra offset ↵Bastien Montagne
on its 'children'. Based on investigation by sergey (Sergey Sharybin) and revzin (Grigory Revzin). Based on patch D460 by revzin (Grigory Revzin). Differential Revision: https://developer.blender.org/D460
2014-11-17ShapeKeys: Add `BKE_keyblock_is_basis` to check whether a given keyblock is ↵Bastien Montagne
used a basis by others. Also fix stupid debug-only error in previous commit.
2014-11-17Cleanup: rename `BKE_key_convert/update` to `BKE_keyblock_convert/update`.Bastien Montagne
We are handling a keyblock here, not a whole key(set). Names are alreay a bit confusing, let's be consistent at least.
2014-11-17ShapeKey: Refactor a bit `BKE_key_convert_from_...`Bastien Montagne
Thing is, those functions always reallocate the whole keyblock's data mem, while in some cases we already have right amount of elements, so we can just copy over. Further more, `BKE_key_convert_from_offset`, despite its name, was not making any check nor allocation on keyblock's data elements! So split 'copy' operation itself in `BKE_key_update_from_...`, where no mem checks/operations are performed (only an assert). Only useful in sculpt mode currently, but will be used by fix for T35170 too.
2014-11-16Cleanup: use BLI_listbase_*** prefix for count,sort,sort_rCampbell Barton
2014-10-21ListBase: use BLI_listbase_ for new api callsCampbell Barton
2014-10-21ShapeKeys: rework 'move skey' code, and add options to move to first/last ↵Bastien Montagne
position. Main moving logic is moved to new `BKE_keyblock_move()`, which makes it available from anywhere. In addition, move code was reworked so that it only loops once on whole keyblocks list, and it accepts arbitrary org and dest indices, not only neighbor ones. Partly based on work by revzin (Grigory Revzin) in his soc-2014-shapekey GSoC branch, thanks!
2014-05-19Fix T39897: shape keys created while the Relative checkbox is unchecked ↵Bastien Montagne
start out with frame=0 So! First, frame for absolute shape keys: never allow a new key to have the same pos as an existing one (this does not make sense). This way, the two workflows are possible (create all keys and then animate ctime, or animate ctime and then create keys where you need them). Also, fixed UIList for shapekeys, the "absolute" test was wrong, and better to show frame value, even though not editable, than nothing in case of absolute keys. And finally, add getter to RNA 'frame' readonly value, so that we output real frame values, and not dummy internal ones (which are /100) in our API.
2014-04-30Code cleanup: remove unused includesCampbell Barton
Opted to keep includes if they are used indirectly (even if removing is possible).
2014-04-26Code cleanup: use 'const' for arrays (blenkernel)Campbell Barton
2014-04-01Code cleanup: remove TRUE/FALSE & WITH_BOOL_COMPAT defineCampbell Barton
2014-02-14Code cleanup: duplicate headersCampbell Barton
2014-02-07ListBase API: add utility api funcs for clearing and checking emptyCampbell Barton
2014-02-03Code cleanup: use bools where possibleCampbell Barton
2014-01-15Python/Depsgraph: bpy.data.*.is_updated now detects add/remove of any datablock.Tom Edwards
Previously this only worked for some datablocks relevant to rendering, now it can be used to detect if any type of datablock was added or removed (but not yet to detect if it was modified, we need many more depsgraph tags for that). Most of the changes are some function parameter changes, the important parts are the DAG_id_type_tag calls. Reviewed By: sergey, brecht Differential Revision: https://developer.blender.org/D195
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-19Optimization and threading fix for shapekeys weights calculationSergey Sharybin
This commit fixes two different issues, which were caused by how weights are being calculated for relative shapekeys. Weights for key block used to saved in KeyBlock DNA structure, which lead to situations when different objects could start writing to the same weights array if they're sharing the same key datablock. Solved this in a way so weights are never stored in KeyBlock and being passed to shapekeys routines as an array of pointers. This way weights are still computed run-time (meaning they're calculated before shapekey evaluation and freed afterwards). This required some changes to GameEngine as well, to make it never cache weights in the key blocks. Another aspect of this commit makes it so weight for a given vertex group is only computed once. So if multiple key blocks are using the same influence vertex group, they'll share the same exact weights array. This gave around 1.7x speedup in test chinchilla file which is close enough to if we've been caching weights permanently in DNA (test machine is dual-code 4 threads laptop, speedup measured in depsgraph_mt branch, trunk might be not so much high speedup). Some further speed is optimization possible, but it could be done later as well. Thanks Brecht for idea of how the things might be solved in really clear way. -- svn merge -r58786:58787 ^/branches/soc-2013-depsgraph_mt
2013-08-07code cleanup: more confusion with 0/NULL/falseCampbell Barton
2013-07-30Use malloc in cases when data is getting overwriten after allocation.Sergey Sharybin
2013-07-19optimization: avoid memcpy with shake key vertex array.Campbell Barton
2013-06-25patch [#35830] Add Catmull-Rom spline as an option for lattice deformerCampbell Barton
2013-05-27bmesh optimization: use offsets for deform-vert lookups to avoid customdata ↵Campbell Barton
layer lookups within loops.
2013-05-17Bug fix, own collection.Ton Roosendaal
Shapekey drivers were executed for every call to derivedmesh, which shouldn't happen. It now only runs on the object_update() function, once for every depsgraph change. Error was found while testing preview render in viewport. On each render, the animsys sent a 'changed data' because of the shapekey drivers being called, causing eternal re-render loops (without showing anything).
2013-05-09Partial revert of own commits r56604 and r56603:Thomas Dinges
* Reverted the changes to code comments, as suggested by Campbell. It makes it more hard to follow. * Only keep changes to actual UI messages.
2013-05-09UI naming consistency:Thomas Dinges
* ShapeKey -> Shape Key. Was called "Shape Key" in most places already. Pointed out by Dalai, thanks!
2013-04-14code cleanup: rename BKE_tessmesh -> BKE_editmesh, rename ↵Campbell Barton
EditDerivedBMesh.tc -> em. ('tc' is odd name which isn't used elsewhere).
2013-03-25More new data names translation (most cases should be covered now).Bastien Montagne
Also done a few cleanup here and there...
2013-03-09code cleanup: favor braces when blocks have mixed brace use.Campbell Barton
2013-02-22patch [#34103] - listbase.patch, insertlinkbefore.patchCampbell Barton
from Lawrence D'Oliveiro (ldo) notes from tracker: use bool for return type from BLI_remlink_safe, necessitating including BLI_utildefines.h in BLI_listbase.h get rid of duplicate BLI_insertlink, use BLI_insertlinkafter instead. A few places which were using BLI_insertlinkafter (actually BLI_insertlink), when it would be simpler to use BLI_insertlinkbefore instead.
2013-01-27Fix drivers and shape keys not handling subframes / frame mapping properly.Brecht Van Lommel
Change Scene.frame_set so that it ensures subframe in range [0,1[ as Blender expects, otherwise some things like physics point cache lookups don't get evaluated properly.
2013-01-22property change reporting now uses the context again, rather then checking a ↵Campbell Barton
dir() on context, hard-code common paths. eg: bpy.context.scene.render.resolution_x = 1921 bpy.context.object.data.use_auto_smooth = True bpy.context.object.active_material.diffuse_intensity = 1 bpy.context.scene.world.exposure = 0.1 also remove duplicate GS() defines
2013-01-03fix [#33682] Animation not updated when the active shape index isnt setCampbell Barton
2012-12-18Fix #33505: various issuesBrecht Van Lommel
* Motion blur with shutter time > 1 did result in the correct evaluation of some modifiers because it set the subframe to values > 1, and some places assume the current frame to be set to the integer coordinate and the subframe to be a value between 0 and 1. * Shape keys did not take subframe time offsets into account. * Point density texture was using an current frame value that was never set.
2012-10-26style cleanupCampbell Barton
2012-10-23rename api functions...Campbell Barton
- minf, maxf, mini, maxi --> min_ff, max_ff, min_ii, max_ii
2012-10-22code cleanup: check defgroup_name_index() return value != -1, rather then ↵Campbell Barton
checking >= 0. also remove unused bmesh decimator code.
2012-10-21style cleanup: trailing tabs & expand some non prefix tabs into spaces.Campbell Barton
2012-09-27incorrect spelling in commentsCampbell Barton
2012-09-19joining mesh objects now keeps relative key setting of each keyblock. also ↵Campbell Barton
joining absolute shapekeys now sorts by time.
2012-09-19code cleanup: make shape key api names consistent with our new convention.Campbell Barton