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
2021-07-23Cleanup: code comments punctuation / spacingCampbell Barton
2021-07-22Cleanup: Silence warning - unused parameterGermano Cavalcante
2021-07-21Draw Cache: extract tris in parallel rangesGermano Cavalcante
The `ibo.tris` extraction in multithread is currently only done if the mesh has only 1 material. Now we cache a map indicating the index of each polygon after sort and thus allow the extraction of tris with materials in multithreaded. As caching is a heavy operation and was already being performed in multi-thread for triangle offsets, no significant improvements are expected. The benefit will be much greater when we can skip updating the cache while transforming a geometry. **Profiling:** ||master:|PATCH: |---|---|---| |large_mesh_editing_materials:|Average: 13.855380 FPS|Average: 15.525684 FPS ||rdata 9ms iter 36ms (frame 71ms)|rdata 9ms iter 29ms (frame 64ms) |subdiv_mesh_final_only_materials:|Average: 28.113742 FPS|Average: 28.633599 FPS ||rdata 0ms iter 1ms (frame 36ms)|rdata 0ms iter 1ms (frame 35ms) 1.1x overall speedup Differential Revision: https://developer.blender.org/D11445
2021-07-21Fix T90017: Bone widget drawing inconsistent with editingGermano Cavalcante
The `lines_loose` extractor did not trigger loose geometry caching.
2021-07-21Cleanup: Move loose geometry cache creation to render data taskGermano Cavalcante
This centralizes caching functions.
2021-07-21Fix incorrect use of BLI_assert with error stringsCampbell Barton
Some asserts were never raised because of invalid checks.
2021-07-21Cleanup: spellingCampbell Barton
2021-07-21Cleanup: replace BLI_assert(0 && "text") with BLI_assert_msgCampbell Barton
2021-07-20Fix T89993: Failed assert drawing single point cyclic splinesHans Goudey
The same check used for the curve to mesh node.
2021-07-19Revert "Depsgraph: Implement 'ID_RECALC_GEOMETRY_DEFORM'"Germano Cavalcante
This reverts commits bfa3dc91b75407b063f2ac991b176d98c050f92d, 52b94049f2a71a74f52247f83657cf3a5c8712b4, ae379714e4f1eca74f5f77532a6e959f29445236, a770faa811ee62837eb540b0bd83ca0770f16663, 4ed029fc02b022cb5ff28ed3ce70992c450d2be5, 101a493ab556c6597ac91fba204059be67b35990 and 62a2faa7ef39130446716d7a06215cd1df1eb2ac. And fixes T89955. Changing the dependency graph is a can of worms and the result is a kind of unpredictable. A different solution will be planned.
2021-07-16Fix T89624: Vertex painting causes mesh to flickerGermano Cavalcante
The `ibo.lines_paint_mask` extractor doesn't have a callback to iterate bmesh faces, this made `filter_into` ignore the extractor.
2021-07-16Cleanup: remove redundant parenthesesCampbell Barton
2021-07-15Cleanup: replace BLI_assert(!"text") with BLI_assert_msg(0, "text")Campbell Barton
This shows the text as part of the assertion message.
2021-07-15Cleanup: clang-formatCampbell Barton
2021-07-13Refactor: Move vertex group names to object dataHans Goudey
This commit moves the storage of `bDeformGroup` and the active index to `Mesh`, `Lattice`, and `bGPdata` instead of `Object`. Utility functions are added to allow easy access to the vertex groups given an object or an ID. As explained in T88951, the list of vertex group names is currently stored separately per object, even though vertex group data is stored on the geometry. This tends to complicate code and cause bugs, especially as geometry is created procedurally and tied less closely to an object. The "Copy Vertex Groups to Linked" operator is removed, since they are stored on the geometry anyway. This patch leaves the object-level python API for vertex groups in place. Creating a geometry-level RNA API can be a separate step; the changes in this commit are invasive enough as it is. Note that opening a file saved in 3.0 in an earlier version means the vertex groups will not be available. Differential Revision: https://developer.blender.org/D11689
2021-07-13Cleanup: replace BKE_customdata.h in BKE_editmesh.hCampbell Barton
Only DNA_customdata_types.h is needed for BMEditMesh.
2021-07-13Depsgraph: Implement 'ID_RECALC_GEOMETRY_DEFORM'Germano Cavalcante
During a mesh transformation in edit mode (Move, Rotate...), only part of the batch cache needs to be updated. This commit allows only update only the drawn batches seen in `BKE_object_data_eval_batch_cache_deform_tag` if the new `ID_RECALC_GEOMETRY_DEFORM` flag is used. This new flag is used in the transforms operation for edit-mesh and results in 1.6x overall speedup in heavy subdiv cube. Differential Revision: https://developer.blender.org/D11599
2021-07-12Cleanup: Clang formatPhilipp Oeser
Sorry, missed this in 53cf8e83b37d.
2021-07-11Cleanup: correct spelling in comments, remove profanityCampbell Barton
2021-07-09Fix channel packed images display in the Image/Node editorPhilipp Oeser
Channel packed images should not have their RGB affected by alpha. rendering in Cycles and Eevee was fine already, but displaying these was not right in the Image and Node editors. Not 100% sure what to do for the "Color and Alpha" mode, but I guess this should stay like it was before (applying the alpha). "Color", "R", "G", and "B" modes were changed to not have color be affected by alpha though. ref. T89034 Maniphest Tasks: T89034 Differential Revision: https://developer.blender.org/D11871
2021-07-08Cleanup: spellingCampbell Barton
2021-07-08CMake: add missing headers, sort file listsCampbell Barton
2021-07-07Cleanup: spelling in commentsCampbell Barton
2021-07-06GPencil: Rename BKE_gpencil_visible_stroke_iterAntonio Vazquez
Renamed to BKE_gpencil_visible_stroke_advanced_iter Also created a simple version of the iterator to be used without multiframe and onion skin.
2021-07-03Cleanup: consistent use of tags: NOTE/TODO/FIXME/XXXCampbell Barton
Also use doxy style function reference `#` prefix chars when referencing identifiers.
2021-07-02Cleanup: Use const variables for object's evaluated meshHans Goudey
Generally the evaluated mesh should not be changed, since that is the job of the modifier stack. Current code is far from const correct in that regard. This commit uses a const variable for the reult of `BKE_object_get_evaluated_mesh` in some cases. The most common remaining case is retrieving a BVH tree from the mesh.
2021-07-02Cleanup: compiler & clang-tidy warningsCampbell Barton
2021-07-02Cleanup: Clang tidy, remove typedefHans Goudey
2021-07-01Cleanup: Separate each extractor into specific compile unitsGermano Cavalcante
Makes code cleaner and easier to find.
2021-06-28Draw: make 'ibo.lines_loose' extracting saferGermano Cavalcante
No functional changes.
2021-06-28Cleanup: remove unused macro parametersGermano Cavalcante
2021-06-28Cleanup GPU/Draw test cases.Jeroen Bakker
In preparation of supporting vulkan. Draw/GPU tests should use GPU_TEST or DRAW_TEST macros. These macros will run the test on available drawing context backends like OpenGL or Vulkan. As in master there is only an OpenGL backend nothing changed.
2021-06-28Cleanup: repeated terms in code comments & error messagesCampbell Barton
2021-06-26Cleanup: full sentences in comments, improve comment formattingCampbell Barton
2021-06-24Cleanup: move and simplify some draw_cache macrosGermano Cavalcante
2021-06-24Cleanup: comment blocks, trailing space in commentsCampbell Barton
2021-06-22Cleanup: Spelling MistakesLeon Zandman
This patch fixes many minor spelling mistakes, all in comments or console output. Mostly contractions like can't, won't, don't, its/it's, etc. Differential Revision: https://developer.blender.org/D11663 Reviewed by Harley Acheson
2021-06-22Fix T89360: Eevee transforms geometry when using "High Quality Normals"Germano Cavalcante
Offset missed in rB44d2479dc36f
2021-06-22Draw: Added testcases for hair refine shaders.Jeroen Bakker
2021-06-21Cleanup: swap top/bottom args to planes_from_projmatCampbell Barton
X & Z were ordered min/max, where as Y was max/min.
2021-06-20Docs: add additional notes on tessellation, update commentsCampbell Barton
2021-06-20Mesh: optimize object mode face tessellationCampbell Barton
- Multi-thread BKE_mesh_recalc_looptri. - Add BKE_mesh_recalc_looptri_with_normals, this skips having to calculate normals for ngons. Exact performance depends on number of faces, size of ngons and available CPU cores. For high poly meshes the isolated improvement to BKE_mesh_recalc_looptri in my tests was between 6.7x .. 25.0x, with the largest gains seen in meshes containing ngons with many sides. The overall speedup for high poly meshes containing quads and triangles is only ~20% although ngon heavy meshes can be much faster.
2021-06-18Armature: add automatic B-Bone Scale toggles.Alexander Gavrilov
Currently B-Bone scaling can only be controlled via their properties, thus requiring up to 8 drivers per joint between B-Bones to transfer scaling factors from the handle bone. A Scale Easing option is added to multiply the easing value by the Y scale channels to synchronize them - this produces a natural scaling effect where both the shape of the curve and the scale is affected. In addition, four toggles are added for each handle, which multiply each of the X, Y, Z and Ease values by the matching Local Scale channel of the handle bone, thus replacing trivial drivers. The Scale Easing option has no effect on this process since it's easy to just enable both Length and Ease buttons. Differential Revision: https://developer.blender.org/D9870
2021-06-18Armature: add B-Bone Y scale channel and extra flag fields to DNA.Alexander Gavrilov
In addition to the base bone transformation itself, B-Bones have controls that affect transformation of its segments. For rotation the features are quite complete, allowing to both reorient the Bezier handles via properties, and to control them using custom handle bones. However for scaling there are two deficiencies. First, there are only X and Y scale factors (actually X and Z), while lengthwise all segments have the same scaling. The ease option merely affects the shape of the curve, and does not cause actual scaling. Second, scaling can only be controlled via properties, thus requiring up to 6 drivers per joint between B-Bones to transfer scaling factors from the handle bone. This is very inefficient. Finally, the Z channels are confusingly called Y. This commit adds a B-Bone Y Scale channel and extra B-Bone flag fields to DNA with appropriate versioning (including for F-Curves and drivers) in preparation to addressing these limitations. Functionality is not changed, so the new fields are not used until the following commits. Differential Revision: https://developer.blender.org/D9870
2021-06-18DrawManager: Multithreaded counting of material buckets.Jeroen Bakker
When having multiple materials in a mesh the triangles are sorted based on material index. This sorting is done single threaded, but needs two loops over the data. One to count the bucket size and the second one to add the triangles to the right position in the buckets. This patch will do the counting in a multithreaded approach that would speed up the cache creation. It has been measured that this part is the most blocking part of the cache creation. Reviewed By: mano-wii Differential Revision: https://developer.blender.org/D11615
2021-06-18Fix T89240: Crash when moving vertices on a linked duplicateGermano Cavalcante
There is an attempt to free an illegal pointer in `extract_edge_fac_finish`.
2021-06-18Cleanup: clang formatJacques Lucke
2021-06-18Cleanup: clang-tidyCampbell Barton
2021-06-16Cleanup: reduce warnings when compiling release builds.Jeroen Bakker
2021-06-15DRW: sanitize 'DRW_mesh_batch_cache_dirty_tag'Germano Cavalcante
Create maps that specify which batches have vbo or ibo as a reference and use these maps to discard batches along with buffers. Differential Revision: https://developer.blender.org/D11588