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-08-01Cleanup: misc spelling fixesCampbell Barton
T68035 by @luzpaz
2019-06-23DNA: reduce Object size by 16 bytesCampbell Barton
No need to use int for boolean value.
2019-06-17Cleanup: comment spellingCampbell Barton
2019-05-29Fix T58251: Cycles ignores linked meshes when renderingSergey Sharybin
The idea is to share a mesh data-block as a result across all objects which are sharing same original mesh and have no effective modifiers. This mesh is owned by an original copy-on-written version of object data. Tricky part is to make sure it is only initialized once, and currently a silly mutex lock is used. In practice it only locks if the mesh is not already there. As an extra bonus, even viewport memory is also lower after this change. Reviewers: brecht, mont29 Reviewed By: brecht, mont29 Differential Revision: https://developer.blender.org/D4954
2019-05-21Cleanup: clang-format, sort structsCampbell Barton
2019-05-17makesdna: Fix build error on win32.Ray Molenkamp
Win32 has some special struct alignment rules that makesdna is not warning about. See https://developer.blender.org/T63164#652815 for details.
2019-05-16Tweak API to support adding evaluated meshes to main databaseSergey Sharybin
One of the usecases is to create mesh from an object is a manner similar to how Apply Modifiers does it, and have it in the bmain so it can be referenced by other objects. This usecase is something what went unnoticed in the previous API changes, so here is a followup. Summary of changes: * bpy.meshes.new_from_object() behaves almost the same as before this change. The difference now is that it now ensures all referenced data-blocks are original (for example, materials referenced by the mesh). * object.to_mesh() now creates free-standing Mesh data-block which is outside of any bmain. The object owns it, which guarantees the memory never leaks. It is possible to force free memory by calling object.to_mesh_clear(). Reviewers: brecht Reviewed By: brecht Differential Revision: https://developer.blender.org/D4875
2019-05-15Outliner Restriction: Naming sanitization and iconDalai Felinto
No major API change here, only in the outliner restriction column variables (e.g., show_restrict_column_selectable > show_restrict_column_select). * Get rid of _INSTANCE (introduced on b1af68200159). * Differentiate (everywhere but the API) between HIDE (temporary) and VIEWPORT (global). * Use the expected icon for restrict viewport (same as objects and modifiers). * selectable > select
2019-05-11Outliner Visibility UpdateDalai Felinto
See T61578 for discussions and mockups. Visibility Options ================== We are adding more granular control over restriction columns in the outliner, exposing "indirect only" and "holdout" as options, and change the way users enable/disable collections in a viewlayer. We also rename the object viewport restriction to hide instance. So the options we have are: Collection ---------- * Render Visibility * Instance Visibility * Selectable (View) Layer Collection ----------------------- * Enable * Holdout * Indirect Only * Viewport Shortcuts ========= Isolate Collection ------------------ * Ctr + click isolates the collection. It turns all its parents and children "visible", and all the other collections "invisible". If ALL the collections were already properly set, we re-set the collections to their default value. Set Collection Inside Collections and Objects --------------------------------------------- * Shift + click: Set/unset inside collections and objects. We only set objects values as well when we are in View Layer mode and (obviously) when the objects have a matching property. Icons ===== Little reminder that we will need better icons for holdout, indirect only, and probably instanced (nothing wrong with the current, but it differs from the proposal when it is turned off). Also, we need to decide where do we want the modifier/bones/... icons to be (in which column) and ideally make sure their icons match the ones we use for collections/objects. At the moment those are using the screen icon, which is not being used by collections. Reviewers: brecht, billrey Subscribers: pablovazquez Differential Revision: https://developer.blender.org/D4823
2019-05-09DepsGraph: Multi ViewLayer SelectionJeroen Bakker
When using multiple viewlayers and switching between them the selection gets buggy. The reason for this is that the select_id is updated based on the index in the viewlayer. This makes the select_id not unique as objects might be shared or not shared at all. This fix will update the select_id on all objects in main. This will be triggered in all the selection operators. Reviewed By: sergey, brecht Maniphest Tasks: T55617 Differential Revision: https://developer.blender.org/D4824
2019-04-30Cleanup/update comment on flag_legacy valuesDalai Felinto
2019-04-18Armature: remove remains of the object-level deformation data cache.Alexander Gavrilov
Now that B-Bone shape data is kept in bPoseChannel_Runtime, the armature level cache only holds one quaternion value per bone. It can also be moved to runtime, and the structure removed. This has an additional effect that, as far as I can tell, now the Armature modifier can run as soon as all of the bones it actually needs are done, thus making T59848 a purely depsgraph level problem.
2019-04-17ClangFormat: apply to source, most of internCampbell Barton
Apply clang format as proposed in T53211. For details on usage and instructions for migrating branches without conflicts, see: https://wiki.blender.org/wiki/Tools/ClangFormat
2019-04-08GPencil: Mark Object gpd field as DeprecatedAntonioya
This field is only used to read old files, but it's not used anymore, so it's better mark as deprecated to avoid wrong uses.
2019-04-02Fix T63164: DNA size mismatches on 32bit, causing memory corruption and crashes.Brecht Van Lommel
Some alignment rules from Visual Studion on 32 bit are not taken into account, this fixes the structs to confirm. We now have static asserts to catch when such breakage happens in the future.
2019-03-20Fix T58550 Dragged in images dont overlap properlyClément Foucault
This patch adds a new "Use Alpha" option on image empties to avoid ordering issue of reference images. If ordering is not important, "Use Alpha" can be enabled to provide transparency and alpha blending support.
2019-03-17Cleanup: rename DEPRECATED to UNUSEDCampbell Barton
While the flags have been deprecated they're currently unused. Rename for clarity.
2019-03-07Refactor CDData masks, to have one mask per mesh elem type.Bastien Montagne
We already have different storages for cddata of verts, edges etc., 'simply' do the same for the mask flags we use all around Blender code to request some data, or limit some operation to some layers, etc. Reason we need this is that some cddata types (like Normals) are actually shared between verts/polys/loops, and we don’t want to generate clnors everytime we request vnors! As a side note, this also does final fix to T59338, which was the trigger for this patch (need to request computed loop normals for another mesh than evaluated one). Reviewers: brecht, campbellbarton, sergey Differential Revision: https://developer.blender.org/D4407
2019-03-06DNA: remove none particle brush & deprecated flagsCampbell Barton
The none brush doesn't make sense to have anymore with the tool system. Also remove deprecated flags & types for object, armature & text.
2019-02-19Cleanup: rename parent_origin_eval to parent_display_originCampbell Barton
The term 'eval' is often used by depsgraph result, where this is just used for drawing.
2019-02-19Cleanup: remove unused Object.smoothreshCampbell Barton
2019-02-19DNA: rename select_color -> select_idCampbell Barton
The term color is misleading, it's an integer id that happens to be written to a color in some cases, then converted back to an integer.
2019-02-19DNA: rename Object.col -> colorCampbell Barton
Was confusing, unrelated to: colbits, col_mask, col_group, actcol & totcol.
2019-02-18Cleanup: remove unnecessary "_pad*" membersCampbell Barton
2019-02-18Cleanup: use "_pad" prefix for struct membersCampbell Barton
2019-02-18Cleanup: move 'orig' into Object_Runtime structCampbell Barton
2019-02-18DNA: rename Object.size -> scaleCampbell Barton
Resolves a common cause of confusion.
2019-02-18doxygen: add newline after \fileCampbell Barton
While \file doesn't need an argument, it can't have another doxy command after it.
2019-02-17DNA: rename dup_* struct members to instance_*Campbell Barton
2019-02-17Cleanup: move object bounding-box into runtime structCampbell Barton
2019-02-11DNA: remove Object.display structCampbell Barton
We have a display flag already, use it instead. Object.display is kept in RNA, exposed via a nested struct, we can move other display options there.
2019-02-06Cleanup: remove redundant doxygen \file argumentCampbell Barton
Move \ingroup onto same line to be more compact and make it clear the file is in the group.
2019-02-01Cleanup: remove redundant, invalid info from headersCampbell Barton
BF-admins agree to remove header information that isn't useful, to reduce noise. - BEGIN/END license blocks Developers should add non license comments as separate comment blocks. No need for separator text. - Contributors This is often invalid, outdated or misleading especially when splitting files. It's more useful to git-blame to find out who has developed the code. See P901 for script to perform these edits.
2019-01-31Depsgraph: remove features incompatible with new system.Brecht Van Lommel
Some features are incompatible with multithreading and reliable evaluation of dependencies. We are now removing them as part of a bigger cleanup to fix bugs in keyframing and invalid animation evaluations. * Dupliframes have been removed. This was a hack added before there were more powerful features like the array modifier. * Slow parent has been removed, never worked in 2.8. It was always unreliable for use in production due to depending on whatever frame was previously evaluated, which was not always the previous frame. * Particle instanced objects used to have their transform evaluated at the particle time. Now it always gets the current time transform. * Boids can no longer do predictive avoidance of force field objects, but still for other particles. Differential Revision: https://developer.blender.org/D4274
2019-01-28Cleanup: sort forward declarations of enum & structCampbell Barton
Done using: source/tools/utils_maintenance/c_sort_blocks.py
2019-01-26Cleanup: redundant definesCampbell Barton
Comment or remove unused defines.
2019-01-15Cleanup: commas at the end of enumsCampbell Barton
Without this clang-format may wrap them onto a single line.
2019-01-15Cleanup: comment line length (DNA)Campbell Barton
Prevents clang-format wrapping text before comments.
2019-01-07Cleanup: move DNA comments before struct membersCampbell Barton
Needed for clang-format in some cases, see: T53211
2018-12-21Fix inconsistent/broken Cycles object visibility for instances.Brecht Van Lommel
Object visibility is now handled by the depsgraph iterator, but this API was incomplete as it made no distinction for visibility of the object itself, particles and generated instances. The depsgraph iterator API now includes information about which part of the object is visible, and this is used by Cycles to replace the old custom logic. Cycles and EEVEE visibility should now be consistent, which unfortunately does means some subtle compatibility breakage for both. Fixes T58956, T58202, T59284. Differential Revision: https://developer.blender.org/D4109
2018-12-173D View: empty image option to show front/backCampbell Barton
Only back was possible.
2018-12-17DNA: clear / remove deprecated flagsCampbell Barton
- Clear deprecated flags for ID's: Scene, Sequence, World, Object & Mesh. - Clear deprecated flags for Spaces: outliner, 3D view & image. - Remove unused `Mesh.drawflag` - Remove unused `USER_ALLWINCODECS`, `USER_MMB_PASTE`. - Remove `V3D_SOLID_TEX` & `V3D_ZBUF_SELECT` - used in a few areas. - Flip `Object.empty_image_visibility_flag` (avoids do-version on each new flag) - Rename 'Backside' -> 'Back' in context of drawing - showing 'Back' makes sense.
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-03Depsgraph: completely move customdata_mask to the ID node.Alexander Gavrilov
Move all mask-related fields from Object and OperationDepsNode to Object_Runtime and IDDepsNode. Auto-apply DEG_TAG_GEOMETRY if the mask changes after DEG rebuild. Update DEG API and all code that uses it. This fixes "source mesh data is not ready" errors from Data Transfer modifier when parameters are changed in the UI after the recent mesh_get_eval_final fix. Reviewers: sergey Differential Revision: https://developer.blender.org/D4025
2018-11-25Local ViewDalai Felinto
Bring back per-viewport localview. This is based on Blender 2.79. We have a limit of 16 different local view viewports. We are using both the numpad /, as well as the regular /. Missing features: * Hack to make sure lights are always visible. * Make rendered mode with external engines to support this as well (probably just need to support this in the RNA iterators). * Support over 16 viewports by taking existing viewports out of local view. The code can use a cleanup pass in the future to unify the test to see if an object is visible (or we can use TESTBASE in more places).
2018-11-20Speedup rigs with multiple objects deformed by bbonesSergey Sharybin
Previously each of the objects which has armature modifier will request deformation matricies from bbones. Thing is, all those deformations are the same and do not depend on object which is being modified. What's even worse is that this calculation is not cheap. This change makes it so bbones deformation is calculated once and stored in the armature object. After this armature modifiers simply use it. With a rigs we've got here dependency graph evaluation time goes down from 0.02 sec to 0.012 sec. Possible further optimization is to make bbone deformation calculated at the time when bone is calculated. This will avoid an extra threaded loop over all bones.
2018-11-19Image Empties: Option to not display the backside of image emptiesJacques Lucke
Reviewers: brecht Differential Revision: https://developer.blender.org/D3964
2018-10-31Image Empties: More visibility settingsJacques Lucke
Support for showing images in background/foreground and only in perspective/orthographic view. Internally the depth of the image is modified in the fragment shader by setting `gl_FragDepth` explicitly. The UI still needs some work to improve usability, see D3863 for details. Currently there is one duplicated function, not sure how to best deduplicate it yet. (`is_image_empty_visible`) Reviewer: fclem, brecht, campbellbarton Differential Revision: https://developer.blender.org/D3863
2018-10-20GP: Redesign drawing cache to support particlesAntonioya
Full redesign of the cache system used for drawing strokes and handle derived frame data. Before, the cache was saved in bGPdata and a hash was used to manage several objects with the same datablock. Old design made the use of particles very inefficient and prone to bugs and segment faults, and especially when this was mixed with onion skinning and multiple objects using same datablock. Also, there were some conflicts with the depsgrah logic (the old design was done before despgraph was in place) that made the use of hash not working. The new design saves the data in the object runtime struct and avoid the use of any hash to find the right data. This improves the speed and reduce a lot the complexity of the code, memory allocation, hash overload and adds full support for particles and reused datablocks. The particles can reuse the modifiers and shader effects of the original grease pencil object.
2018-09-24Spelling fixes in comments and descriptions (2.8 changes), patch by luzpaz.Brecht Van Lommel
Differential Revision: https://developer.blender.org/D3719