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
2015-07-01Merge branch 'master' into gooseberryAntony Riakiotakis
Conflicts: source/blender/blenlib/intern/BLI_filelist.c source/blender/editors/transform/transform.h source/blender/editors/transform/transform_snap.c source/blenderplayer/bad_level_call_stubs/stubs.c
2015-06-28BGE: added clamping of angular velocity.Sybren A. Stüvel
Angular velocity clamping was missing from the BGE. It is implemented similarly to the linear velocity clamping. It is needed to be able to drive physical simulations of systems that have a limited rotational speed. Reviewed by: campbellbarton, panzergame, ton Differential Revision: https://developer.blender.org/D1365
2015-06-25Merge branch 'master' into gooseberryAntony Riakiotakis
Conflicts: source/blender/blenkernel/intern/cdderivedmesh.c source/blender/makesrna/intern/rna_nodetree.c
2015-06-23Fix T45051: Curve parent bug.Bastien Montagne
PARCURVE is deprecated parting type, should never have been exposed to user! Not a regression, but safe enough for final 2.75 imho.
2015-06-04Merge branch 'master' into gooseberryAntony Riakiotakis
Conflicts: source/blender/makesdna/DNA_object_types.h
2015-06-04Fix modifiers stack not recalculated when mapping requirements changeAntony Riakiotakis
Reported by pixaal on irc, basically reproducable by inserting bevel modifier on cube and entering/exiting texture paint mode. Now object stores last needsMapping variable as well as customdata mask. Also now texture painting only needs mapping when we are in texture paint selection mode, so modifiers that don't support mapping can still be used to paint now.
2015-05-06Merge branch 'alembic' into gooseberryLukas Tönne
Conflicts: source/blender/blenkernel/BKE_key.h source/blender/blenkernel/intern/customdata.c source/blender/blenkernel/intern/key.c source/blender/editors/object/object_shapekey.c source/blender/makesdna/DNA_customdata_types.h source/blender/makesrna/intern/rna_key.c
2015-05-04Merge branch 'strand_editmode' into alembicLukas Tönne
Conflicts: source/blender/editors/space_view3d/drawstrands.c source/blender/editors/space_view3d/view3d_intern.h
2015-04-20Lots of small fixes for paint system quirks to make hair brushes workLukas Tönne
in the UI. Conflicts: release/scripts/startup/bl_ui/space_view3d.py source/blender/editors/transform/manipulator_widget.c
2015-04-20New edit mode for hair.Lukas Tönne
Conflicts: source/blender/blenloader/intern/readfile.c
2015-04-20Merge branch 'master' into gooseberrySergey Sharybin
2015-04-20Merge branch 'master' into alembicLukas Tönne
2015-04-19BGE: Support for collision group/mask from the api + activated on EndObject.Porteries Tristan
A Python API for the collision group / mask has been added: ``` KX_GameObject.collisionGroup KX_GameObject.collisionMask ``` The maximum number of collision groups and masked has been increased from eight to sixteen. This means that the max value of collisionGroup/Mask is (2 ** 16) - 1 EndObject will now activate objects that were sleeping and colliding with the removed object. This means that, unlike now, if a rigid body starts sleeping on top of another object, when the latter is removed the rigid body will activate and fall, rather than float midair as before. Collision groups that do not intersect used to collide on the first frame. Now this has been fixed so that they collide appropriately. Thanks to agoose77 for his help. Reviewers: scorpion81, hg1, agoose77, sergof Reviewed By: agoose77, sergof Subscribers: sergof, moguri Projects: #game_physics, #game_engine Differential Revision: https://developer.blender.org/D1243
2015-04-14Merge branch 'master' into alembicLukas Tönne
Conflicts: source/blender/blenkernel/intern/object_dupli.c source/blenderplayer/bad_level_call_stubs/stubs.c
2015-04-09Merge branch 'alembic' into gooseberryLukas Tönne
2015-04-09Store child strand curves alongside the parent strands in dupli objectLukas Tönne
data. Child strands have their own struct type for vertices and curves to avoid unnecessary overhead (parent curves store a full 3x3 matrix after all). Child strands may be constructed from particle pathcaches, or read from curves data in alembic files.
2015-04-07Merge branch 'master' into gooseberryAntony Riakiotakis
Conflicts: source/blender/blenkernel/intern/image.c source/blender/blenkernel/intern/object_dupli.c source/blender/blenkernel/intern/sequencer.c source/blender/blenloader/intern/versioning_270.c source/blender/editors/space_view3d/view3d_draw.c source/blender/editors/space_view3d/view3d_ops.c source/blender/makesdna/DNA_sequence_types.h source/blender/makesdna/DNA_view3d_types.h source/blender/windowmanager/CMakeLists.txt source/blender/windowmanager/intern/wm_operators.c source/blenderplayer/bad_level_call_stubs/stubs.c
2015-04-03Merge branch 'alembic' into gooseberryLukas Tönne
Conflicts: source/blender/physics/intern/BPH_mass_spring.cpp
2015-04-02Fix T44183 particles in linked group offset from objectAntony Riakiotakis
A nice bug combining all the broken features of blender: Particles, duplis and multiple scene dependencies. Fortunately this was solvable: Basically, we need to make sure derivedmesh for dupli instance is generated before obmat is overriden. This also makes sense, since no instance has "true" obmat apart from original. Lazy initialization of derivedmesh just does not work here (or it -does- work but first use should be before instance drawing). Fingers crossed nothing else breaks after this...
2015-04-02Fixed DupliCache writers/readers to support subsequent stages ofLukas Tönne
cache manipulation. Strand data in caches is now stored in a named list, so we can avoid adding strand data in every frame.
2015-03-31Merge branch 'alembic' into gooseberryLukas Tönne
Conflicts: source/blender/editors/space_view3d/view3d_intern.h source/blender/makesrna/intern/rna_modifier.c
2015-03-31Merge branch 'master' into alembicLukas Tönne
Conflicts: source/blender/blenloader/intern/readfile.c source/blender/editors/space_view3d/view3d_intern.h source/blender/makesdna/DNA_modifier_types.h source/blender/makesrna/intern/rna_modifier.c source/blender/modifiers/MOD_modifiertypes.h source/blender/modifiers/intern/MOD_util.c
2015-03-31Store the overall result of cache reading in the DupliCache.Lukas Tönne
This is used to prevent empty dupli lists when reading the cache fails. In that case the duplilist function will now revert to default scene evaluation.
2015-03-31Reorganization of file paths and input/output workflow in cacheLukas Tönne
libraries. Having a cache archive output in each modifier is not really practical. Now the cache library has at most 2 file paths. These are used based on 2 associated settings: source mode/path and display mode/path. * The SOURCE mode determines whether the original scene data is used as input or a cache archive. If the scene input is used the dupli group objects will be evaluated as usual with Mesh data, modifiers, proxy armatures, etc.. With cache input the data stored in a cache is used to override the scene data instead. * The DISPLAY mode is essentially a toggle for the whole cache modifier stack. If it is set to 'source' the respective source data is used without further modification. If set to 'result' the data from the output cache archive is used, which can be generated using the bake operator. During baking the data will be passed through the cache modifiers to create a variation of the original source data.
2015-03-30Merge branch 'master' into gooseberrySergey Sharybin
Conflicts: release/scripts/startup/bl_ui/properties_physics_smoke.py source/blender/editors/include/ED_transform.h source/blender/editors/space_view3d/view3d_intern.h
2015-03-28Cleanup: redundant struct declarationsCampbell Barton
2015-03-26New data structure for restoring strand data originating from particles.Lukas Tönne
The rationale here is that we don't try to replace particle data temporarily like we do with DerivedMesh. This would be needed for drawing cached data overrides in the viewport and pass them to renderers (unless these read Alembic directly) and later for performing dupli simulation.
2015-03-26Renamed the cache_dm to simply dm.Lukas Tönne
The fact that this is used for caching is only apparent on the higher levels of the Object struct.
2015-03-26Use the temporary 'is_dupli' flag to prevent objects from freeingLukas Tönne
overriden data that is owned by the cache. This is not at all nice ... Hopefully it doesn't get too complicated to work around all these drawing code and depsgraph issues, so the code can be understood and replaced at some point in the future.
2015-03-26UI cleanup and a bit nicer workflow by treating read/write mode likeLukas Tönne
an enum toggle.
2015-03-26Skip drawing of particle systems (including hair) when using cacheLukas Tönne
duplis. Particle systems can not be overridden from caches easily, there are too many strings attached to the data and code to make this reliable. Instead, a new simplified data structure for reading hair from caches will be added, which replaces drawing and rendering of particle data. The original particle data is not updated through duplis, so is usually out of sync and should not be displayed.
2015-03-26Calculate bounding boxes for cached DMs to avoid visual popping whenLukas Tönne
using the original Object's bb.
2015-03-26Added a cache library pointer to objects as a replacement for CL->GRLukas Tönne
pointers. Relationship between CacheLibrary, duplicator Objects and Groups is difficult. There are a number of somewhat conflicting goals: - CacheLibraries write out data for objects and dupli groups. Multiple objects can be stored in the same cache: CL *->* GR - Objects can override a dupli group with different caches: OB *->1 CL - As before, each object can be the duplicator for one group: OB *->1 GR To combine these requirements, the first relationship will be made indirect. Only the Object -> Group/CacheLib relations are explicit pointers in the DNA. For finding all objects contained in a cache library the usual recursive DNA tagging system must then be used.
2015-03-26Use a new flag in duplicator objects to enable cache reading and avoidLukas Tönne
unnecessary dependencies. This flag will replace the current "read" mode on cache libraries. Beside enabling cache reading, it also disables the current "fake" dependencies between duplicators and their group objects. This is exploiting the layer visibility mechanism in depsgraph to ensure that animated group objects get evaluated when used by a visible duplicator, even when they are not themselves visible. These dependencies cause group object updates even if the duplicator is using cached results. To avoid this unnecessary overhead and make caching worthwhile we rebuild depsgraph without these relations when using the cache instead.
2015-03-26Enable frame updates of duplicache through use of an invalidation flag.Lukas Tönne
2015-03-26Store object pointers for the dupli objects we generate from caches.Lukas Tönne
This is necessary for the current viewport drawing and rendering code, which expected each dupli instance to represent a copy of data in the DNA. The code maps base-level objects in the cache to DNA Objects inside the dupligroup by name. Only objects that can be found in the blend data will be allowed for DupliObjects.
2015-03-26Moved the DupliCache struct into DNA, it will be needed for drawing andLukas Tönne
RNA access later.
2015-03-26Cache reading functions for constructing a nested dupligroup list basedLukas Tönne
on Alembic cache data.
2015-03-26Initial code to support dupli group instancing and overrides throughLukas Tönne
Alembic caches. This creates representations (Abc::Object) for Blender Object and Group datablocks in the Alembic files and uses Alembic instancing to define the dupligroup hierarchy. This leads to a relatively flat hierarchy in Alembic files: Top -> Object/Group -> DerivedMesh/Particles/Hair/Cloth/Smoke/... The dupligroup structure can not be represented by a hierarchical structure such as the Alembic object nesting, because of the many-to-many relationship between objects and groups (a group can contain multiple objects, multiple objects can instance the same group). Instead we use the instancing feature of Alembic to represent dupligroups. This is created in 2 stages to ensure all the main ID blocks have been serialized before creating references.
2015-03-24New data structure for restoring strand data originating from particles.Lukas Tönne
The rationale here is that we don't try to replace particle data temporarily like we do with DerivedMesh. This would be needed for drawing cached data overrides in the viewport and pass them to renderers (unless these read Alembic directly) and later for performing dupli simulation.
2015-03-24Renamed the cache_dm to simply dm.Lukas Tönne
The fact that this is used for caching is only apparent on the higher levels of the Object struct.
2015-03-23Merge branch 'master' into gooseberryLukas Tönne
2015-03-23Use the temporary 'is_dupli' flag to prevent objects from freeingLukas Tönne
overriden data that is owned by the cache. This is not at all nice ... Hopefully it doesn't get too complicated to work around all these drawing code and depsgraph issues, so the code can be understood and replaced at some point in the future.
2015-03-23UI cleanup and a bit nicer workflow by treating read/write mode likeLukas Tönne
an enum toggle.
2015-03-23Skip drawing of particle systems (including hair) when using cacheLukas Tönne
duplis. Particle systems can not be overridden from caches easily, there are too many strings attached to the data and code to make this reliable. Instead, a new simplified data structure for reading hair from caches will be added, which replaces drawing and rendering of particle data. The original particle data is not updated through duplis, so is usually out of sync and should not be displayed.
2015-03-23Calculate bounding boxes for cached DMs to avoid visual popping whenLukas Tönne
using the original Object's bb.
2015-03-23Added a cache library pointer to objects as a replacement for CL->GRLukas Tönne
pointers. Relationship between CacheLibrary, duplicator Objects and Groups is difficult. There are a number of somewhat conflicting goals: - CacheLibraries write out data for objects and dupli groups. Multiple objects can be stored in the same cache: CL *->* GR - Objects can override a dupli group with different caches: OB *->1 CL - As before, each object can be the duplicator for one group: OB *->1 GR To combine these requirements, the first relationship will be made indirect. Only the Object -> Group/CacheLib relations are explicit pointers in the DNA. For finding all objects contained in a cache library the usual recursive DNA tagging system must then be used.
2015-03-23Use a new flag in duplicator objects to enable cache reading and avoidLukas Tönne
unnecessary dependencies. This flag will replace the current "read" mode on cache libraries. Beside enabling cache reading, it also disables the current "fake" dependencies between duplicators and their group objects. This is exploiting the layer visibility mechanism in depsgraph to ensure that animated group objects get evaluated when used by a visible duplicator, even when they are not themselves visible. These dependencies cause group object updates even if the duplicator is using cached results. To avoid this unnecessary overhead and make caching worthwhile we rebuild depsgraph without these relations when using the cache instead.
2015-03-23Enable frame updates of duplicache through use of an invalidation flag.Lukas Tönne
2015-03-23Store object pointers for the dupli objects we generate from caches.Lukas Tönne
This is necessary for the current viewport drawing and rendering code, which expected each dupli instance to represent a copy of data in the DNA. The code maps base-level objects in the cache to DNA Objects inside the dupligroup by name. Only objects that can be found in the blend data will be allowed for DupliObjects.