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-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-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-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-09Compositor: Output where debug is stored.Jeroen Bakker
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-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-30Cleanup: Replace std::vector with blender::Vector.Jeroen Bakker
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: Add namespace to compositor.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
2021-03-26Cleanup: Remove SocketReader.Jeroen Bakker
SocketReader was added as an easier to understand interface on top of the NodeOperation. It was implemented as a base class of the NodeOperation and adds an additional hierarchy level. Ths change replaces the abstract class with a typedef. In the end we want to remove the typedef but will wait for some new nodes before doing so.
2021-03-26Cleanup: Use Enum Class For PixelSampler.Jeroen Bakker
2021-03-26Cleanup: Replace std::vector with blender::Vector.Jeroen Bakker
2021-03-26Cleanup: Replaced unneeded branch with assert.Jeroen Bakker
2021-03-24Cleanup: Add override keyword.Jeroen Bakker
2021-03-24Spelling: getRenderPriotrity -> getRenderPriorityJeroen Bakker
2021-03-24Cleanup: Removed commented out code.Jeroen Bakker
2021-03-24Cleanup: replace index based forloops with iterators.Jeroen Bakker
2021-03-24Cleanup: removed unnecessary allocations.Jeroen Bakker
2021-03-24Fix: Memory Leak When Using Compositor.Jeroen Bakker
When using the compositor inlined static vectors could allocate memory. This memory wasn't freed. This patch would make them inline again.
2021-03-23Cleanup: WorkScheduler.Jeroen Bakker
- Use constexpr for better readability. - Split in functions per backend. - Split work scheduler global struct in smaller structs. - Replaced std::vector with blender::Vector. - Removed threading defines in COM_defines.h
2021-03-23Cleanup: remove internal functions from interface.Jeroen Bakker
2021-03-23Compositor: Display generated inputs in Viewers and PreviewsManuel Castilla
Currently viewers and previews only display node trees that have at least one node with fixed resolution size. When all inputs are generated, nothing is displayed in most cases (RGB Node is displayed as a single pixel on previews). By generated I mean inputs not having resolution on their own, they create content dynamically given an output resolution. This patch adds support for those cases by using an appropriate preferred resolution on Viewers/Previews which propagates to generated inputs as output resolution. Now: - Viewers will display generated inputs with scene render resolution. - Previews will display them with scene aspect ratio. This is consistent with final render result and respects relative space. The benefit for the user is being able to compose images without any input source. For example for creating mask images or simple backgrounds. Reviewed By: Jeroen Bakker Differential Revision: https://developer.blender.org/D10611
2021-03-23Cleanup: remove unused include.Jeroen Bakker