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-07-02move api functions from r57909 into BKE.Campbell Barton
2013-06-28view-selected didnt work for metaballs in object mode (radius from previous ↵Campbell Barton
commit was 2x too large too).
2013-06-28Fix #35808: blender internal viewport with freestyle would keep continuouslyBrecht Van Lommel
rerendering for no reason. Update tags were not being done in the proper Main database.
2013-06-10code cleanup: use boolean for intersection functions.Campbell Barton
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-05-18Fix #35404: crash in file save with python code that accesses mesh from panel.Brecht Van Lommel
On file save the mesh gets loads from the editmesh but the derived mesh caches wer not cleared. This usually happens through the depsgraph but it needs to be done manually here. Most changes are some refactoring to deduplicate derived mesh freeing code.
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-15Move sculptsession functions implementation from object.c to paint.cSergey Sharybin
This functios are declared in BKE_paint.h header and using SculptSession structure which is also declared there. Anyway, does not make sense such a splitting of header and implementation files, better be consistent here.
2013-05-15Fix #35362: using dyntopo gives wrong render resultsSergey Sharybin
Made it so dynamic topology will flush changes from SculptSession->bm to Object->me. Used the same approach as sculptsession_bm_to_me does, but instead of using DAG_id_tag_update used in-place DerivedMesh release. Otherwise this lead to some update issues resulting in missed object after render. Also fixed multires modifier not being applied for render when rendering from dyntopo sculpt mode. P.S. Apparently sculpsession_bm_to_me was declared in BKE_paint.h but implemented in object.c. Rather confusing and better make it so this functions are declared and implemented in consistent files. But will solve this in a separate commit.
2013-05-01Fix #35149: solidify modifier + vertex parent not working after going in and outBrecht Van Lommel
of editmode on the child object. Problem was that the object custom data mask was not taken into account when rebuilding the derivedmesh in some cases, which is needed for the derivedmesh to contain the mapping back to the original vertices. Now this data mask is used for any derivedmesh build that will be cached. Also problematic was that the datamask for the active object was applied to all objects in the scene, which caused the parent object to be recalculated when it didn't need to be. Now this datamask is only used for the active object.
2013-04-26game engine: Use 0.04 as default collision marginSergej Reich
0 is to unstable as a default.
2013-04-18Make freestyle use local Main for temporary objectsSergey Sharybin
This means main database is no longer pollutes with temporary scene and objects needed for freestyle render. Actually, there're few of separated temporary mains now. Ideally it's better to use single one, but it's not so much trivial to pass it to all classes. Not so big deal actually. Required some changes to blender kernel, to make it possible to add object to a given main, also to check on mesh materials for objects in given main. This is all straightforward changes. As an additional, solved issue with main database being infinitely polluted with text blocks created by create_lineset_handler function. This fixes: - #35003: Freestyle crashes if user expands objects in FRS1_Scene - #35012: ctrl+f12 rendering crashes when using Freestyle
2013-04-16code cleanup: use BKE naming conventions for functions in BKE_editmesh.h and ↵Campbell Barton
BKE_editmesh_bvh.h
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-04-05style cleanupCampbell Barton
2013-04-04svn merge ^/trunk/blender -r55700:55776Campbell Barton
2013-04-04code cleanup: use bools, (float)sin/(float)cos -> sinf/cosf, more meaningful ↵Campbell Barton
var names.
2013-04-03code cleanup: use more (blender) conventional naming for group functions.Campbell Barton
also change dump_rna2xml.py to dump bpy.data by default.
2013-03-26Freestyle: fix crash unlinking objectSergey Sharybin
Was getting an address of pointer variable.
2013-03-24Merged changes in the trunk up to revision 55546.Tamito Kajiyama
Conflicts resolved: source/blenderplayer/bad_level_call_stubs/SConscript Partly reverted changes to intern/cycles/blender/addon/ui.py in revision 52899 to make it easier to merge trunk changes.
2013-03-23A major code update for making the DNA file specification of Freestyle settingsTamito Kajiyama
and RNA for it independent of the build flag for enabling Freestyle. Suggested by Sergey Sharybin through a code review of the branch. * Many #ifdef WITH_FREESTYLE blocks were removed to always have Freestyle-specific DNA file specification and RNA for it built in Blender. This will allow Freestyle setting survive even when a non-Freestyle build is used for loading and saving files. It is noted that operations are still conditionally built through #ifdef WITH_FREESTYLE blocks. * To this end, new blenkernel files BKE_freestyle.h and intern/freestyle.c have been added. All API functions in FRS_freestyle_config.h as well as some of those in FRS_freestyle.h were moved to the new files. Now the relocated API functions have BKE_ prefix instead of FRS_.
2013-03-21code cleanup: use bool where values are true/false, for view3d and related ↵Campbell Barton
functions.
2013-03-20I18n users request: add the ability to use a translated name for newly ↵Bastien Montagne
added/created objects or other datablocks. This simply adds a third "translation type" (in addition to iface and tip), "new data", with relevant user settings flag and helper funcs/macros (and py api). Currently implemented name translation when adding new objects, as well as modifiers and constraints, will add the others (cd layers, scenes, perhaps nodes [though I think they do not need this], etc.) later.
2013-03-18Merged changes in the trunk up to revision 55357.Tamito Kajiyama
Resolved conflicts: release/datafiles/startup.blend source/blender/editors/space_nla/nla_buttons.c Also updated source/blender/blenkernel/intern/linestyle.c as a follow-up of recent changes for the use of bool.
2013-03-11code cleanup:Campbell Barton
- move recursive bone/parent check into ED_armature.h - remove unused vars - use const for paint vector args.
2013-03-09use 'bool' for BLI_/BKE_ functions.Campbell Barton
2013-03-09expose obrel_is_recursive_child in BKE_object.h and rename to ↵Campbell Barton
BKE_object_is_child_recursive()
2013-03-04fix [#34473] Blender Crashes on toggling modes, dynatopo sculpt/object mode.Campbell Barton
2013-02-24Merged changes in the trunk up to revision 54802.Tamito Kajiyama
2013-02-21Dependency Graph: some refactoring which should have no user visible impactBrecht Van Lommel
besides performance in some cases. * DAG_scene_sort is now removed and replaced by DAG_relations_tag_update in most cases. This will clear the dependency graph, and only rebuild it right before it's needed again when the scene is re-evaluated. This is done because DAG_scene_sort is slow when called many times from python operators. Further the scene argument is not needed because most operations can potentially affect more than the current scene. * DAG_scene_relations_update will now rebuild the dependency graph if it's not there yet, and DAG_scene_relations_rebuild will force a rebuild for the rare cases that need it. * Remove various places where ob->recalc was set manually. This should go through DAG_id_tag_update() in nearly all cases instead since this is now a fast operation. Also removed DAG_ids_flush_update that goes along with such manual tagging of ob->recalc.
2013-02-17rigidbody: Fix regression in background scene fixSergej Reich
Since BKE_object_where_is_calc() might be called outside of scene_update_tagged_recursive(), we need to fall back to the scene's rigid body world.
2013-02-17code cleanup: missed r54603, arg reordering.Campbell Barton
2013-02-17code cleanup: change order of args in void ↵Campbell Barton
BKE_object_where_is_calc_time_ex() so extra arg is at the end (loose convention for *_ex() funcs). also some style cleanup.
2013-02-16Merged changes in the trunk up to revision 54594.Tamito Kajiyama
2013-02-16rigidbody: Further fix for background scenesSergej Reich
Since rigid bodies need their world to be be updated correctly we now pass it alongside the parent scene in scene_update_tagged_recursive(). Add BKE_object_handle_update_ex() as well as other object functions that take a RigidBodyWorld for this. Ideally this shouldn't be needed but we'd have to restructure scene handling for that. It's not a small taks however and definitely not something that can be done before release. Thanks to Campbell for review.
2013-02-15Bugfix [#33970] Background Scene does not show animation of rigid body objectsJoshua Leung
This was caused by multiple instantiations of the same basic problem. The rigidbody handling code often assumed that "scene" pointers referred to the scene where an object participating in the sim resided (and where the rigidbody world for that sim lived). However, when dealing with background sets, "scene" often only refers to the active scene, and not the set that the object actually came from. Hence, the rigidbody code would often (wrongly) conclude that there was nothing to do. For example, we may have the following backgound set/scene chaining scenario: "active" <-- ... <-- set i (rigidbody objects live here) <-- ... <-- set n The fix here is a multi-part fix: 1) Moved sim-world calculation from BKE_scene_update_newframe() to scene_update_tagged_recursive() + This is currently the only way that rigidbody sims in background sets will get calculated, as part of the recursion - These checks will get run on each update. <--- FIXME!!! 2) Tweaked depsgraph code so that when checking if there are any time-dependent features on objects to tag for updating, the checking is done relative to the scene that the object actually resides in (and not the active scene). Otherwise, even if we recalculate the sim, the affected objects won't get tagged for updating. This tagging is needed to actually flush the transforms out of the RigidBodyObject structs (written by the sim/cache) and into the Object transforms (obmat's) 3) Removed the requirement for rigidbody world to actually exist before we can flush rigidbody transforms. In many cases, it should be sufficient to assume that because the object with rigidbody data attached has been tagged for updates, it should have updates to perform. Of course, we still check on this data if we've got it, but that's only if the sim is in the active scene. - TODO: if we have further problems, we should investigate passing the "actual" scene down alongside the "active" scene for BKE_object_handle_update().
2013-02-14Divide by 3 instead of multiplying by variations of 0.333Sergej Reich
Fixes small precision problems.
2013-02-10Merged changes in the trunk up to revision 54421.Tamito Kajiyama
Conflicts resolved: release/datafiles/startup.blend release/scripts/startup/bl_ui/properties_render.py source/blender/SConscript source/blender/blenloader/intern/readfile.c
2013-02-09rigidbody: Relink constraints when duplicating objectsSergej Reich
This will preserve constraint <-> rigid body realationships so constraint setups aren't broken after duplication. Based on a patch by Brandon Hechinger (jaggz), thanks.
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-01-29Merged changes in the trunk up to revision 54171.Tamito Kajiyama
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-27Merged changes in the trunk up to revision 54110.Tamito Kajiyama
Conflicts resolved: source/blender/blenfont/SConscript source/blender/blenkernel/intern/subsurf_ccg.c source/blender/makesdna/intern/makesdna.c source/blender/makesrna/intern/rna_scene.c
2013-01-24use bool for new code.Campbell Barton
2013-01-24Armature rigging:Ton Roosendaal
Added more clear warning print for cases when a Proxy cannot be resolved.
2013-01-23rigidbody: Add rigid body constraintsSergej Reich
Constraints connect two rigid bodies. Depending on which constraint is used different degrees of freedom are limited, e.g. a hinge constraint only allows the objects to rotate around a common axis. Constraints are implemented as individual objects and bahave similar to rigid bodies in terms of adding/removing/validating. The position and orientation of the constraint object is the pivot point of the constraint. Constraints have their own group in the rigid body world. To make connecting rigid bodies easier, there is a "Connect" operator that creates an empty objects with a rigid body constraint connecting the selected objects to active. Currently the following constraints are implemented: * Fixed * Point * Hinge * Slider * Piston * Generic Note: constraint limits aren't animatable yet).
2013-01-23rigidbody: Add rigid body simulationSergej Reich
Add operators to add/remove rigid body world and objects. Add UI scripts. The rigid body simulation works on scene level and overrides the position/orientation of rigid bodies when active. It does not deform meshes or generate data so there is no modifier. Usage: * Add rigid body world in the scene tab * Create a group * Add objects to the group * Assign group to the rigid body world * Play animation For convenience the rigid body tools operators in the tools panel of the 3d view will add a world, group and add objects to the group automatically so you only have to press one button to add/remove rigid bodies to the simulation. Part of GSoC 2010 and 2012. Authors: Joshua Leung (aligorith), Sergej Reich (sergof)
2013-01-23rigidbody: Add DNA/RNA/BKE infrastructure for the rigid body simSergej Reich
This is just the basic structure, the simulation isn't hooked up yet. Scenes get a pointer to a rigid body world that holds rigid body objects. Objects get a pointer to a rigdid body object. Both rigid body world and objects aren't used directly in the simulation and only hold information to create the actual physics objects. Physics objects are created when rigid body objects are validated. In order to keep blender and bullet objects in sync care has to be taken to either call appropriate set functions or flag objects for validation. Part of GSoC 2010 and 2012. Authors: Joshua Leung (aligorith), Sergej Reich (sergof)
2013-01-21Fixed render time regression in Blender InternalSergey Sharybin
It was caused by image threading safe commit and it was noticeable only on really multi-core CPU (like dual-socket Xeon stations), was not visible on core i7 machine. The reason of slowdown was spinlock around image buffer referencing, which lead to lots of cores waiting for single core and using image buffer after it was referenced was not so much longer than doing reference itself. The most clear solution here seemed to be introducing Image Pool which will contain list of loaded and referenced image buffers, so all threads could skip lock if the pool is used for reading only. Lock only needed in cases when buffer for requested image user is missing in the pool. This lock will happen only once per image so overall amount of locks is much less that it was before. To operate with pool: - BKE_image_pool_new() creates new pool - BKE_image_pool_free() destroys pool and dereferences all image buffers which were loaded to it - BKE_image_pool_acquire_ibuf() returns image buffer for given image and user. Pool could be NULL and in this case fallback to BKE_image_acquire_ibuf will happen. This helps to avoid lots to if(poll) checks in image sampling code. - BKE_image_pool_release_ibuf releases image buffer. In fact, it will only do something if pool is NULL, in all other case it'll equal to DoNothing operation.
2013-01-06Merged changes in the trunk up to revision 53584.Tamito Kajiyama
Conflicts resolved: release/scripts/startup/bl_ui/properties_render.py source/blender/blenloader/intern/readfile.c source/blender/editors/interface/interface_templates.c source/blender/makesrna/RNA_enum_types.h Also made additional code updates for: r53355 UIList - Python-extendable list of UI items r53460 Alpha premul pipeline cleanup