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
path: root/source
AgeCommit message (Collapse)Author
2022-01-18CMake: Fix using numpy variable for the zstandard pathCampbell Barton
Copy paste error in a5917175d8c1a7cab83b401ae2f4affcd4ab8df4.
2022-01-18Fix obj exporter tests by deduping normals and printing with less precision.Howard Trickey
Some new obj exporter tests were disabled because the normals were different in the last decimal place on different platforms. The old python exporter deduped normals with their coordinates rounded to four decimal places. This change does the same in the new exporter. On one test, this produced a file 25% smaller and even ran 10% faster.
2022-01-18Cleanup: spelling in commentsCampbell Barton
2022-01-18Cleanup: move docs to definitionCampbell Barton
2022-01-18Cleanup: quite old-style-declaration warning, strip trailing spaceCampbell Barton
2022-01-18BLI: Add index_range method to VectorSetHans Goudey
This can simplify iterating through all of the indices in the vector, which is fairly common, since one of the benefits of the data structure is that all values are contiguous.
2022-01-18Geometry Nodes: Set Handle Type Node: Left and right by defaultHans Goudey
This node's UI uses a multi-select enum to allow adjusting the type of both handle sides with the same node. Since usually the user wants to affect both handles, and it's the multi-select behavior isn't obvious, selecting both by default is an improvement.
2022-01-17Fix T94715: multiple volumes using the same .vdb causes freezeBrecht Van Lommel
Needs more TBB task isolation, as even freeing an OpenVDB grid uses multithreading.
2022-01-17Baking: new method to generate margin, based on adjacent facesMartijn Versteegh
This significantly reduces discontinuities on UV seams, by giving a better match of the texture filtered colors on both sides of the seam. It works by using pixels from adjacent faces across the UV seam. This new option is called "Adjacent Faces" and is the default. The old option is called "Extend", and extends border pixels outwards. Differential Revision: https://developer.blender.org/D13303
2022-01-17Cleanup: Remove now redundant performance workaround for asset previewsJulian Eisel
Not needed anymore after aa0ecd179. The removed function was identical to `icon_draw_rect()` now. Reverts ab7214ca2ef9.
2022-01-17Cleanup: Correct comments for immediate mode buffer draw functionsJulian Eisel
2022-01-17Cleanup: Improve naming of immediate mode buffer draw functionsJulian Eisel
Followup to the previous commit. Jeroen and I agreed the old naming was confusing.
2022-01-17UI: Speed up icon scalingJulian Eisel
Use GPU-side scaling to speed up the scaling itself, and to avoid having to copy the image buffer using the CPU. Mipmapping is used to get decent filtering when downscaling without ugly artifacts. In my comparisons, there was barely any difference between the methods for DPIs >= 1. Below that, the result looks a bit different due to the different filtering method. See D13144 for screen-recordings showing the difference. Part of T92922. Differential Revision: https://developer.blender.org/D13144 Reviewed by: Jeroen Bakker
2022-01-17T94828: Appending collection with instancing links nested collectionsJulian Eisel
See T94828 for details. Differential Revision: https://developer.blender.org/D13803 Reviewed by: Bastien Montagne
2022-01-17Fix compiler warning on WindowsAntonio Vazquez
The variable was `uint64_t` and needs `1ull`
2022-01-17Fix T94338: bpy.data.libraries.load does not return the right thing.Bastien Montagne
Typo in rB605cdc4346e5f82, both `eBlendfileLinkAppendForeachItemFlag` flags had the same value, effectively preventing to filter out direct vs. indirect appended items.
2022-01-17Cleanup: deduplicate condition in transform curve codeGermano Cavalcante
Checking `t->around` and `nu->pntsv` does not need to be done in 2 places.
2022-01-17Alembic: add support for reading override layersKévin Dietrich
Override layers are a standard feature of Alembic, where archives can override data from other archives, provided that the hierarchies match. This is useful for modifying a UV map, updating an animation, or even creating some sort of LOD system where low resolution meshes are swapped by high resolution versions. It is possible to add UV maps and vertex colors using this system, however, they will only appear in the spreadsheet editor when viewing evaluated data, as the UV map and Vertex color UI only show data present on the original mesh. Implementation wise, this adds a `CacheFileLayer` data structure to the `CacheFile` DNA, as well as some operators and UI to present and manage the layers. For both the Alembic importer and the Cycles procedural, the main change is creating an archive from a list of filepaths, instead of a single one. After importing the base file through the regular import operator, layers can be added to or removed from the `CacheFile` via the UI list under the `Override Layers` panel located in the Mesh Sequence Cache modifier. Layers can also be moved around or hidden. See differential page for tests files and demos. Reviewed by: brecht, sybren Differential Revision: https://developer.blender.org/D13603
2022-01-17Revert "Revert "GPUShaderCreateInfo for interface abstraction""Jeroen Bakker
This reverts commit edee5a947b7ea3e1324aa334a22c7c9bbf47f5f7. Fixes compilation error (Missing file BLI_float2.hh)
2022-01-17Revert "GPUShaderCreateInfo for interface abstraction"Jeroen Bakker
This reverts commit 8fb2ff458ba579dba08bfdf57d043ad158b5db07. Missing some files.
2022-01-17GPUShaderCreateInfo for interface abstractionJeroen Bakker
This is a first part of the Shader Create Info system could be. A shader create info provides a way to define shader structure, resources and interfaces. This makes for a quick way to provide backend agnostic binding informations while also making shader variations easy to declare. - Clear source input (only one file). Cleans up the GPU api since we can create a shader from one descriptor - Resources and interfaces are generated by the backend (much simpler than parsing). - Bindings are explicit from position in the array. - GPUShaderInterface becomes a trivial translation of enums and string copy. - No external dependency to third party lib. - Cleaner code, less fragmentation of resources in several libs. - Easy to modify / extend at runtime. - no parser involve, very easy to code. - Does not hold any data, can be static and kept on disc. - Could hold precompiled bytecode for static shaders. This also includes a new global dependency system. GLSL shaders can include other sources by using #pragma BLENDER_REQUIRE(...). This patch already migrated several builtin shaders. Other shaders should be migrated one at a time, and could be done inside master. There is a new compile directive `WITH_GPU_SHADER_BUILDER` this is an optional directive for linting shaders to increase turn around time. What is remaining: - pyGPU API {T94975} - Migration of other shaders. This could be a community effort. Reviewed By: jbakker Maniphest Tasks: T94975 Differential Revision: https://developer.blender.org/D13360
2022-01-17Fix T94805: Library weak reference generates "path not found" reports.Bastien Montagne
No reason to handle those paths here, those are fully internal temp data, user should not be exposed to it currently.
2022-01-17Core: Library Remap test cases.Jeroen Bakker
For an upcoming refactoring of library remapping we want to be able to test if the logic won't change. It also increased my experience inside the remapping codebase and find out what exactly needed to be refactored. This patch adds test cases for the core functionality of `foreach_libblock_remap_callback`. The test cases don't cover of all the branches. Also pre-, post-processing, referencing and proxies are not tested. Reviewed By: mont29 Differential Revision: https://developer.blender.org/D13815
2022-01-17LineArt: Invert collection option.YimingWu
Allows conveniently selecting an inverse of a collection. Reviewed By: Antonio Vazquez (antoniov) Differential Revision: https://developer.blender.org/D13846
2022-01-17Geometry Nodes: Improve conversion from NURBS to BezierPiotr Makal
This patch improves conversion method from NURBS to Bezier curves, resulting in exact shape between those two types when provided with a 3rd degree NURBS curve. Part of T86086. See the differential revision for more comparisons. The node still cannot account properly for a NURBS "order" other than 4 and it does not take into account control point weights. Differential Revision: https://developer.blender.org/D13546
2022-01-17Fix T94526: Incorrect workspace ordering tooltipAlaska
Fix the description for WORKSPACE_OT_reorder_to_back to say "last" in list rather than "first" See D13696 for more details. Differential Revision: https://developer.blender.org/D13696 Reviewed by Aaron Carlisle
2022-01-16Cleanup: simplify parametersGermano Cavalcante
Use a common `userdata` for the different snap callbacks.
2022-01-16Fix T94951: Crash when snappingGermano Cavalcante
Missed in {rBd9c6ceb3b88b6db87490b08e0089f9a18e6c52d6}
2022-01-16Fix T94865: GPU subdiv crash switching to texpaint areaKévin Dietrich
The crash is due to the fact that GPU subdivision extraction routines for edit data (including UVs) only worked for BMesh. However, a Mesh based version is still needed for texture painting. This adds the missing components. This also ensures all data are properly initialized (at least the ones revealed by the bug).
2022-01-16Cleanup: deduplicate GPU subdiv data extraction loopsKévin Dietrich
This puts the loop over the final subdivision quads outside of the mesh iteration callback. This can also allow for easier parallel execution in the future if need be.
2022-01-15Fix T94918: GPU subdivision uses viewport levels for final renderKévin Dietrich
The resolution for the subdivision grid traversal was always based on the viewport setting.
2022-01-15Geometry Nodes: Rename transfer attribute geometry inputHans Goudey
Conceptually, this is the geometry that data is taken from, not the target of an operation, so rename it from "Target" to "Source". This was common user feedback and agreed on in a recent sub-module meeting.
2022-01-15Fix T94852: Geometry Proximity crash when unsuccessfulHans Goudey
Before rB644e6c7a3e99ae1d43ed, `fill` was used in the error cases, but now `fill_indices` is used, which doesn't work when the span is empty (when only one output is used). The fix is just to check for that case.
2022-01-14Nodes: Support link-drag search with compare node outputsHans Goudey
The search list only displayed the "Result" output socket in this case, which is unexpected since dragging from an input gives the operations in the list as well. Also use integer mode when connecting to boolean sockets.
2022-01-14Cleanup: Remove unused subdiv functionsHans Goudey
I noticed these when doing final cleanup on rBcfa53e0fbeed. One use was removed in that commit, the others were unused going further back a few years. Differential Revision: https://developer.blender.org/D13834
2022-01-14Fix possible build error with unity buildAaron Carlisle
`NodeOperationBuilder::Link` could conflict with the list base macros. To resolve this dont use `using Link`.
2022-01-14Cleanup: Outliner function names, simplify struct initializationJulian Eisel
2022-01-14Fix incorrect destruction of Outliner tree-elementsJulian Eisel
`TreeElement` isn't a trivial type anymore, so `MEM_delete()` should be called, which calls the destructor. AFAICS this would cause a memory leak, since the contained `unique_ptr` is allocated but not destructed correctly - but it's not using the guarded allocator so woudn't be reported.
2022-01-14Cleanup: Use destructor to delete Outliner runtime dataJulian Eisel
Simplifies and makes things safer due to proper RAII usage.
2022-01-14Cleanup: Use smart pointers for Outliner tree display and element typesJulian Eisel
Smart pointers should be the default choice for C++ owning pointers, since they let you manage memory using RAII. Also moved type factory methods into static class functions.
2022-01-14Cleanup: Remove Outliner C-API headers/wrappersJulian Eisel
Basically this removes any C <-> C++ glue code. C++ types are accessed directly via the public C++ APIs. Contains some related changes like, moving functions that were previously declared in a now removed header to a different file, whose header is the more appropriate place (and the source file as well). But generally I tried to avoid other changes.
2022-01-14Disable some failing new obj exporter tests.Howard Trickey
The switch to how normals are kept has led to tiny differences in the normal output values on different platforms. Disabling the failing tests while working on a solution to this problem.
2022-01-14Fix T94784: Crop node gizmo doesn't workSebastian Parborg
Fix refactoring mistake in rBcbca71a7cff3 Not the min and max values are initialized properly.
2022-01-14blenlib Any tests: Fix unknown pragma warning on Windows.Ankit Meel
Part of a5cb7c1e62a07c17e346278b1c4e9ea58c9f54e0 is reverted since it created unknown pragma warning on windows. Use a trick to do self-assigning. Reviewed by Jacques Lucke in chat.
2022-01-14Cleanup: Unused functionSergey Sharybin
2022-01-14Cleanup: Remove unused functionsSergey Sharybin
2022-01-14Fix T: Crash in do-version of older pre-2.80 blender files.Bastien Montagne
`BKE_layer_collection_sync` was missing a specific handling for one of those pre-master collection cases, NOTE: It is a bit unfortunate to have to do 'do-version' code in BKE... At some point might look into moving this into actual `do_version` file, but this is not fully trivial not critical improvement for now.
2022-01-14Fix T94827: Group Input/Output cannot connect to custom socketsPhilipp Oeser
Caused by rBa5c59fb90ef9. Since Group Input and Output sockets happen to be of type `SOCK_CUSTOM` [and since rBa5c59fb90ef9 custom py defined sockets are too :)] a check introduced in rB513066e8ad6f that prevents connections for `SOCK_CUSTOM` triggered. Now refine the check, so it specifically looks for NODE_GROUP_INPUT / NODE_GROUP_OUTPUT, too (this keeps the intention intact to not connect group inputs to group outputs and vice versa, but allows custom py defined sockets to connect again) and put it in new utility function. Maniphest Tasks: T94827 Differential Revision: https://developer.blender.org/D13817
2022-01-14Cleanup split foreach_libblock_remap_callback into smaller functions.Jeroen Bakker
2022-01-14Fix: Compilation error caused by missing target relationRay Molenkamp
bf_nodes/bf_nodes_composite depend on DNA headers