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
2013-08-19Make lattice deform safe for threadingSergey Sharybin
Lattice deformation used to store some runtime data inside of lattice datablock itself. It's something which is REALLY bad. Ideally DNA shouldn't contain and runtime data. For now solved it in a way that initialization of lattice deform will create a structure which contains lattice object for which deformation is calculating and that runtime data which used to be stored in lattice datablock itself. It works really fine for mesh deform modifier, but there's still runtime data stored in particle system DNA, It didn't look something easy to be solved, so leaving this as-is for now. -- svn merge -r58277:58278 -r58795:58796 ^/branches/soc-2013-depsgraph_mt
2013-08-19Move bevel list and path from Curve to Object datablockSergey Sharybin
I know this is not so much nice to have this guys hanging around in a general Object datablock and ideally they better be wrapped around into a structure like DerivedMesh or something like this. But this is pure runtime only stuff and we could re-wrap them around later. Main purpose of this is making curves more thread safe, so no separate threads will ever start freeing the same path or the same bevel list. It also makes sense because path and bevel shall include deformation coming from modifiers which are applying on pre-tesselation point and different objects could have different set of modifiers. This used to be really confusing in the past and now data which depends on object is stored in an object, making things clear for understanding even. This doesn't make curve code fully thread-safe due to pre-tesselation modifiers still modifies actual nurbs and lock is still needed in makeDispListsCurveTypes, but this change makes usage of paths safe for threading. Once modifiers will stop modifying actual nurbs, curves will be fully safe for threading. Actually, this commit also contains wrapping runtime curve members into own structure This allows easier assignment on file loading, keeps curve- specific runtime data grouped and saves couple of bytes in Object for non-curve types. -- svn merge -r57938:57939 ^/branches/soc-2013-depsgraph_mt svn merge -r57957:57958^/branches/soc-2013-depsgraph_mt
2013-08-19Made modifiers_getVirtualModifierList safe for threadingSergey Sharybin
Move static variables to context filling in by this fcuntion and owned by a callee function. This ensures no conflicts between threads happens because of static variables used in this function. Also moved modifier types and virtual modifiers data to a function called from creator. This is needed to be sure all the information is properly initialied to the time when threads starts to use this data. -- svn merge -r57899:57900 ^/branches/soc-2013-depsgraph_mt
2013-07-13remove redundant null checks and avoid divide by zero in driver evaluationCampbell Barton
2013-06-29replace LATTICE_PT macro with BKE_lattice_index_from_uvw().Campbell Barton
2013-06-24lattice: use functions rather then defines, also added a function to get uvw ↵Campbell Barton
from an index. - BKE_lattice_index_from_uvw() - BKE_lattice_index_to_uvw()
2013-06-10patch [#35631] Active element for LatticeCampbell Barton
by Kevin Mackay (yakca) Was one of our TODO's from the wiki.
2013-05-26BLI_math rename functions:Campbell Barton
- mult_m4_m4m4 -> mul_m4_m4m4 - mult_m3_m3m4 -> mul_m3_m3m4 these temporary names were used to avoid problems when argument order was switched.
2013-03-09code cleanup: favor braces when blocks have mixed brace use.Campbell Barton
2013-02-14Divide by 3 instead of multiplying by variations of 0.333Sergej Reich
Fixes small precision problems.
2013-02-05Fix #34040: Moving Normal Node with enabled Cycles Material Preview crashesSergey Sharybin
Issue was caused by couple of circumstances: - Normal Map node requires tesselated faces to compute tangent space - All temporary meshes needed for Cycles export were adding to G.main - Undo pushes would temporary set meshes tessfaces to NULL - Moving node will cause undo push and tree re-evaluate fr preview All this leads to threading conflict between preview render and undo system. Solved it in way that all temporary meshes are adding to that exact Main which was passed to Cycles via BlendData. This required couple of mechanic changes like adding extra parameter to *_add() functions and adding some *_ex() functions to make it possible RNA adds objects to Main passed to new() RNA function. This was tricky to pass Main to RNA function and IMO that's not so nice to pass main to function, so ended up with such decision: - Object.to_mesh() will add temp mesh to G.main - Added Main.meshes.new_from_object() which does the same as to_mesh, but adds temporary mesh to specified Main. So now all temporary meshes needed for preview render would be added to preview_main which does not conflict with undo pushes. Viewport render shall not be an issue because object sync happens from main thread in this case. It could be some issues with final render, but that's not so much likely to happen, so shall be fine. Thanks to Brecht for review!
2013-02-01Fix #34070: set origin operator did not work for lattice objects.Brecht Van Lommel
2012-12-28code cleanup:Campbell Barton
- free_dverts -> BKE_defvert_array_free - copy_dverts -> BKE_defvert_array_copy also move the functions from BKE_mesh into BKE_deform
2012-12-15move pbvh into BKE, it used many BKE bad level includes.Campbell Barton
now blenlib/BLI doesn't depend on any blenkern/BKE functions, there are still some bad level includes but these are only to access G.background and the blender version define.
2012-12-15move bpath module from BLI to BKE, it was making many bad level calls into BKE.Campbell Barton
2012-12-11define the size of matrix args for both rows/cols.Campbell Barton
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-15code cleanup: define sizes of vectors for function args and use C style commentsCampbell Barton
2012-10-07style cleanup: if();Campbell Barton
2012-09-14fixes for NULL checks, remove some redundant checks and add some in that ↵Campbell Barton
have been removed by accident as code has been updated.
2012-07-19code cleanup: remove commented includes - mostly from 2.4xCampbell Barton
2012-06-17style cleanup:Campbell Barton
also fix for building ghost test and fix double free in one of the tests
2012-05-27style cleanupCampbell Barton
2012-05-22fix for regression in curve modifier (own fault)Campbell Barton
2012-05-19code cleanup: use TRUE/FALSE rather then 1/0 for better readability, also ↵Campbell Barton
replace do prefix with do_ for bool vars.
2012-05-13code cleanup: use vector math function minmax_v3v3_v3() and other minor ↵Campbell Barton
vector function edits.
2012-05-09Refactor of modifiers' apply function: now use a single bit-flag parameter ↵Bastien Montagne
to pass options, instead of having one parameter per boolean flag (i.e. replaces current useRenderParams and isFinalCalc by a single ModifierApplyFlag flag. ModifierApplyFlag is an enum defined in BKE_modifier.h). This way we won't anymore have to edit all modifier files when e.g. adding a new control flag! Should have no effect over modifier behavior.
2012-05-07Style cleanup: displist moduleSergey Sharybin
2012-05-06style cleanup: BKE_*.c files which deal with library functionsCampbell Barton
2012-05-05code cleanup: naming - pose/armature/image Campbell Barton
also use ..._find_name(..., name) rather then ..._find_named(..., name) --- both were used.
2012-05-05code cleanup: function naming, use BKE_*type* prefix.Campbell Barton
2012-04-29style cleanup: whitespace / commasCampbell Barton
2012-04-28code cleanup: Campbell Barton
- replace inline face UV center calc. - use const float[3] for mesh and uv functions. - remove unused define
2012-03-26rename lattice influence to strength from r45144 (other deform modifiers ↵Campbell Barton
call it strength too)
2012-03-26Patch: [#30652] Influence slider for Lattice ModifierThomas Dinges
* This patch adds a influence slider for the lattice modifier, which affects the strength of the deformation. Patch by Patrick Boelens (senshi), thanks a lot!
2012-03-24style cleanup: follow style guide for formatting of if/for/while loops, and ↵Campbell Barton
else if's
2012-03-04style cleanup / comment formatting for bli/bke/bmeshCampbell Barton
2012-02-23style cleanup for blenkernel, no functional changes.Campbell Barton
2012-02-01remove old code and use macro for latt_bp() functionCampbell Barton
2012-02-01calc_curve_deform was using axis range of 1-6, but other parts of the code ↵Campbell Barton
use 0-5. (confusion here casued an error in the code). make calc_curve_deform use 0-5 too, only minor changes needed.
2012-02-01fix incorrect neg axis check for the curve deform modifier's boundbox.Campbell Barton
2012-02-01fix [#30037] Curve Modifier doesn't work within -X -Y -Z translation in such ↵Campbell Barton
cases? the curve modifier was applying the offet between the mesh and the curve object twice. for positive axis it was (offset+offser), for neg axis (offset-offset) --- giving no offset, in both cases not very useful.
2012-02-01fix inconsistancy with curve deform bounds being set differently when vertex ↵Campbell Barton
groups were used.
2012-02-01minor cleanup made while looking into bug report (having vector size in ↵Campbell Barton
comments is silly, may as well have in declaration)
2011-12-16Math lib: matrix multiplication order fix for two functions that wereBrecht Van Lommel
inconsistent with similar functions & math notation: mul_m4_m4m4(R, B, A) => mult_m4_m4m4(R, A, B) mul_m3_m3m4(R, B, A) => mult_m3_m3m4(R, A, B) For branch maintainers, it should be relatively simple to fix things manually, it's also possible run this script after merging to do automatic replacement: http://www.pasteall.org/27459/python
2011-12-04add a new object member to store the dsize, since with my recent commit ↵Campbell Barton
broke forward compatibility. now the new values are copied into 'dscale' and existing ones remain. this is annoying since now we have dsize and dscale, will look into a way to deprecate struct members next.
2011-11-30fix [#29459] Crash making a linked object group localCampbell Barton
was an error with make-local refactor & path updating.
2011-11-07minor editsCampbell Barton
- remove unneeded type check from convert grease pencil operator. - correct some error prints & use __func__. - make copy_libblock take an ID* argument rather than void*.
2011-11-05use (const char*) rather than (char*) where possible.Campbell Barton
also removed some unused function definitons.
2011-11-01added path traversal flag - BPATH_TRAVERSE_SKIP_MULTIFILE,Campbell Barton
so path manipulation functions dont run multiple times on the same path in the case of sequence strips where the one directory is used as the base for many images.