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
2022-07-23Squashed commit of the following:Hans Goudey
commit 33f9897ebe5848b6437e95fb934b6dbda8d58e3b Merge: fcb6a57b8df 80b2fc59d11 Author: Hans Goudey <h.goudey@me.com> Date: Fri Jul 22 19:13:57 2022 -0500 Merge branch 'master' into refactor-mesh-hide-generic commit 80b2fc59d11d5814afe7e219c535525a8d494c17 Author: Hans Goudey <h.goudey@me.com> Date: Fri Jul 22 15:49:53 2022 -0500 Fix T99873: Use evaluated vertex groups in armature modifier Geometry nodes has added the ability to modify mesh vertex groups during evaluation (see 3b6ee8cee7080af2). However, the armature modifier always uses the vertex groups from the original object. This is wrong for the modifier stack, where each modifier is meant to use the output of the previous. This commit makes the armature modifier use the evaluated vertex groups if they are available. Otherwise it uses the originals like before. Differential Revision: https://developer.blender.org/D15515 commit 7d8b651268df74157f89858eda9ddce9fd452138 Author: Clément Foucault <foucault.clem@gmail.com> Date: Fri Jul 22 21:03:06 2022 +0200 EEVEE-Next: Add exposure awareness to denoising This uses the exposure to get a better approximation of the perceptual brighness of a sample before accumulating it. Note that we do not modify exposure of the image. Only the samples weights are computed differently. commit 676a2f690c3e3fffe2e515208d4d308e0a96e8e6 Author: Clément Foucault <foucault.clem@gmail.com> Date: Fri Jul 22 20:32:17 2022 +0200 EEVEE-Next: Fix render not working The swaps during accumulation were ignored because of the way the `SwapChain<>` implementation works. Using external references and updating them fixes the issue. commit 35843ddcd80e5957656b157650da950f228d2808 Author: Hans Goudey <h.goudey@me.com> Date: Fri Jul 22 11:36:55 2022 -0500 Fix T99835: Incorrect title case for two node names commit 98395e0bdfc849e2d2770052c6e8651a42500608 Author: Hans Goudey <h.goudey@me.com> Date: Fri Jul 22 10:49:09 2022 -0500 Cleanup: Use r_ prefix for boolean return parameters Also rearrange some lines to simplify logic. commit c40971d79a887820d621705b29f65f833d9b9f52 Author: Hans Goudey <h.goudey@me.com> Date: Fri Jul 22 10:31:10 2022 -0500 Fix T99873: Store named attribute node cannot write to vertex groups Since fd5e5dac8946b13599, the node would remove the attribute before adding it again, which lost the vertex group status of an attribute, meaning they were written as arbitrary attributes. Now, the node first tries to write to attributes with the same domain and data-type, which covers the vertex group case. Then it falls back to removing the attribute and adding it again. Even that can fail though, so I added an error message to make that a bit clearer. Differential Revision: https://developer.blender.org/D15514 commit e4eaf424b9ce4800e64d35ddfebe28f986b14647 Author: Germano Cavalcante <germano.costa@ig.com.br> Date: Fri Jul 22 12:17:22 2022 -0300 Fix nodes not transforming Error in {rB98bf714b37c1} commit 6bcda04d1f1cc396dcc188678997105b09231bde Author: Hans Goudey <h.goudey@me.com> Date: Fri Jul 22 09:59:28 2022 -0500 Geometry Nodes: Port sample curves node to new data-block Use the newer more generic sampling and interpolation functions developed recently (ab444a80a280) instead of the `CurveEval` type. Functions are split up a bit more internally, to allow a separate mode for supplying the curve index directly in the future (T92474). In one basic test, the performance seems mostly unchanged from 3.1. Differential Revision: https://developer.blender.org/D14621 commit 1f94b56d774440d08eb92f2a7a47b9a6a7aa7b84 Author: Jacques Lucke <jacques@blender.org> Date: Fri Jul 22 15:39:41 2022 +0200 Curves: support sculpting on deformed curves Previously, curves sculpt tools only worked on original data. This was very limiting, because one could effectively only sculpt the curves when all procedural effects were turned off. This patch adds support for curves sculpting while looking the result of procedural effects (like deformation based on the surface mesh). This functionality is also known as "crazy space" support in Blender. For more details see D15407. Differential Revision: https://developer.blender.org/D15407 commit 98bf714b37c1f1b05a162b6ffdaca367b312de1f Author: Germano Cavalcante <mano-wii> Date: Thu Jul 21 23:44:39 2022 -0300 Refactor: arrange transform convert functions in 'TransConvertTypeInfo' Simplify the transform code by bundling the TransData creation, Data recalculation, and special updates into a single struct. So similar functions and parameters can be accessed without special type checks. Differential Revision: https://developer.blender.org/D15494 commit 185eeeaaac01bf24930f7e8b25c96f9fa9503073 Author: Campbell Barton <campbell@blender.org> Date: Fri Jul 22 22:13:10 2022 +1000 GHOST/Wayland: Fix mouse wheel events for Sway Compositor (use seat v5) Bump the requested seat version to v5, use discreet scroll callback. Tested with gnome, river & sway. commit 003dfae270781bfa642a2c5804fa190edd4dfca4 Author: Xavier Hallade <xavier.hallade@intel.com> Date: Fri Jul 22 13:00:46 2022 +0200 Cycles: enable oneAPI in Linux release builds 0f50ae131f54d51f778424d4c9655128cafbbefc didn't do it reliably since it was deactivated explicitly a bit above. commit e0d4aede4da8a1f670f53fe597140111b9726234 Author: Campbell Barton <campbell@blender.org> Date: Fri Jul 22 16:49:37 2022 +1000 BMesh: move bmesh_mesh to C++ This allows parts of the code to be threaded more easily. commit 95e60b4ffd6c325d2658f318d05ab52d712ca953 Author: Jacques Lucke <jacques@blender.org> Date: Fri Jul 22 12:33:08 2022 +0200 Cleanup: move crazyspace.c to c++ Doing this in preparation for D15407. commit 087f27a52f7857887e90754d87a7a73715ebc3fb Author: Campbell Barton <campbell@blender.org> Date: Fri Jul 22 13:57:04 2022 +1000 Fix T87779: Asymmetric vertex positions in circles primitives Add sin_cos_from_fraction which ensures each quadrant has matching values when their sign is flipped. commit 08c5d99e88ee3e9f807dfe69c188660eae347f31 Author: Campbell Barton <campbell@blender.org> Date: Fri Jul 22 13:05:26 2022 +1000 Cleanup: add BKE_image_find_nearest_tile_with_offset Every caller BKE_image_find_nearest_tile was calculating the tile offset so add a version of this function that returns the offset too. commit 72e249974aa7f6a3bd6d5c35c5d5e59cd1c3bded Author: Campbell Barton <campbell@blender.org> Date: Fri Jul 22 12:25:10 2022 +1000 Fix crash loading factory settings in image paint mode Loading factory settings left the region NULL, causing the brushes poll function to crash. commit d3db38cfb1f223b81ab89c38bae0652a0d40c03e Author: Campbell Barton <campbell@blender.org> Date: Fri Jul 22 12:23:33 2022 +1000 Cleanup: quiet nonull-compare warnings with GCC commit 77257405437336dbd91a481926013f8c747cacae Author: Siddhartha Jejurkar <f20180617@goa.bits-pilani.ac.in> Date: Fri Jul 22 10:47:28 2022 +1000 UV: Edge support for select shortest path operator Calculating shortest path selection in UV edge mode was done using vertex path logic. Since the UV editor now supports proper edge selection [0], this approach can sometimes give incorrect results. This problem is now fixed by adding separate logic to calculate the shortest path in UV edge mode. Resolves T99344. [0]: ffaaa0bcbf477c30cf3665b9330bbbb767397169 Reviewed By: campbellbarton Ref D15511. commit aa1ffc093c4711a40932c854670730944008118b Author: Hans Goudey <h.goudey@me.com> Date: Thu Jul 21 19:44:06 2022 -0500 Fix T99884: Crash when converting to old curve type The conversion from Curves to CurveEval used an incorrect type for one of the builtin attributes. Also, an incorrect default was used for reading the nurbs_weight attribute. commit fcb6a57b8dfdc9d18cb370f71f82d6f82f8d917d Author: Hans Goudey <h.goudey@me.com> Date: Thu Jul 21 19:11:50 2022 -0500 Fix BMesh conversion commit d07a18e49b64d475f02b9edf24e3808adfbf4cfb Author: Hans Goudey <h.goudey@me.com> Date: Thu Jul 21 19:09:34 2022 -0500 Remove bad assert commit 520cc7073a9ac8fd25425e7112f6c7d4dea6a43d Author: Hans Goudey <h.goudey@me.com> Date: Thu Jul 21 19:09:23 2022 -0500 Don't create layers when unnecessary commit d39fde3662c792800945270a19612f81a4b8e8fd Author: Hans Goudey <h.goudey@me.com> Date: Thu Jul 21 18:35:16 2022 -0500 Parallelize flag copying commit 76bdacec1bf299de6b36dbc6e45d7922ca15d969 Author: Hans Goudey <h.goudey@me.com> Date: Thu Jul 21 18:19:46 2022 -0500 Cleanup variables names, add "finish" calls commit e91eff347a9f855d3c0e757a94962078cd2e8d60 Author: Hans Goudey <h.goudey@me.com> Date: Thu Jul 21 18:12:35 2022 -0500 Remove "new" in comment
2022-07-15ProgressHans Goudey
2022-07-13Start of removing access to mesh pointersHans Goudey
2022-05-15Cleanup: Remove includes from DerivedMesh headerHans Goudey
Headers should only include other headers when absolutely necessary, to avoid unnecessary dependencies and increasing compile times. To make this change simpler, three DerivedMesh functions with a single use were removed.
2022-03-28Cleanup: use "num" as a suffix in: source/blender/modifiersCampbell Barton
Also rename DNA struct members.
2022-02-11File headers: SPDX License migrationCampbell Barton
Use a shorter/simpler license convention, stops the header taking so much space. Follow the SPDX license specification: https://spdx.org/licenses - C/C++/objc/objc++ - Python - Shell Scripts - CMake, GNUmakefile While most of the source tree has been included - `./extern/` was left out. - `./intern/cycles` & `./intern/atomic` are also excluded because they use different header conventions. doc/license/SPDX-license-identifiers.txt has been added to list SPDX all used identifiers. See P2788 for the script that automated these edits. Reviewed By: brecht, mont29, sergey Ref D14069
2022-01-29Cleanup: Remove mesh vertex "temp tag" flagHans Goudey
As part of the project of converting `MVert` into `float3` (more details in T93602), this is an easy step, since it is only locally used runtime data. In the six places it was used, the flag was replaced by a local bitmap. By itself this change has no benefits other than making some code slightly simpler. It only really matters when the other flags are removed and it can be removed from `MVert` along with the bevel weight. Differential Revision: https://developer.blender.org/D13878
2022-01-25Python: Expose crazyspace correction functionality via RNASergey Sharybin
Allows to perform correction of coordinate delta/displacement in a similar way of how sculpt mode handles sculpting on a deformed mesh. An example of usecase of this is allowing riggers and sciprters to improve corrective shapekey workflow. The usage consists of pre-processing and access. For example: object.crazyspace_eval(depsgraph, scene) # When we have a difference between two vertices and want to convert # it to a space to be stored, say, in shapekey: delta_in_orig_space = rigged_ob.crazyspace_displacement_to_original( vertex_index=i, displacement=delta) # The reverse of above. delta_in_deformed_space = rigged_ob.crazyspace_displacement_to_deformed( vertex_index=i, displacement=delta) object.crazyspace_eval_clear() Fuller explanation with actual usecases and studio examples are written in the comment: https://developer.blender.org/D13892#368898 Differential Revision: https://developer.blender.org/D13892
2022-01-25Fix depsgraphs sharing IDs via evaluated edit meshSergey Sharybin
The evaluated mesh is a result of evaluated modifiers, and referencing other evaluated IDs such as materials. It can not be stored in the EditMesh structure which is intended to be re-used by many areas. Such sharing was causing ownership errors causing bugs like T93855: Cycles crash with edit mode and simultaneous viewport and final render The proposed solution is to store the evaluated edit mesh and its cage in the object's runtime field. The motivation goes as following: - It allows to avoid ownership problems like the ones in the linked report. - Object level is chosen over mesh level is because the evaluated mesh is affected by modifiers, which are on the object level. This patch allows to have modifier stack of an object which shares mesh with an object which is in edit mode to be properly taken into account (before the change the modifier stack from the active object will be used for all objects which share the mesh). There is a change in the way how copy-on-write is handled in the edit mode to allow proper state update when changing active scene (or having two windows with different scenes). Previously, the copt-on-write would have been ignored by skipping tagging CoW component. Now it is ignored from within the CoW operation callback. This allows to update edit pointers for objects which are not from the current depsgraph and where the edit_mesh was never assigned in the case when the depsgraph was evaluated prior the active depsgraph. There is no user level changes changes expected with the CoW handling changes: should not affect on neither performance, nor memory consumption. Tested scenarios: - Various modifiers configurations of objects sharing mesh and be part of the same scene. - Steps from the reports: T93855, T82952, T77359 This also fixes T76609, T72733 and perhaps other reports. Differential Revision: https://developer.blender.org/D13824
2021-12-07Cleanup: move public doc-strings into headers for 'blenkernel'Campbell Barton
- Added space below non doc-string comments to make it clear these aren't comments for the symbols directly below them. - Use doxy sections for some headers. - Minor improvements to doc-strings. Ref T92709
2021-07-07Cleanup: spelling in commentsCampbell Barton
2020-10-26Modifiers: include the object & modifier when logging errorsCampbell Barton
Without this, there was no way of finding out which object, modifier combination caused the error, making the logs not very useful for debugging.
2020-09-09Cleanup: reduce variable scopeJacques Lucke
2020-07-01Cleanup: spellingCampbell Barton
2020-06-10Cleanup: move BKE_mesh_wrapper functions into own headerCampbell Barton
2020-05-25Mesh: skip conversion from edit-mesh to mesh in edit-modeCampbell Barton
This resolves a performance regression in 2.8x where every edit-mode update performed an edit-mesh to mesh conversion. Now the conversion will be lazily initialized if/when it's required. New BKE_mesh_wrapper_* functions abstract over mesh data access. Currently only edit-mesh and regular meshes are supported. In the future sub-surface meshes may be supported too.
2020-05-08Fix T76498: Refactoring - Rename BKE modifiers funtionsAntonio Vazquez
2020-04-30Multires: Enable sculpting in all subdivision levelsPablo Dobarro
Return the correct sculpt level in BKE_multires_sculpt_level_get and enable the property in the UI Reviewed By: sergey Differential Revision: https://developer.blender.org/D7575
2020-03-19Cleanup: `make format` after SortedIncludes changeDalai Felinto
2020-03-17Cleanup: use more descriptive variable name for the data-maskCampbell Barton
Make it explicit this data mask is added to the default mask.
2020-02-28Objects: make evaluated data runtime storage usable for types other than meshBrecht Van Lommel
This is in preparation of new object types. This only changes mesh_eval, we may do the same for mesh_deform_eval and other areas in the future if there is a need for it. This previously caused a bug in T74283, that should be fixed now. Differential Revision: https://developer.blender.org/D6695
2020-02-28Revert "Objects: make evaluated data runtime storage usable for types other ↵Brecht Van Lommel
than mesh" This reverts commit f2b95b9eae2ee913c99cff7595527b18d8b49d0a. Fix T74283: modifier display lost when moving object in edit mode. The cause is not immediately obvious so better to revert and look at this carefully.
2020-02-27Objects: make evaluated data runtime storage usable for types other than meshBrecht Van Lommel
This is in preparation of new object types. This only changes mesh_eval, we may do the same for mesh_deform_eval and other areas in the future if there is a need for it. Differential Revision: https://developer.blender.org/D6695
2020-02-10Cleanup/refactor: Rename `BKE_library` files to `BKE_lib`.Bastien Montagne
Note that `BKE_library.h`/`library.c` were renamed to `BKE_lib_id.h`/`lib_id.c` to avoid having a too generic name here. Part of T72604.
2020-02-01Fix T54292: CrazySpace transform calculation errormano-wii
The function `modifiers_disable_subsurf_temporary` disables temporarily only subsurf modifiers with the `On Cage` option enabled. But a modifier can act on cage even with this option disabled. Differential Revision: https://developer.blender.org/D6722
2019-11-30Fix T71213: Mask or Mirror before Armature breaks weight paint.Alexander Gavrilov
This is a revert of a small fraction of commit rB5e332fd700 that introduced the issue according to bisect. Doing a break here is wrong, because BKE_crazyspace_build_sculpt assumes that processing stopped at the first deform modifier without deformMatrices, and thus skips all modifiers until it finds one like that. Thus this early loop exit makes the behavior worse, as instead of skipping just Mask and Mirror, it skips all.
2019-11-24Cleanup: doxygen commentsCampbell Barton
Also correct some outdated symbol references, add missing 'name' commands.
2019-11-13Force sculpting on highest multires levelSergey Sharybin
This is a workaround for T58473 to avoid likely event of ruining sculpted data. Differential Revision: https://developer.blender.org/D6244
2019-10-07Fix T70476: Sculpting with Subsurf on top produces artifactsSergey Sharybin
The issue was caused by crazy space distortion orientation happening for subsurf modifier. Solved by making it so subsurf only deforms the surface but keeps matrices as-is. This is not fully mathematically correct, but is better that the fall-back solution which was doing wrong matrices anyway. Also, this is closer to have subsurf was handled prior to the related changes. Reviewed By: brecht, pablodp606 Differential Revision: https://developer.blender.org/D5991
2019-09-23Modifiers: every modifier now copies mesh settings, fixing texture space issuesBrecht Van Lommel
Modifier stack evaluation would copy mesh settings other than mesh topology automatically, outside of the individual modifier evaluation. This leads to hard to understand code, and makes it unclear which settings are available in following modifiers, and which only after the entire stack is evaluated. Now every modifier is responsible to ensure the mesh it outputs preserves materials, texture space and other settings, or alters them as needed. Fixes T64739: incorrect texture space for various modifiers Differential Revision: https://developer.blender.org/D5808
2019-09-21Revert "Modifiers: every modifier now copies mesh settings, fixing texture ↵Brecht Van Lommel
space issues" This reverts commit e7a514369fe700dcc5a1fe433c8f709ed9595ded, it introduces a bug in selection in edit mode. Fixes T70103: can't select extruded Vertex Ref T64739
2019-09-19Fix T67934: Weight paint doesn't work with Subsurf/MultiresSergey Sharybin
This is a regression since PBVH was introduced for weight paint. The solution is: treat subsurf and multires modifiers as deforming ones for the weight painting. This is an easiest solution to make PBVH use subdivided location of original vertices. This change could simplify some of the weight paint by removing the grids check, since PBVH is not supposed to be built from grids in this case anymore. Differential Revision: https://developer.blender.org/D5751
2019-09-19Modifiers: every modifier now copies mesh settings, fixing texture space issuesBrecht Van Lommel
Modifier stack evaluation would copy mesh settings other than mesh topology automatically, outside of the individual modifier evaluation. This leads to hard to understand code, and makes it unclear which settings are available in following modifiers, and which only after the entire stack is evaluated. Now every modifier is responsible to ensure the mesh it outputs preserves materials, texture space and other settings, or alters them as needed. Fixes T64739: incorrect texture space for various modifiers Differential Revision: https://developer.blender.org/D5808
2019-08-21Cleanup: vertex coordinate access, naming & minor changesCampbell Barton
This also splits vertex access and allocation so it's possible to copy coordinates into an existing array without allocating it.
2019-06-05Fix T63384: Vertices are moving in different directionsSergey Sharybin
2019-06-05Cleanup: Remove unused argumentSergey Sharybin
2019-04-22Cleanup: style, use braces for blenkernelCampbell Barton
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-14Cleanup: doxy commentsCampbell Barton
Use doxy references to function and enums, also correct some names which became out of sync.
2019-03-28Cleanup: remove unused derivedmesh code.Brecht Van Lommel
2019-03-11Fix T62423: Wrong sculpting with shape keys and modifiersSergey Sharybin
Need to use original mesh to get virtual modifiers list, otherwise key datablocks will not be properly taken into account (since evaluated mesh doesn't have key datablock).
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-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-17Cleanup: rename Mesh.edit_btmesh -> edit_meshCampbell Barton
When bmesh was in a branch we had both edit_mesh and edit_btmesh, now there is no reason to use this odd name.
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.
2018-12-06Fix crazyspace transform w/ armaturesCampbell Barton
2018-12-05Fix T58762: Issue with weight painting on deformed meshSergey Sharybin
Was initially reported when painting on a mesh with armature, which was failing due to missing bbone cache. The issue was deeper, and was related on the way which object was used to calculate crazyspace.
2018-10-10Modifier: remove derived-mesh for sculpt crazy-spaceCampbell Barton
2018-10-09Edit Mesh: replace DerivedMesh w/ MeshCampbell Barton
DerivedMesh is now removed from edit-mesh modifier evaluation.