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-06-09Fix T88567: Cryptomatte only works for the first View Layer.Jeroen Bakker
The view layer was always set to 0. This patch increments it.
2021-06-09Fix T88666: Cryptomatte: EXR sequence does not update when scrubbing the ↵Jeroen Bakker
timeline. Cause is that initializing the cryptomatte session would reset the current frame of an image sequence. The solution is to always use the scene current frame so it resets to the correct frame. This was a todo that wasn't solved after it landed in master. Needs to be backported to 2.93.
2021-05-03Fix compilation error after recent compositor fixSergey Sharybin
Apparently, there is no emplace semantic available in the Vector in the stable branch.
2021-05-03Fix T87989: Crash using OpenCL in compositorSergey Sharybin
Initial report was mentioning the Classroom demo scene, but this is probably because the scene was pre-configured to be used with OpenCL. Would expect any OpenCL compositing to be failing prior to this fix. The reason why crash was happening is due to OpenCL queue being released from OpenCLDevice destructor. Is not that obvious, but when Vector (including std::vector) is holding elements by value a destructor will be called on "old" memory when vector capacitance changes. Solved by making forbidding copy semantic for compositor devices and forcing move semantic to be used. Also use emplace semantic in the devices vector initialization.
2021-04-28Fix Compositor: WorkScheduler task model deletes worksManuel Castilla
WorkScheduler task model deletes work packages after executing them. The other models don't do so. All models should handle packages the same way. Reviewed By: #compositing, jbakker Differential Revision: https://developer.blender.org/D11102
2021-04-23macOS: Fix unknown -Wsuggest-override warningAnkit Meel
Added in rB7cef01b090c4c2d2703274edb91886ae37d3ce82 and rB87bfa2b207b90b5e34ebd835a23c2a82afbed878 Reviewed by: jbakker, #platform_macos Differential Revision: https://developer.blender.org/D11012
2021-04-14Fix (unreported) compositor resolution propagation broken by some nodesManuel Castilla
Some operations may use no preferredResolution ({0, 0}) when calling determineResolution on inputs to check if they have resolution on their own. See MixOperation or MathOperation determineResolution implementation. In such cases {0, 0} resolution ends up being set when an input doesn't have own resolution, breaking propagation of the original preferredResolution. They don't mean to set it as resolution, it's just a check. This patch only allows to set valid resolutions (>0). When it's 0 it may be understood as "No preferred or determined resolution" so it should not be set to give output operations another chance of finding a proper resolution by calling determineResolution again with a different preferredResolution. Test file: {F9932526} Reviewed By: #compositing, jbakker Differential Revision: https://developer.blender.org/D10972
2021-04-13Cleanup: sort cmake file listsCampbell Barton
2021-04-12Fix T74680: Incorrect mixing in Glare nodeSzymon Ulatowski
The mixing function was designed to give correct results for Mix values of -1, 0, and +1, but the behavior between these points was not linear. This is unavoidable, because the function depends on both Mix and Mix^2 (by multiplying value and mf) so they could not cancel out completely. The new formula simply calculates the weighted sum without trying to invent a smooth function. Value for MixGlareOperation is now passed directly without scaling because it is then easier to use. Note that the previous formula performed max() twice for both input image and the result, now there is just one max() per channel because the glare input can't be negative. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D7138
2021-04-12Compositor: Allocate OIDN memory after receiving lock.Jeroen Bakker
Related to {T77023}. When using many Denoise nodes the memory in OIDN are allocated up front. A mutex could stall the process until. This change will allocate the memory after it received the lock.
2021-04-12Fix: File output uses incorrect resolution when first socket unused.Jeroen Bakker
File output node always received the resolution from the first socket. When that socket didn't had a link it would use a resolution of 0,0. What lead to not saving the file at all. This only effected Multi layer OpenEXR files. This change would go over all the links to find the first valid resolution.
2021-04-12Fix T87252: File output node broken with more than 4 inputs.Jeroen Bakker
In recent refactor the operator sockets were migrated from a std::list to a blender::Vector. The way how the file output node created the sockets along mapping the sockets could lead to storing incorrect pointers. This patch fixes this by defining and mapping the sockets in separate loops.
2021-04-09Compositor: Output where debug is stored.Jeroen Bakker
2021-04-09Compositor: Enable suggest-override warning.Jeroen Bakker
Compostior relies heavilly on overridden methods. The override keyword has been added in this module and is desired. The benefit of the override keyword is that it reports an error when not applied to a (base) virtual method and report what will not match when refactoring the code to be closer to blender style guide. Reviewed By: sybren Differential Revision: https://developer.blender.org/D10846
2021-04-08Cleanup: spellingCampbell Barton
2021-04-08Cleanup: enable modernize-use-equals-default checkJacques Lucke
This removes a lot of unnecessary code that is generated by the compiler automatically. In very few cases, a defaulted destructor in a .cc file is still necessary, because of forward declarations in the header. I removed some defaulted virtual destructors, because they are not necessary, when the parent class has a virtual destructor already. Defaulted constructors are only necessary when there is another constructor, but the class should still be default constructible. Differential Revision: https://developer.blender.org/D10911
2021-04-06Compositor: Add Streaming Operator for NodeOperationBuilder.Jeroen Bakker
For debugging purposes to convert the internal state of the NodeOperationBuilder to a graphviz. Usage: std::cout << *this << "\n"; Inside any method of the NodeOperationBuilder.
2021-04-06Suppress compiler warning.Jeroen Bakker
2021-04-02Cleanup: Remove blender namespace from Map.Jeroen Bakker
2021-04-02Cleanup: remove loading blender namespace from Vector.Jeroen Bakker
2021-04-02Cleanup: Added leading `e` to enum types.Jeroen Bakker
2021-04-02Cleanup: rename eChunkExecutionState to eWorkPackageState.Jeroen Bakker
2021-04-02Compositor: stream operators for WorkPackages.Jeroen Bakker
Helps developers during debugging.
2021-04-02Compositor: Debug stream operator.Jeroen Bakker
Stream operators for NodeOperator and ExecutionGroup to help during debugging.
2021-04-01Cleanup: spellingCampbell Barton
2021-04-01Cleanup: method naming.Jeroen Bakker
2021-04-01Cleanup: Split up methods.Jeroen Bakker
2021-03-31Fix compiler error in Windows Antonio Vazquez
C7555 use of designated initializers requires at least '/std:c++latest' This is not supported by the current Windows compiler version.
2021-03-31Cleanup: Removed Unused Definition.Jeroen Bakker
2021-03-31Compositor: Keep WorkPackages and Data Around.Jeroen Bakker
WorkPackages struct was created when scheduled. This patch keeps the WorkPackages around and stores additional data with the workpackages. The speedup is to small to notice, but it is needed as preparation to introduce a faster scheduling method.
2021-03-31Cleanup: use constexpr for num channels.Jeroen Bakker
Don't assume all compilers are smart. MSVC doesn't inline the call away like CLANG and GCC did.
2021-03-30Cleanup: remove unneeded method.Jeroen Bakker
size can be accessed via instance attribute.
2021-03-30Cleanup: clang-format.Jeroen Bakker
2021-03-30Cleanup: Use constexpr.Jeroen Bakker
2021-03-30Compositor: Fix Incorrect Attaching NodeSockets.Jeroen Bakker
Introduced by recent commit.
2021-03-30Cleanup: Replace std::vector with blender::Vector.Jeroen Bakker
2021-03-30Cryptomatte: Fix When Image based Cryptomatte Aren't On The First Render Layer.Jeroen Bakker
The image user wasn't updated to reflect the correct render layer.
2021-03-30Fix: Compile Error COM_Debug.Jeroen Bakker
We should replace `ifdef COM_Debug` with a constexpr function.
2021-03-30Cleanup: Replace virtual methods with bitflags.Jeroen Bakker
2021-03-29Cleanup: Replace `is...Operation()` methods with a flag.Jeroen Bakker
2021-03-29Cleanup: Use Bitflags For Booleans.Jeroen Bakker
2021-03-29Cleanup: use pragma once.Jeroen Bakker
2021-03-29Cleanup: Add namespace to compositor.Jeroen Bakker
2021-03-29Cleanup: Add `override` Keyword.Jeroen Bakker
2021-03-29Compositor: Add Anti-Aliasing nodeHabib Gahbiche
This is an implementation of Enhanced Subpixel Morphological Antialiasing (SMAA) The algorithm was proposed by: Jorge Jimenez, Jose I. Echevarria, Tiago Sousa, Diego Gutierrez This node provides only SMAA 1x mode, so the operation will be done with no spatial multisampling nor temporal supersampling. See Patch for comparisons. The existing AA operation seems to be used only for binary images by some other nodes. Using SMAA for binary images needs no important parameter such as "threshold", so we perhaps can switch the operation to SMAA, though that changes existing behavior. Notes: 1. The program code assumes the screen coordinates are DirectX style that the vertical direction is upside-down, so "top" and "bottom" actually represent bottom and top, respectively. Thanks for Habib Gahbiche (zazizizou) to polish and finalize this patch. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D2411
2021-03-26Compositor: Fix array out of bounds.Jeroen Bakker
2021-03-26Cleanup: Replace Methode Overloading With Default Value.Jeroen Bakker
2021-03-26Cleanup: Remove ptr For Owned Children.Jeroen Bakker
2021-03-26Cleanup: Replace std::vector With blender::Vector.Jeroen Bakker
2021-03-26Cleanup: Replaced Typedef Enum With Enum Class.Jeroen Bakker