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-05-25Cleanup: use doxy sections for mathutils typesCampbell Barton
Also minor improvements & corrections to comments.
2022-05-24Drag & drop: Use session UUID of IDs instead of name for droppingJulian Eisel
Dropping would pass the name of the ID to drop to the properties of the drop operator. This would then lookup the ID by name. With linking and/or library overrides, multiple IDs of the same name and type may exist, which is why the session UUID should be used instead. All operators used for dropping support this now and the drop code passes the session UUID instead of the name. Also see 917c096be6b9 and 8f79fa9c6780. Some drop operators were already using the session UUIDs. This converts the remaining ones. The "name" property is kept working as before, since some scripts use this. Side-effect: The "Name" property won't show up in the Adjust Last Operation anymore, which was the case for some of these operators, and its value won't be remembered over multiple executions of the operator. Both were not at all useful from what I can tell, and I doubt this was done intentionally.
2022-05-24Cleanup: Use new helpers for passing IDs from drag & drop to operatorsJulian Eisel
There are now some generalized helpers for passing IDs from drag & drop to operators via operator properties, mostly introduced in 917c096be6b9 and 8f79fa9c6780. These can be used in a bunch of places to reduce duplicated code and explicitly share a common solution. Side-effect: The "Name" property won't show up in the Adjust Last Operation anymore, and its value won't be remembered over multiple executions of the operator. Both were not at all useful from what I can tell, and I doubt this was done intentionally.
2022-05-24Cleanup: make formatJacques Lucke
2022-05-24Drag & drop: Invert priority of name and session UUID in ID lookupsJulian Eisel
Continuation of 8f79fa9c6780 and 917c096be6b9. The ID's session UUID is now always priotitized over its name to lookup the ID from drop-box or operator properties. bc3dbf109c67 shows what happens if the name happens to be set for whatever reason and the session UUID isn't prioritized.
2022-05-24Merge branch 'blender-v3.2-release'Julian Eisel
2022-05-24Fix T95706: Material asset not applied if appended and then linkedJulian Eisel
8f79fa9c6780 was an attempt to fix this already, but it didn't quite work. Problem was that the tooltip was messing with the drop-box and operator properties, setting the name property for its own internal logic. This name property would then be used rather than the session UUID to query the material, which gave the wrong material (linking can result in multiple IDs of the same type with the same name). A followup commit will further sanitize this.
2022-05-24Fix possible lingering around of ID after asset dropping failedJulian Eisel
More and more of the drop operations are being switched to use the ID's session UUID rather than the name, but the cleanup after a drop operator was cancelled assumed they would set the name. They will now first attempt to use the session UUID and fallback to the name if needed.
2022-05-24Merge branch 'blender-v3.2-release'Bastien Montagne
2022-05-24Merge remote-tracking branch 'origin/blender-v3.2-release'Sybren A. Stüvel
2022-05-24Fix (studio-reported) bad re-assigning of new liboverride from ID template ↵Bastien Montagne
widget. Shift-click on the 'linked' button in an ID template widget would fail to properly remap that usage of the linked ID to the newly created liboverride.
2022-05-24Redraw Motion Paths panel after creating motion pathSybren A. Stüvel
Add notifier such that the Motion Paths panel in the Object Properties tab gets redrawn, after using the Create Motion Path button. The reason it didn't update was that the button actually triggers a popup, and then executes in the context of that popup. It now actually emits a `ND_DRAW_ANIMVIZ` notifier, and ensures that the panel redraws on that.
2022-05-24Depsgraph: Implement backtrace functionalitySergey Sharybin
The goal is to make it easier to track down sources of errors during the dependency graph builder. With this change whenever a relation can not be added a trace to the entity which requested the relation will be printed. For example: ``` Failed to add relation "Copy Location" Could not find op_from: OperationKey(type: BONE, component name: 'MissingBone', operation code: BONE_DONE) Trace: Depth Type Name ----- ---- ---- 1 Object Armature.001 2 Pose Channel Bone 3 Constraint Copy Location ``` On an implementation detail traced places where `checkIsBuiltAndTag` is called, with some additional places to help tracking pose channels, constraints, and modifiers. Further improvements in granularity are possible, but that could happen as a followup development once the core part is proven to work. An example of such improvement would be to have entries in the trace which will indicate NLA and drivers building. Currently it might be a bit confusing to see IDs in the trace referenced from driver. Even with such limitation the current state of the patch brings a very valuable information (some information is much better than no information at all). Differential Revision: https://developer.blender.org/D15017
2022-05-24Merge branch 'blender-v3.2-release'Jacques Lucke
2022-05-24Fix T98152: Named Attribute node changes data type for non-existant attributesJacques Lucke
Skip changing the data type in the node if it is not known.
2022-05-24Cleanup: Correct misleading comment in UI codeJulian Eisel
2022-05-24Fix buttons not being grayed outJulian Eisel
Was using the wrong bitfield in flag comparisons for the drawing code. The input handling wouldn't be affected. Own mistake in 0d7311345295.
2022-05-24Merge branch 'blender-v3.2-release'Jeroen Bakker
2022-05-24Fix T97828: Split normals not visible on certain platforms.Jeroen Bakker
It is a know issue that split normals aren't supported when using high quality normals in the viewport. Some AMD platforms were pushed to use high quality normals to work around a driver bug where 1010102 texture formats `GL_INT_2_10_10_10_REV` wasn't uploaded to the GPU. This change will remove commonly used polaris platforms from the work-around. This has been tested with a RX480 against the latest AMD whql drivers (22.5.1). Users need to ensure that they use the latest drivers that are available on their platform. Although this change doesn't fix the underlying issue to support edit normals when high quality normals are enabled. It will not force that common platforms cannot use a feature as their platform is forced into using a work-around.
2022-05-24Merge branch 'blender-v3.2-release'Clément Foucault
2022-05-24Fix T98247 EEVEE: Regression: Shader To RGB not displaying texturesClément Foucault
This was caused by the nodetree branch duplication not handling incoming links to the copied node, making all bsdfs nodes use their default values.
2022-05-24Fix T98268: replace string node des not handle empty strings correctlyJacques Lucke
Just use an existing function from blenlib instead of implementing a new version.
2022-05-24Cleanup: Else after return in depsgraph codeSergey Sharybin
2022-05-24Fix T98328: missing depsgraph update after adding node groupJacques Lucke
Adding node groups can change depsgraph relations, so the depsgraph has to be rebuild.
2022-05-24Fix T98317: equal vs not-equal modes in compare node are not exact oppositesJacques Lucke
For vectors and colors to be not equal, it is enough when they are not equal in one component.
2022-05-24EEVEE: support Curves attributes renderingKévin Dietrich
This adds support to render Curves attributes in EEVEE. Each attribute is stored in a texture derived from a VBO. As the shading group needs the textures to be valid upon creation, the attributes are created and setup during its very creation, instead of doing it lazily via create_requested which we cannot rely on anyway as contrary to the mesh batch, we do cannot really tell if attributes need to be updated or else via some `DRW_batch_requested`. Since point attributes need refinement, and since attributes are all cast to vec4/float4 to account for differences in type conversions between Blender and OpenGL, the refinement shader for points is used as is. The point attributes are stored for each subdivision level in CurvesEvalFinalCache. Each subdivision level also keeps track of the attributes already in use so they are properly updated when needed. Some basic garbage collection was added similar to what is done for meshes: if the attributes used over time have been different from the currently used attributes for too long, then the buffers are freed, ensuring that stale attributesare removed. This adds `CurvesInfos` to the shader creation info, which stores the scope in which the attributes are defined. Scopes are stored as booleans, in an array indexed by attribute loading order which is also the order in which the attributes were added to the material. A mapping is necessary between the indices used for the scoping, and the ones used in the Curves cache, as this may contain stale attributes which have not been garbage collected yet. Common utilities with the mesh code for handling requested attributes were moved to a separate file. Differential Revision: https://developer.blender.org/D14916
2022-05-24Merge branch 'blender-v3.2-release'Germano Cavalcante
2022-05-24Fix GPUIndexBuf not working in pythonGermano Cavalcante
Since rBb47c5505aa37, Batchs containing GPUIndexBuf initialized via a PyObject with buffer protocol no longer work. This was because of an unsafe optimization in the GPUIndexBuf module for Python. So remove this micro-optimization.
2022-05-24Fix T98185: Assertion saving while fullscreenCampbell Barton
When saving from the menu the region was not set, causing the last region in `area->regionbase` to be used as the region was assigned before comparison.
2022-05-24Fix T98141: Strip rotation is limited to +/360 degreesRichard Antalik
This limiting prevented visual keyframing from working correctly and is not consistent with object rotation, so limiting is removed.
2022-05-24Fix T98057: Adjustment layer blend mode not optimalRichard Antalik
Since adjustment layer is meant to replace original image, cross blend mode is more optimal than alpha over. Same goes for multicam type.
2022-05-23Merge branch 'blender-v3.2-release'Brecht Van Lommel
2022-05-23Fix Eevee blackbody wrong with non-default scene linear color spaceBrecht Van Lommel
* Port over new code tables from Cycles * Convert Rec.709 to scene linear for lookup table. * Move code for wavelength and blackbody to IMB so they can access the required transforms, which are not in blenlib. * Remove clamping from blackbody shader to bypass the texture read. Since it's variable now easiest to just always read from the texture than pass additional parameters. * Fold XYZ to RGB conversion into the wavelength table. Ref T68926
2022-05-23Revert "LineArt: Use CAS for add_triangles."Ray Molenkamp
This reverts commit 14a5a91e0e033d712134c112a4778b495bd73ba1. This caused build errors on x64+arm mac builds and some versions of MSVC, reverting for now till a better solution is found.
2022-05-23Merge branch 'blender-v3.2-release'Julian Eisel
2022-05-23Fix further issues when mixing link & append for asset drag & dropJulian Eisel
917c096be6b9 applied to objects only, this also applies the same fix for the general 3D View drop operations, e.g. used for dragging materials, images, worlds, etc. This is needed to fix T95706, but apparently something else is still going on. Needs further investigation.
2022-05-23Cleanup: Move new utilities for ID lookup operator propertiesJulian Eisel
Move them to a more accessible place, so that other operators in different files can use them. The following commit needs this.
2022-05-23Fix possible issues when mixing link & append for asset drag & dropJulian Eisel
The operators to handle object drag and drop (from the asset browser, outliner, etc.) used the object name to find the object to add and place. This is problematic with linking and/or library overrides, since this may lead to multiple objects with the same name. So the wrong object would be used by the drop operators. Partially fixes T97320. T95706 probably needs the same fix but for materials. As a side-effect, the "Name" button won't show up in the Adjust Last Operation panel anymore. This isn't really useful, and I doubt this was ever intentionally exposed in the UI.
2022-05-23Fix possible issues when mixing link & append for asset drag & dropJulian Eisel
The operators to handle object drag and drop (from the asset browser, outliner, etc.) used the object name to find the object to add and place. This is problematic with linking and/or library overrides, since this may lead to multiple objects with the same name. So the wrong object would be used by the drop operators. Partially fixes T97320. T95706 probably needs the same fix but for materials. As a side-effect, the "Name" button won't show up in the Adjust Last Operation panel anymore. This isn't really useful, and I doubt this was ever intentionally exposed in the UI.
2022-05-23obj: remove unneeded CTX_data_ensure_evaluated_depsgraphAras Pranckevicius
As discussed on the chat and pointed out in D15015, that call is not needed there (none of the other importers do it either).
2022-05-23Fix T98293: Scene stats info not updated after new OBJ importAras Pranckevicius
The importer was not doing a notification that the scene has changed, so the bottom status bar scene stats info was not updated right after the new OBJ import. Reviewed By: Julian Eisel Differential Revision: https://developer.blender.org/D15015
2022-05-23Cycles: Add half precision float support for volumes with NanoVDBPatrick Mours
This patch makes it possible to change the precision with which to store volume data in the NanoVDB data structure (as float, half, or using variable bit quantization) via the previously unused precision field in the volume data block. It makes it possible to further reduce memory usage during rendering, at a slight cost to the visual detail of a volume. Differential Revision: https://developer.blender.org/D10023
2022-05-23LineArt: Use CAS for add_triangles.YimingWu
Using the atomic "compare and swap" method in add_triangles stage dramatically speeds up the add_triangles call and significantly reduced the overall calculation time. This is currently the fastest method we have experimented with so far. Reviewed By: Sebastian Parborg (zeddb) Differential Revision: https://developer.blender.org/D14953
2022-05-23Fix "Open Clip" operator in Clip Editor brokenJulian Eisel
Steps to reproduce were: - Open Clip Editor - Call "Open Clip" (e.g. Alt+O) - Select video file The file wouldn't be loaded into the Clip Editor. Caused by 7849b56c3c41.
2022-05-23Fix for crash opening the file selector multiple timesCampbell Barton
This is part of a fix for T88570, where the file selector would crash when activated multiple times. Calling save multiple times would free the operator, leaving a dangling pointer which was used when panels were visible that accessed the "active_operator". Reviewed By: Severin Ref D14905
2022-05-23Fix T88570: Crash when saving after pressing ctrl+S twice.Julian Eisel
Existing code to replace the file operation was failing when done from the window for the file operation itself. Basically, this patch does two things: - Implement a well defined window context to use as the "owner" or "root" of the File Browser. This will be used for managing the File Browser and to execute the file operation, even after the File Browser was closed. - Ensure the context is valid when dealing with file File Browser event handlers. Previously the window context just wasn't well defined and just happened to work well enough in most cases. Addressing this may unveil further issues, see T88570#1355740. Differential Revision: https://developer.blender.org/D13441 Reviewed by: Campbell Barton
2022-05-23Cleanup: GPU: Remove `gpu_shader_common_obinfos_lib.glsl`Clément Foucault
This has been replaced by `draw_object_infos`.
2022-05-23Fix T98251: EEVEE: Regression: Wrong normalmaps on scaled objectsClément Foucault
This was caused by a missing `normalize`.
2022-05-23EEVEE: Fix unreported broken normal map node modesClément Foucault
A compilation error was making it impossible to use normal map modes other than tangent.
2022-05-23Cleanup: GPU: Remove `gpu_shader_common_obinfos_lib.glsl`Clément Foucault
This has been replaced by `draw_object_infos`.