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
2019-01-04Fix T60132: Convert hair particles to meshSergey Sharybin
Needed to port operator to use evaluated particle system. But also changed interface to always show Convert button when draw type is set to Path (Hair particle system is forced to be draws as path). This avoid rather expensive lookup on every redraw, but will show Convert button for un-baked particle emitter. Probably, an acceptable compromise.
2018-12-12Merge branch 'master' into blender2.8Campbell Barton
2018-12-12Cleanup: use colon separator after parameterCampbell Barton
Helps separate variable names from descriptive text. Was already used in some parts of the code, double space and dashes were used elsewhere.
2018-12-12Docs: correct doxy commentsCampbell Barton
2018-12-07Depsgraph: Remove duplicated sets of recalc/update flagsSergey Sharybin
There were at least three copies of those: - OB_RECALC* family of flags, which are rudiment of an old dependency graph system. - PSYS_RECALC* which were used by old dependency graph system as a separate set since the graph itself did not handle particle systems. - DEG_TAG_* which was used to tag IDs. Now there is a single set, which defines what can be tagged and queried for an update. It also has some aggregate flags to make queries simpler. Lets once and for all solve the madness of those flags, stick to a single set, which will not overlap with anything or require any extra conversion. Technically, shouldn't be measurable user difference, but some of the agregate flags for few dependency graph components did change. Fixes T58632: Particle don't update rotation settings
2018-12-07Fix T58046: Crash when changing Particle type, when Hair has dynamicsPhilipp Oeser
thx @sergey for checking
2018-12-03Cleanup: Use BLI's is_finite_v helpers instead of manualy checking each item.Bastien Montagne
2018-12-02Merge branch 'master' into blender2.8Campbell Barton
2018-12-02Cleanup: BKE_effect.h namingCampbell Barton
2018-11-26Fix T58032: particle children 'Use Clump Curve' crashPhilipp Oeser
Maniphest Tasks: T58032 Differential Revision: https://developer.blender.org/D3988
2018-11-13Fix T57105: Baked Particles could not be rendered as expectedSergey Sharybin
Same fix as for smoke (and is what caching proposal is AFAIK): share cache between copied and original objects. One thing which is still missing to be fixed is to make auto-cache more reliable. It was already kind of broken, so don't think it should be a stopping factor for this fix.
2018-10-18Cleanup: Remove more #if 0 blocksJacques Lucke
Continuation of https://developer.blender.org/D3802 Reviewers: brecht Differential Revision: https://developer.blender.org/D3808
2018-10-08Cleanup: use DRW_object_is_* for object checksCampbell Barton
Also use const qualifier for object's.
2018-09-19BLI_utildefines: rename pointer conversion macrosCampbell Barton
Terms get/set don't make much sense when casting values. Name macros so the conversion is obvious, use common prefix for easier completion. - GET_INT_FROM_POINTER -> POINTER_AS_INT - SET_INT_IN_POINTER -> POINTER_FROM_INT - GET_UINT_FROM_POINTER -> POINTER_AS_UINT - SET_UINT_IN_POINTER -> POINTER_FROM_UINT
2018-09-19Merge branch 'master' into blender2.8Campbell Barton
2018-09-02Cleanup: comment blocksCampbell Barton
2018-09-02Cleanup: comment blocksCampbell Barton
2018-08-29Cleanup: rename files from group to collection to match contents.Brecht Van Lommel
2018-08-23Rename: *_batch_cache_dirty > *_batch_cache_dirty_tagDalai Felinto
2018-06-29Cleanup: remove another bunch of DM usages, includes etc.Bastien Montagne
2018-06-29Fix T55645: broken particle Use Count option for instancing objects.Brecht Van Lommel
There is now a manual refresh button on the panel to update the list of objects in case it changes, and it also gets refreshed when changing the collection or toggling the use count option. This is a bit more manual but the previous code of refreshing the list while evaluating the depsgraph was unreliable. This also fixes it to take properly take into account visibility, and to work with linked collections for which index writing was missing.
2018-06-22Depsgraph: cache effector relations, for performance and stability.Brecht Van Lommel
To find all effectors in the scene, we need to loop over all objects. Doing this during depsgraph evaluation caused crashes because not all objects are guaranteed to be evaluated yet. To fix this, we now cache the relations as part of the dependency graph build. As a bonus this also makes evaluation faster for big scenes, since looping over all objects for each particle system is slow. Fixes T55156.
2018-06-21Fix incorrect use of G.is_rendering for particles in some places.Brecht Van Lommel
2018-06-19Particles: Support changing modifiers during particle edit modeSergey Sharybin
The idea is to only use pointers to particles in original object when creating an edit structure. The derived mesh we get from evaluated object. The rest of the commit is just keeping pointers in sync.
2018-06-19Particles: Add utility function to copy particles from one system to anotherSergey Sharybin
2018-06-17Merge branch 'master' into blender2.8Campbell Barton
2018-06-17Cleanup: trailing space for blenkernelCampbell Barton
2018-06-15Hair editing: Multi-thread various partsSergey Sharybin
Currently focused on making parts which are a bottleneck for Spring, to make things fast as possible. There are surely lots of places where threading is not currently done, but we can keep doing this, maybe even with help from the community :)
2018-06-13Merge branch 'master' into blender2.8Bastien Montagne
Conflicts: source/blender/blenkernel/intern/blendfile.c source/blender/blenkernel/intern/node.c source/blender/blenkernel/intern/particle.c
2018-06-13Cleanup: remove more G.main from BKE area.Bastien Montagne
2018-06-12Particle: Use local RNG during initializationSergey Sharybin
2018-06-12Cleanup: IndentationSergey Sharybin
2018-06-07Particle edit: Simplify code by benefiting from single edit contextSergey Sharybin
Makes ADD brush to work. At some point children particles draw got broken, children are not visible for until first stroke is done. Still looking into it.
2018-06-05Object Modes: Flush COW on mode switchingCampbell Barton
Caused glitch w/ sculpt mode not updating.
2018-05-30Hair Particles: DNA: Add properties for new GPU hairs.Clément Foucault
Hair Particles shape properties are ported from cycles. Thoses properties have the same defaults and have a do_version of their own. Cycles will use theses properties instead of its custom ones. Some realtime engine specific settings are also added to scene->r because it's much easier to control as global values. Bumping Version number so cycles can do its own do_version on top of the default settings.
2018-05-26Fix T55207, fix T55208: hair not positioned correctly after subsurf.Brecht Van Lommel
The problem was that the particle system modifier was reading ob->derivedDeform during modifier stack evaluation. Due to the mesh -> DM conversion this was no longer set leading to wrong results. In fact we don't really need the deformed mesh, just the original mesh topology for face/poly index remapping. So the solution is to use that instead.
2018-05-18Collections and groups unificationBrecht Van Lommel
OVERVIEW * In 2.7 terminology, all layers and groups are now collection datablocks. * These collections are nestable, linkable, instanceable, overrideable, .. which opens up new ways to set up scenes and link + override data. * Viewport/render visibility and selectability are now a part of the collection and shared across all view layers and linkable. * View layers define which subset of the scene collection hierarchy is excluded for each. For many workflows one view layer can be used, these are more of an advanced feature now. OUTLINER * The outliner now has a "View Layer" display mode instead of "Collections", which can display the collections and/or objects in the view layer. * In this display mode, collections can be excluded with the right click menu. These will then be greyed out and their objects will be excluded. * To view collections not linked to any scene, the "Blender File" display mode can be used, with the new filtering option to just see Colleciton datablocks. * The outliner right click menus for collections and objects were reorganized. * Drag and drop still needs to be improved. Like before, dragging the icon or text gives different results, we'll unify this later. LINKING AND OVERRIDES * Collections can now be linked into the scene without creating an instance, with the link/append operator or from the collections view in the outliner. * Collections can get static overrides with the right click menu in the outliner, but this is rather unreliable and not clearly communicated at the moment. * We still need to improve the make override operator to turn collection instances into collections with overrides directly in the scene. PERFORMANCE * We tried to make performance not worse than before and improve it in some cases. The main thing that's still a bit slower is multiple scenes, we have to change the layer syncing to only updated affected scenes. * Collections keep a list of their parent collections for faster incremental updates in syncing and caching. * View layer bases are now in a object -> base hash to avoid quadratic time lookups internally and in API functions like visible_get(). VERSIONING * Compatibility with 2.7 files should be improved due to the new visibility controls. Of course users may not want to set up their scenes differently now to avoid having separate layers and groups. * Compatibility with 2.8 is mostly there, and was tested on Eevee demo and Hero files. There's a few things which are know to be not quite compatible, like nested layer collections inside groups. * The versioning code for 2.8 files is quite complicated, and isolated behind #ifdef so it can be removed at the end of the release cycle. KNOWN ISSUES * The G-key group operators in the 3D viewport were left mostly as is, they need to be modified still to fit better. * Same for the groups panel in the object properties. This needs to be updated still, or perhaps replaced by something better. * Collections must all have a unique name. Less restrictive namespacing is to be done later, we'll have to see how important this is as all objects within the collections must also have a unique name anyway. * Full scene copy and delete scene are exactly doing the right thing yet. Differential Revision: https://developer.blender.org/D3383 https://code.blender.org/2018/05/collections-and-groups/
2018-05-16Particle edit: Fix disappearing child particles when toggling edit modeSergey Sharybin
Going to object edit mode and back to particle edit mode used to loose all children from being displayed.
2018-05-16Particle System: ported most DerivedMesh → MeshSybren A. Stüvel
There are a few places where DerivedMesh is still used, most notably when calling the (not yet ported) cloth simulation. There is also still the use of Object.derivedDeform and Object.derivedFinal. Those places are marked with a TODO. Some functions in the editors module were copied to accept Mesh. Those already had 'mesh' in the name; the copies are suffixed with '__real_mesh' for easy renaming later when the DM-based functionality is removed.
2018-05-16Particle System: use DEG to get current time in psys_get_particle_state()Sybren A. Stüvel
2018-05-15particle edit: Fix crash when using without copy-on-writeSergey Sharybin
2018-05-15Particles: Fix uninitialized child orco passed to modifiersSergey Sharybin
Wrong cleanup done in 51b796ff152.
2018-05-15Particle edit: Need to check DONE flag from evaluated psysSergey Sharybin
2018-05-15Particle edit: Support children particles display with copy on writeSergey Sharybin
2018-05-15Depsgraph: Keep track of original particle systemSergey Sharybin
Allows to have quicker lookup in particle edit mode.
2018-05-15Particle edit: Make check to work within copy-on-write conceptSergey Sharybin
Not fully optimal, we can probably store pointer to original psys similar to ID's orig_id.
2018-05-15Particle edit: Edit path invalidate should trigger particle system path re-cacheSergey Sharybin
Don't try to bend existing design, just follow it. It's not nice, but is working. Just bring it back, then repeal and replace system as a whole, making sure every bit is working according to a design. Such quick patches only trying to make local sense of a system, defeating it's design.
2018-05-15Particle edit: Restore weird-looking conditions in evaluationSergey Sharybin
They might be looking weird, but they match conditions when children particles are to be re-calculated for particle edit.
2018-05-11Remove debug only codeSergey Sharybin
2018-05-11Particle edit: Initial support of edit with copy-on-writeSergey Sharybin
The idea is that edit mode structure is owned by original object, and used for drawing. This is a bit confusing, especially since path cache is also in that structure and needs evaluated object to calculate cache. In the future we should split edit data from visualization data, but that's bigger refactor.