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-09-05Mesh: Remove redundant custom data pointersHans Goudey
For copy-on-write, we want to share attribute arrays between meshes where possible. Mutable pointers like `Mesh.mvert` make that difficult by making ownership vague. They also make code more complex by adding redundancy. The simplest solution is just removing them and retrieving layers from `CustomData` as needed. Similar changes have already been applied to curves and point clouds (e9f82d3dc7ee, 410a6efb747f). Removing use of the pointers generally makes code more obvious and more reusable. Mesh data is now accessed with a C++ API (`Mesh::edges()` or `Mesh::edges_for_write()`), and a C API (`BKE_mesh_edges(mesh)`). The CoW changes this commit makes possible are described in T95845 and T95842, and started in D14139 and D14140. The change also simplifies the ongoing mesh struct-of-array refactors from T95965. **RNA/Python Access Performance** Theoretically, accessing mesh elements with the RNA API may become slower, since the layer needs to be found on every random access. However, overhead is already high enough that this doesn't make a noticible differenc, and performance is actually improved in some cases. Random access can be up to 10% faster, but other situations might be a bit slower. Generally using `foreach_get/set` are the best way to improve performance. See the differential revision for more discussion about Python performance. Cycles has been updated to use raw pointers and the internal Blender mesh types, mostly because there is no sense in having this overhead when it's already compiled with Blender. In my tests this roughly halves the Cycles mesh creation time (0.19s to 0.10s for a 1 million face grid). Differential Revision: https://developer.blender.org/D15488
2022-09-05Cleanup: Fix unused variable warningsHans Goudey
2022-09-05Cleanup: Remove unused code for VSE waveform drawingRichard Antalik
2022-09-05Fix VSE: accidentally commented out codeRichard Antalik
`DEG_id_tag_update` was commented out in `sequencer_meta_toggle_exec()`. Tagging does not affect functionality now, but it should be done.
2022-09-05Fix T81002: Images drawn with the Python gpu module no longer draw on top in ↵Germano Cavalcante
the Image Editor This reverts commit 32d4a67017ecf4af75a9bfde885526550a6534ba thus fixing T81002 again. And in order not to break T81212 (again) a different fix was implemented. Reviewed By: brecht Differential Revision: https://developer.blender.org/D15840
2022-09-05Cleanup: make formatBrecht Van Lommel
2022-09-05GPencil: Fix bug in set start api functionAntonio Vazquez
The point of the second stroke was duplicated.
2022-09-05GPencil: Improve previous commit error checkingAntonio Vazquez
Better check if the strokes has more points. A 0 or 1 point stroke never need to set start point.
2022-09-05Cleanup: Add parameter auto_flip documentationAntonio Vazquez
2022-09-05GPencil: Small code cleanupAntonio Vazquez
2022-09-05IDMAnagement: Add owner ID pointer to embedded ones.Bastien Montagne
Add a dedicated `owner_id` pointer to ID types that can be embedded (Collections and NodeTrees), and modify slightly come code to make handling those more safe and consistent. This implements first part of T69169. Reviewed By: brecht Differential Revision: https://developer.blender.org/D15838
2022-09-05EEVEE: Fix attributes node on Alpha Clip/Hashed materialsClément Foucault
This was cause by a missing implementation of some post processing attribute functions. Leading to unresolved reference.
2022-09-05I18n: extract keymap preferencesDamien Picard
The per-keymap user preferences messages were not extracted. This goes through the keymap preferences RNA, as well as Python files for UI. Reviewed By: mont29 Differential Revision: https://developer.blender.org/D15871
2022-09-05I18n: translate untitled file namesDamien Picard
When saving, the default file name is "untitled" regardless of selected language. This can be translated, like many graphical applications do. This applies to: - blend file - alembic file - collada file - obj file - usd file - rendered image - grease pencil export - subtitles export - other Python exports through ExportHelper Reviewed By: mont29 Differential Revision: https://developer.blender.org/D15868
2022-09-05Merge branch 'blender-v3.3-release'Jacques Lucke
2022-09-05GPencil: Move Outline operator in menuAntonio Vazquez
Reviewed by: Matias Mendiola
2022-09-05Fix T100796: wrong tangents on bezier splines with duplicate points and handlesJacques Lucke
Differential Revision: https://developer.blender.org/D15880
2022-09-05I18n: fix translation of status barDamien Picard
- Use the proper context (Operator, since that is what the cursor keymap status uses) - Add a few missing message extraction tags Reviewed By: mont29 Differential Revision: https://developer.blender.org/D15867
2022-09-05GPencil: Move Scale Thickness option in menuAntonio Vazquez
The option is more logic in the Normalize group Reviewed by: Matias Mendiola
2022-09-05Merge branch 'blender-v3.3-release'Brecht Van Lommel
2022-09-05Fix T100814: Cycles wrong area light parametric texture coordinatesBrecht Van Lommel
The fix from cefd6140f322 was for light intersection, but light sampling also needs it. Differential Revision: https://developer.blender.org/D15879
2022-09-05Fix Cycles not rendering hair without radius attributesBrecht Van Lommel
This was fixed in 8159e0a but accidentally reverted as part of 18b703d
2022-09-05GPencil: New BKE function to set stroke start pointAntonio Vazquez
This function allows to set the start point for cyclic strokes. The function is required by a new modifier and operator that are currently under development.
2022-09-05Fix T100820: Crash renaming modifier with visibility driverSergey Sharybin
2022-09-05Merge branch 'blender-v3.3-release'Clément Foucault
2022-09-05Fix T100649: Regression: Environment texture is stretched when added to meshClément Foucault
The new code was not using the correct default attribute. Add access to `g_data.P` through `node_tex_coord_position()` to replace the old `GPU_builtin(GPU_VIEW_POSITION)` which was used before. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D15862
2022-09-05Fix T100775: Regression: EEVEE world environment is stretched when using ↵Clément Foucault
orthographic view It was using normalized vector instead of `viewCameraVec` which account for orthographic views. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D15861
2022-09-05Fix T100788 Regression: EEVEE wrong normal map on backfacesClément Foucault
This was caused by rB07cf3ce92fa2. It was missing a sign flip.
2022-09-04Cleanup: Clarify multi-socket input sortingHans Goudey
The multi-socket input sorting was used for two purposes: moving links to the proper positions when dragging a new link, and resetting the multi-input indices on the links when removing a link. They are now separated into two functions, and the sorting when making a group node that didn't accomplish anything is removed (in that case a proper implementation would copy the indices from the original exterior sockets).
2022-09-04Cleanup: Replace recursive quadratic node link mute operationHans Goudey
The previous implementation iterated over all links multiple times recursively. Instead, use the node tree topology cache, only iterate over all links once, and use a stack to propagate the mute upsteam and downstream.
2022-09-03Cleanup: Deduplicate node link intersection testHans Goudey
2022-09-03Cleanup: Refactor node add reroute operatorHans Goudey
Use C++ Map that supports the duplication natively. Use vectors instead of linked lists, and adjust naming. Also remove combination of reroutes for input sockets, which doesn't make sense since a reroute isn't allowed to combine multiple input links into one output.
2022-09-03Merge branch 'blender-v3.3-release'Philipp Oeser
2022-09-03Fix T100731: Keymap Editor context menu crashPhilipp Oeser
Caused by {rB3f3d82cfe9ce} Since above commit, a `uiRNACollectionSearch` may contain a NULL `search_prop`, crashing the menu entry for "Jump To Target" (`ui_jump_to_target_button_poll`). Now safeguard against this with a NULL check (getting search callbacks to work for "Jump To Target" can be investigated in master). Maniphest Tasks: T100731 Differential Revision: https://developer.blender.org/D15832
2022-09-03Fix T100687: Geometry Attribute Convert crashes in sculpt modePhilipp Oeser
Since above commit, `BKE_id_attributes_active_get` would also return "internal" attributes like ".hide_poly" or ".hide_vert". As a consequence, a couple of poll functions dont return false anymore (attribute remove, attribute convert), allowing these operators to execute, but acting on this "internal" layers is just asking for trouble. In the UI, we dont see these attributes, because `MESH_UL_attributes` checks `is_internal`, same thing we do now in `BKE_id_attributes_active_get`. Maniphest Tasks: T100687 Differential Revision: https://developer.blender.org/D15833
2022-09-03Cleanup: Return earlyHans Goudey
2022-09-03Cleanup: use more standard variable name for node socketsHans Goudey
2022-09-03Cleanup: Use separate variables for node socket locationsHans Goudey
This will help if the locations are moved out of DNA and require slightly more complicated access.
2022-09-03Cleanup: Avoid using node socket locationHans Goudey
The location of a reroute node and its sockets should be the same, only stored in different coordinate spaces. Because the node's location is the ground truth, use that for finding whether the mouse is hovering.
2022-09-03Cleanup: Use references and const in node editorHans Goudey
2022-09-03Cleanup: Use new node topology cache for sorting multi input socketsHans Goudey
Assuming the cost of building the cache is ammortized, this may be be helpful because it removes some quadratic behavior.
2022-09-03Cleanup: Return earlyHans Goudey
2022-09-02Merge branch 'blender-v3.3-release'Hans Goudey
2022-09-02Fix T100767: Geometry nodes viewer node placed incorrectlyHans Goudey
See explanation in comment. Differential Revision: https://developer.blender.org/D15864
2022-09-02Cleanup: Deduplicate node link points evaluation functionsHans Goudey
2022-09-02Cleanup: Further split of node link Bezier calculation functionHans Goudey
Now dragged handles are handled separately, and the function returns a statically sized array by value. The functions are also renamed to be more consistent with curve naming elsewhere in Blender.
2022-09-02Fix: Ensure topology cache exists when drawing nodesHans Goudey
This was missed in 58c650a44c251a41c89375d697efdf07153016e0.
2022-09-02Cleanup: Split node link draw culling to separate functionHans Goudey
This was only really used in one place, so better to just do it there rather than requiring another argument for the handle calculation.
2022-09-02Cleanup: Return earlyHans Goudey
2022-09-02Cleanup: Remove unnecessary struct keyword usage in node editorHans Goudey