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/intern
AgeCommit message (Collapse)Author
2020-11-12Merge branch 'blender-v2.91-release'Brecht Van Lommel
2020-11-12Fix T82607: crash cancelling Cycles render during adaptive subdivision updateBrecht Van Lommel
Now that the Blender sync mechanism deletes nodes from the scene, we need to ensure scene update is stopped before we do this. Also add some more early out in scene geometry update to ensure we do not continue working on incomplete geometry data, though that was not the cause of this crash.
2020-11-12Cleanup: remove accidentally committed merge filesBrecht Van Lommel
2020-11-12Cleanup: compiler warningBrecht Van Lommel
2020-11-12Fix T82516: Cycles crash updateding animated volumes after NanoVDBBrecht Van Lommel
Two issues: * Automatic deduplication of OpenVDB grid data was failing when Cycles had already cleared the OpenVDB grid, causing an empty grid. Instead rely on Blender return the same OpenVDB grid pointer when deduplication is possible. * The volume bounds mesh was not properly cleared when the OpenVDB grid was empty, causing a mismatch between mesh and voxel data.
2020-11-12Fix T82617: artifacts in Cycles viewport when changing subdivision attributesKévin Dietrich
The old attributes were not cleared when synchronizing the geometries, this could also lead to crashes in other cases. Ref T82608.
2020-11-11Cleanup: clang-formatCampbell Barton
2020-11-10Cycles: fix compilation of OSL shaders following API changeKévin Dietrich
The names of the parameters are based on those of those of the sockets, so they also need to be updated. This was forgotten about in the previous commit (rBa284e559b90e). Ref T82561.
2020-11-10Fix NanoVDB compile errors with recent NanoVDB versionsPatrick Mours
There were some changes to the NanoVDB API that broke the way Cycles was previously using it. With these changes it compiles successfully again and also still compiles with the NanoVDB revision that is currently part of the Blender dependencies. Ref T81454.
2020-11-10Fix T82561: shader compilation crashes in OSLKévin Dietrich
The "type" sockets on shader nodes were renamed in rB31a620b9420cab to avoid clashes with the `NodeType type` member from the Node base class, but the OSL shader compilation was missing those changes.
2020-11-10Animation: Expand unit tests for `BKE_fcurve_active_keyframe_index()`Sybren A. Stüvel
Expand unit test for `BKE_fcurve_active_keyframe_index()` to test edge cases better. This also introduces a new test macro `EXPECT_BLI_ASSERT()`, which can be used to test that an assertion fails successfully. No functional changes to actual Blender code.
2020-11-10Cleanup: clang-formatCampbell Barton
2020-11-09Merge branch 'blender-v2.91-release'Brecht Van Lommel
2020-11-09Fix T78956: banding artifacts of vertex colors in CyclesBrecht Van Lommel
Byte colors must be encoded in sRGB and converted to linear on lookup, to avoid precision loss.
2020-11-09Cycles: fix Node::tag_modified not setting modified flag's upper bitsKévin Dietrich
Previous code was flipping the bits on a 32-bit number and doing a zero extension to cast to 64-bit, so mark the constant as long to begin with. This would also erase previously set bits in this part the flag.
2020-11-09Cycles: Fix function inline attributesSergey Sharybin
forceinline attribute is only applicable for function which are marked inline. Interestingly, it can be used for class methods without explicit inline statement. But for functions it is another story.
2020-11-09macOS: follow system preference for natural trackpad scroll directionYevgeny Makarov
And remove Blender preference, which was expected to be set to match the system preference for correct behavior. Instead just handle this automatically. Differential Revision: https://developer.blender.org/D9402
2020-11-09Merge branch 'blender-v2.91-release'Sebastián Barschkis
2020-11-09Fix T82488: Mantaflow - force fields have very low influence compare to 2.90.1Sebastián Barschkis
Removed 0.2f factor when setting forces. Why this factor has been used when forces should only be clamped, nobody knows ..
2020-11-09Cycles: Fix tricubic sampling with NanoVDBPatrick Mours
Volumes using tricubic sampling were producing different results with NanoVDB compared to dense textures. This fixes that by using the same tricubic sampling algorithm in both cases. It also fixes some remaining offset issues and some minor things that broke OpenCL kernel compilation on NVIDIA. Reviewed By: brecht Differential Revision: https://developer.blender.org/D9491
2020-11-09Libmv: Fix warning about unused parameter in CeresSergey Sharybin
Ceres is an external library, so consider it a system header which makes it so all strict flags are properly ignored for them.
2020-11-09Cleanup: clang-formatCampbell Barton
2020-11-07Cleanup: Clang-tidy, readability-non-const-parameter.Ankit Meel
2020-11-07Cleanup: Clang-tidy else-after-returnAnkit Meel
2020-11-06UI: Improved macOS Application Icon Progress BarYevgeny Makarov
Nicer appearance for the progress bar that is drawn over the application icon during long processes on macOS. Differential Revision: https://developer.blender.org/D9398 Reviewed by Brecht Van Lommel
2020-11-06Cleanup: Fluid engine API return typesSebastián Barschkis
Use bool return type where possible instead of int (the return values from fluid object are already boolean instead of int). Also removed several if guards in API functions. If one of the arguments is in fact invalid / nullptr (should not happen though), it better to catch them directly where they failed and not silently escape them.
2020-11-06Fix compilation error in GHOSTJeroen Bakker
ELEM macro isn't available in GHOST library.
2020-11-06Cleanup: doxygen commentsCampbell Barton
2020-11-06Cleanup: doxygen comments in ghostCampbell Barton
Use colon after parameters, use hash to reference symbols.
2020-11-06Cleanup: use ELEM macroCampbell Barton
2020-11-06Cleanup: follow our code style for float literalsCampbell Barton
2020-11-06Cleanup: use string APPEND/PREPENDCampbell Barton
Replace 'set' with 'string(APPEND/PREPEND ...)'. This avoids duplicating the variable name.
2020-11-06Cleanup: clang-formatCampbell Barton
2020-11-05Merge branch 'blender-v2.91-release'Robert Guetzkow
2020-11-05Fix T80043: missing Cycles displacement update when relinking output socketsBrecht Van Lommel
2020-11-05Fluid: Potential fix for T74559: Adaptive Domain creates lines in smokeSebastián Barschkis
This commit corrects the maximum resolution field in Fluid objects. The field should be set to the maximum possible resolution, i.e. it should not adjust with adaptive domains and stay constant all the time. The reason for this is that this resolution value will be used to scale gravity. And this gravity should be constant for adaptive domains too. It remains to be shown if this issue was the only reason for line-artifacts as seen in T74559.
2020-11-05Fix T82428: Cycles crashes when building volume meshesKévin Dietrich
The Volume Node did not have all of the sockets from its Mesh base class which are now required due to the recent socket API change.
2020-11-05Fluid: Potential fix for T74559: Adaptive Domain creates lines in smokeSebastián Barschkis
This commit corrects the maximum resolution field in Fluid objects. The field should be set to the maximum possible resolution, i.e. it should not adjust with adaptive domains and stay constant all the time. The reason for this is that this resolution value will be used to scale gravity. And this gravity should be constant for adaptive domains too. It remains to be shown if this issue was the only reason for line-artifacts as seen in T74559.
2020-11-04Cycles: fix another race condition in Geometry synchronizationKévin Dietrich
This was forgotten in the previous fix, we should not modify sockets updated in a separated thread.
2020-11-04Merge branch 'blender-v2.91-release'Brecht Van Lommel
2020-11-04macOS: remove deprecated touch event API callBrecht Van Lommel
Now that the minimum version is macOS 10.13, we can use the new API. This reverts commit f97a64aa9b7b384f8221a1ef4f2eef9cde1238db.
2020-11-04Fix T82016: Cycles assert with empty OpenVDB volumesBrecht Van Lommel
2020-11-04Fix Cycles volume render differences with NanoVDB when using linear samplingPatrick Mours
The NanoVDB sampling implementation behaves different from dense texture sampling, so this adds a small offset to the voxel indices to correct for that. Also removes the need to modify the sampling coordinates by moving all the necessary transformations into the image transform. See also T81454.
2020-11-04Cycles: fix multithreading issue introduced in previous commitKévin Dietrich
The issue is that the shaders are stolen from the original Geometry by the temporary Geometry used to accumulate data, but the main thread still needs them for syncing the attributes. So make a copy of the shader array to preserve the data on the original Geometry.
2020-11-04Cycles API: encapsulate Node socket membersKévin Dietrich
This encapsulates Node socket members behind a set of specific methods; as such it is no longer possible to directly access Node class members from exporters and parts of Cycles. The methods are defined via the NODE_SOCKET_API macros in `graph/ node.h`, and are for getting or setting a specific socket's value, as well as querying or modifying the state of its update flag. The setters will check whether the value has changed and tag the socket as modified appropriately. This will let us know how a Node has changed and what to update, which is the first concrete step toward a more granular scene update system. Since the setters will tag the Node sockets as modified when passed different data, this patch also removes the various modified methods on Nodes in favor of Node::is_modified which checks the sockets' update flags status. Reviewed By: brecht Maniphest Tasks: T79174 Differential Revision: https://developer.blender.org/D8544
2020-11-03Cycles: add support for BVH refit in OptiXKévin Dietrich
This avoids recomputing the BVH for geometries that do not have changes in topology but whose vertices are modified (like a simple character animation), and gives up to 40% speedup for BVH building. This is only available for viewport renders at the moment. Reviewed By: pmoursnv, brecht Differential Revision: https://developer.blender.org/D9353
2020-11-03Materials: add custom object properties as uniform attributes.Alexander Gavrilov
This patch allows the user to type a property name into the Attribute node, which will then output the value of the property for each individual object, allowing to e.g. customize shaders by object without duplicating the shader. In order to make supporting this easier for Eevee, it is necessary to explicitly choose whether the attribute is varying or uniform via a dropdown option of the Attribute node. The dropdown also allows choosing whether instancing should be taken into account. The Cycles design treats all attributes as one common namespace, so the Blender interface converts the enum to a name prefix that can't be entered using keyboard. In Eevee, the attributes are provided to the shader via a UBO indexed with resource_id, similar to the existing Object Info data. Unlike it, however, it is necessary to maintain a separate buffer for every requested combination of attributes. This is done using a hash table with the attribute set as the key, as it is expected that technically different but similar materials may use the same set of attributes. In addition, in order to minimize wasted memory, a sparse UBO pool is implemented, so that chunks that don't contain any data don't have to be allocated. The back-end Cycles code is already refactored and committed by Brecht. Differential Revision: https://developer.blender.org/D2057
2020-11-03Cycles: immediately store the used_shader list in Blender interface.Alexander Gavrilov
Uniform attributes require immediate access to the shader list in object update code, so setting the field can't be deferred to a background task. This required adding a parameter to the clear method of Geometry. Ref D2057
2020-11-03Fix T64138: Windows Ink continuous grab at window edge.Nicholas Rishel
WM_POINTERLEAVE occurs when the pen goes out of range or when a hovering pen leaves the window's boundary. When leaving the window boundary the xy position is invalid for some Wacom devices. This change removes creation of GHOST_EventCursor during WM_POINTERLEAVE events. This prevents unexpected jumping behavior during continuous grab.
2020-11-02Fix Cycles kernel compile error with NanoVDB because of type redefinitionPatrick Mours
Cycles defines some basic integer types since it cannot use the standard headers when compiling with NVRTC. NanoVDB however only does this when the "__CUDACC_RTC__" define is set and otherwise includes the standard "stdint.h" header which clashes with those typedefs. So for compatibility do the same thing in the Cycles kernel headers. See also T81454.