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-01-20Fix continuous stream of thumbnail notifiers after redoJulian Eisel
This fixes a similar issue as the previous commit, but this time the continuous notifiers would be sent after redoing. E.g. after moving an object, and then modifying the transform in the "Adjust Last Operation" panel.
2022-01-20Fix file/asset thumbnails causing constant stream of notifiersJulian Eisel
The thumbnail caching continuously sends `ND_SPACE_FILE_PREVIEW` notifiers via a timer. But this timer was never ended properly after thumbnails are fully loaded into the cache. Wouldn't actually cause a refresh or redraw, send and process the notifiers. I already tried to avoid this for the asset view template, but apparently that wasn't working correctly. For the File/Asset Browser I never applied that fix to avoid possible regressions before the release.
2022-01-20Cleanup: Move node editor files to proper namespaceHans Goudey
This commit moves code in all node editor files to the `blender::ed::space_node` namespace, except for C API functions defined in `ED_node.h`, which can only be moved once all areas calling them are moved to C++. The change is fairly straightforward, I just moved a couple of "ED_" code blocks around to make the namespace more contiguous, and there's the method for adding a pointer to a struct in a C++ namespace in DNA. Differential Revision: https://developer.blender.org/D13871
2022-01-20Cleanup: Remove OpenCL workaround in volume_sample_channel().Thomas Dinges
2022-01-20Cycles: Fix bvh2 gen on Apple Silicon and use it to speed up rendersMichael Jones
This patch fixes a correctness issue discovered in the `int4 select(...)` function on Apple Silicon machines, which causes bad bvh2 builds. Although the generated bvh2s give correct renders, the resulting runtime performance is terrible. This fix allows us to switch over to bvh2 on Apple Silicon giving a significant performance uplift for many of the standard benchmarking assets. It also fixes some unit test failures stemming from the use of MetalRT, and trivially enables the new pointcloud primitive. Ref T92212 Reviewed By: brecht Maniphest Tasks: T92212 Differential Revision: https://developer.blender.org/D13877
2022-01-20Fix T94726: crash with GPU subdivision on a custom bone shapeKévin Dietrich
Custom bones are drawn by instancing the GPUBatch of the base object. To access the mesh and its GPUBatch, `BKE_object_get_evaluated_mesh` was used. However, since GPU subdivision support, this will return a subdivision wrapper which will never be drawn, and thus will have an invalid batch, which caused the crash. `BKE_object_get_evaluated_mesh_no_subsurf` should be used instead, to return the mesh that will be drawn, and have the subdivision evaluated on the GPU. Note that the rest of the draw code is already using this function.
2022-01-20Cleanup: Remove unused python helper function.Thomas Dinges
Branched Path has been removed with the Cycles X merge.
2022-01-20Revert "Sculpt: Multires Heal Brush"Joseph Eagar
This reverts commit ae349eb2d50524b030f702b8ed3fd75531d4db7e.
2022-01-20Subdivision: add support for vertex creasingKévin Dietrich
This adds vertex creasing support for OpenSubDiv for modeling, rendering, Alembic and USD I/O. For modeling, vertex creasing follows the edge creasing implementation with an operator accessible through the Vertex menu in Edit Mode, and some parameter in the properties panel. The option in the Subsurf and Multires to use edge creasing also affects vertex creasing. The vertex crease data is stored as a CustomData layer, unlike edge creases which for now are stored in `MEdge`, but will in the future also be moved to a `CustomData` layer. See comments for details on the difference in behavior for the `CD_CREASE` layer between egdes and vertices. For Cycles this adds sockets on the Mesh node to hold data about which vertices are creased (one socket for the indices, one for the weigths). Viewport rendering of vertex creasing reuses the same color scheme as for edges and creased vertices are drawn bigger than uncreased vertices. For Alembic and USD, vertex crease support follows the edge crease implementation, they are always read, but only exported if a `Subsurf` modifier is present on the Mesh. Reviewed By: brecht, fclem, sergey, sybren, campbellbarton Differential Revision: https://developer.blender.org/D10145
2022-01-20Cleanup: Remove incorrect commentHans Goudey
2022-01-20Sculpt: Multires Heal BrushJoseph Eagar
This brush fixes the random spikes that occasionally happen in multires models. These spikes can be nearly impossible to fix manually and can make working with multires a nightmare.
2022-01-20Cleanup: spelling in commentsCampbell Barton
2022-01-20Cleanup: clang-formatCampbell Barton
2022-01-20Cleanup: quiet ASAN warnings for divide by zero & NULL memcpy argsCampbell Barton
No functional changes as the inf value was never used & memcpy args were only NULL when the size to copy was zero.
2022-01-20Mesh RNA API: Expose contiguous normal arraysHans Goudey
Since vertex and face normals are now stored on the mesh when necessary, we can expose them as contiguous arrays of vectors in the Python API. This can give render engines and other addons easy access to they data for fast access through a regular collection property. While "Mesh Vertex" still has a "normal" property in RNA, that is only maintained in order to avoid breaking the existing API, and accessing it is less efficient than accessing the normals directly. I made the normal arrays read-only, because modifying them could put them in an invalid state. This is inline with how we treat the data internally, and helps keep relationships between data clear. Differential Revision: https://developer.blender.org/D13839
2022-01-20Cleanup doc comments for sculpt_intern.hJoseph Eagar
2022-01-19Fix: File Browser using asset indexer after Asset Browser was visibleJulian Eisel
When toggling to a File Browser from an Asset Browesr, the asset indexer would be used to load files. I couldn't spot issues with that on a quick look, but this should still be corrected.
2022-01-19Asset Browser: Add debug option to disable asset indexingJulian Eisel
Adds an "Asset Indexing" option (enabled by default) to Preferences > Experimental > Debugging. This is useful when working on the asset library loading.
2022-01-19PyAPI Docs: Prepare for Sphinx 4.5Aaron Carlisle
2022-01-19CMake: Support external callback in configurationAnkit Meel
An external CMake script can be used to debug CMake code, modify/read target properties, inter-target dependencies, non-cache variables etc. Reviewed by: LazyDodo, brecht Differential Revision: https://developer.blender.org/D13830
2022-01-19Cycles: Fix T94736: Crash when modifying strength of world environment textureMichael Jones
This patch fixes crash T94736 on Metal in which the launch_params were not being updated to reflect destruction of MetalMem objects. Reviewed By: brecht Differential Revision: https://developer.blender.org/D13875
2022-01-19CMake Cleanup: use set for filepath instead of optionAnkit Meel
See https://developer.blender.org/D13830#368219
2022-01-19Fix T95042: Rendering high-res image in Cycles crashesSergey Sharybin
Integer overflow when the final frame is handled by the Blender's output driver. Thanks Jesse and Thomas for investigation!
2022-01-19Fix error in previous commitRichard Antalik
While doing last minute cleanup in e49bf4019b498be42b9a39657604ad750a99bbea, missed to rename function in one place.
2022-01-19VSE: Support copy-pasting strips with animationRichard Antalik
When copying strips between 2 scenes, it wasn't possible to copy animation curves along with strips. In this patch curves are copied into clipboard `ListBase`. When pasted, original curves are moved into temporary `ListBase` and curves in clipboard are moved into scene action. This is because when strips from clipboard have to be renamed, function `SEQ_ensure_unique_name()` does fix RNA paths of curves, but this is done globally for all curves within action. After strips are renamed, restore original curves from backup. Note: This patch handles only fcurves. Drivers and actions are currently not handled anywhere in VSE. Fixes T77530 Reviewed By: sergey Differential Revision: https://developer.blender.org/D13845
2022-01-19Cleanup: VSE animation handlingRichard Antalik
- Move functions that handle animation to own file - `animation.c` - Refactor `SEQ_offset_animdata` and `SEQ_free_animdata` functions - Add function `SEQ_fcurves_by_strip_get` to provide more granular and explicit way for operators to handle animation - Remove function `SEQ_dupe_animdata`, do curve duplication explicitly in operator code, which makes more sense to do. Further this function was also used for renaming strips which makes no sense. - Refactor usage of function `SEQ_free_animdata` and remove XXX comment. Now this functiuon is no longer called when `Sequence` data is freed implicitly, it is done explicitly in high level function `SEQ_edit_remove_flagged_sequences` Reviewed By: sergey Differential Revision: https://developer.blender.org/D13852
2022-01-19Cleanup: Strict compiler warning in CyclesSergey Sharybin
The ustring is not a trivially copyable object from the C++ standard point of view, so using memcpy on it is strictly wrong. In practice, however, this is OK since it is just a thin wrapper around char*. For now use explicit cast to void* same as it was done in other places of ccl::array implementation. But also localize the place where memory copy happens to make it easier to support proper non-trivial C++ objects in the future.
2022-01-19GPUShaderCreateInfo: Rework geometry shader layout supportClément Foucault
This merge the description into one struct only that can be more easily copied during `finalize()`. The in and out layout parameters are better named and extended with the invocation count (with fallback support)
2022-01-19Fix T94987: Dragged node links are invisible.Jeroen Bakker
Route cause was data alignment mismatch between GPU and CPU. This mismatch would not allow us to bind the UBO where data wasn't available on the GPU. Fixed by using float4 in stead of float2. This could eventually be packed, but that would lead to less readable code.
2022-01-19Fix T95039,T94998: Shaders compilation errors on Mac.Jeroen Bakker
Cause was incorrect logic when generating the resource layout. It the explicit_location_support setting was ignored and the binding were generated for image, uniform buffers and storage buffers.
2022-01-19BMesh: add mesh debug information printingCampbell Barton
- Add BM_mesh_debug_print & BM_mesh_debug_info. - Report flags in Mesh.cd_flag in BKE_mesh_debug_print - Move custom data printing into customdata.cc (noted as a TODO). Note that the term "runtime" has been removed from `BKE_mesh_runtime_debug_print` since these are useful for debugging any kind of mesh data.
2022-01-19BMesh: improve handling of custom-data flag (Mesh.cd_flag)Campbell Barton
Code that handled merging & initializing custom-data from other meshes sometimes missed checks for this flag, causing bevel weights to lost when the mesh was converted to a BMesh. The following changes are a more general fix for T94197. - Add BM_mesh_copy_init_customdata_from_mesh_array which initializes custom-data from multiple meshes at once. As well as initializing custom-data layers from Mesh.cd_flag. This isn't essential for boolean, however it avoids the overhead of resizing custom-data layers. - Loading mesh data into a BMesh now respects Mesh.cd_flag instead of only checking if the BMesh custom-data-layer exists. Without this, the order of meshes passed to BM_mesh_bm_from_me could give different (incorrect) results. - Copying mesh data now copies `cd_flag` too. This is a precaution as in my tests evaluating modifiers these values always matched. Nevertheless it's correct to copy this value as custom-data it's self is being copied.
2022-01-19Docs: notes on thumbnail sizesCampbell Barton
The rationale for storing thumbnails at different sizes wasn't obvious.
2022-01-19Fix flipped order of items in the "Undo History" menuCampbell Barton
Error in 0e1bb232e68ce71f4c3dd331ed6331665238a065.
2022-01-19Fix T94202: GPUFrameBuffer: wrong refcount in the buffer passed for ↵Germano Cavalcante
read_color and read_depth The buffer passed as an argument to `GPUFrameBuffer.read_color` is used in the return of the function and therefore, if not used, its refcount is decremented. So be sure to increment the refcount of the already existing objects that will be used in the return of a function.
2022-01-18Cleanup: Use references, LISTBASE_FOREACH macroHans Goudey
2022-01-18Fix T93413: Nodes 'Make Links' fails for multi input socketPhilipp Oeser
This was the case for multi input sockets that have a link already. Since we have multi input sockets, the way we use `socket_is_available` is not really giving the expected result on these. When used for input sockets the intention is to find a free socket (either for noodle **replacement**, then it is always available, or just the next free available socket). Now I would think without the intention to replace an existing link, a multi input socket should still be available. From the inside of the function, the `replace` argument turns [namewise] to `allow_used`, which sounds a little different (so one might argue that if `allow_used` is `False` this should also trigger for already connected multi input sockets). In the end, this is an issue with the variable naming though, cant think of a usecase where the patch change would really go against intentions. Maniphest Tasks: T93413 Differential Revision: https://developer.blender.org/D13866
2022-01-18Fix T95029: Arrow gizmo always uses normal directionGermano Cavalcante
Bug possibly introduced in {rBc57e4418bb85aec8bd3615fd775b990badb43d30}. Interestingly, the orientation set before (NORMAL), even different from the orientation that was actually used, was allowing the use of "orient_matrix" ("orient_matrix_type" should have been NORMAL in that case too). In any case, make sure the "orient_matrix_type" and "orient_type" are the same so that the "orient_matrix" is used.
2022-01-18Cleanup: Make node editor functions privateHans Goudey
These operations (sorting and selecting all nodes) should generally be handled by the node editor and not outside code. They were not called outside of the node editor, so they can be moved to the editor's `intern` header.
2022-01-18Cleanup: Remove unused node editor toolbar fileHans Goudey
This file was added nine years ago, and was unused then. Now with active tools we use a different approach to create toolbars, so the file is not relevant.
2022-01-18Fix warning from rB9925606539.Alexander Gavrilov
2022-01-18Geometry Nodes: new Field at Index nodeJacques Lucke
This node allows accessing data of other elements in the context geometry. It is similar to the Transfer Attribute node in Index mode. The main difference is that this node does not require a geometry input, because the context is used. The node can e.g. be used to generalize what the Edge Vertices node is doing. Instead of only being able to get the position of the vertices of an edge, any field/attribute can be accessed on the vertices. Differential Revision: https://developer.blender.org/D13825
2022-01-18Geometry Nodes: Add Signed Output to Edge Angle NodeJohnny Matthews
Adds a second output to the edge angle node that shows the signed angle between the two faces, where Convex angles are positive and Concave angles are negative. This calculation is slower than the unsigned angle, so it was best to leave both for times where the unsigned angle will suffice. Differential Revision: https://developer.blender.org/D13796
2022-01-18Geometry Nodes: improve domain interpolation codeJacques Lucke
It's now easier than before to do the interpolation of attributes only for the elements that are actually used in some cases. This can result in a speedup because unnecessary computations can be avoided. See the patch for a simple performance test. Differential Revision: https://developer.blender.org/D13828
2022-01-18Fix T95003: Shader issue using voronoi noise.Jeroen Bakker
Cause of the issue isn't that clear, but the NVIDIA GLSL compiler complained that it couldn't find an overloaded function when the second parameter is an interger. This change fixes it by using a float.
2022-01-18RNA: display exact integer values without fraction if step is integer.Alexander Gavrilov
Display exact integer values of a floating point fields without a fraction if the step is also an exact integer. This is intended for cases when the value can technically be fractional, but most commonly is supposed to be integer. This handling is not applied if the field has any unit except frames, because integer values aren't special for quantities like length. The fraction is discarded in the normal display mode and when copying the value to clipboard, but not when editing to remind the user that the field allows fractions. Differential Revision: https://developer.blender.org/D13753
2022-01-18UI: fix a precision issue with float field step size.Alexander Gavrilov
Fix a precision issue when stepping down from 1 to 0 via the left decrement button and step 100 results in a small nonzero value. The reason is that 0.01 can't be precisely represented in binary and converting to double before multiplication reveals this. Ref D13753
2022-01-18Cleanup: Avoid possible NULL pointer errorAntonio Vazquez
In normal conditions, `gpf` always has a value, but better move inside the NULL checking.
2022-01-18GPU: Create Info for GPU_SHADER_2D_IMAGE_MULTI_RECT_COLOR.Jeroen Bakker
This patch converts GPU_SHADER_2D_IMAGE_MULTI_RECT_COLOR shader to use the GPUShaderCreateInfo pattern. It can be used as a reference when converting other shaders. In this special case the flat uniform vector cannot be used anymore as it doesn't fit as push constants. To solve this a uniform buffer is used.
2022-01-18Fix T94977: muted link is not ignored in eeveeJacques Lucke
Add a preprocessing step that removes all muted links from the localized node tree. Differential Revision: https://developer.blender.org/D13864