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-31Fix (unreported): TextureOperation inputs have no resolutionManuel Castilla
When compositor node tree has a texture node, TextureOperation vector inputs has always {0, 0} resolution instead of having same resolution as TextureOperation which is the expected behaviour for resolutions propagation. Current TextureOperation determineResolution implementation doesn't determine inputs resolution, breaking propagation of preferred resolution and that's the reason why they are always 0. Setting scene resolution always would mean it is its own resolution and could make sense, but setting it only when preferred resolution is 0, breaks preferred resolution logic affecting other operations as explained in D10972. In any case scene resolution is already the default preferred resolution on viewer and compositor nodes. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D11381
2021-05-26Compositor: Use BLI_color in convert alpha node.Jeroen Bakker
Recently the CPP colors module landed in master. This patch will use the new module in the convert alpha node.
2021-05-24Cleanup: Refactor PlaneTrack and PlaneDistort operationsManuel Castilla
Deduplicates code by introducing a PlaneDirtortBaseOperation for common logic. Reviewed By: #compositing, jbakker Differential Revision: https://developer.blender.org/D11273
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-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-02Cleanup: remove loading blender namespace from Vector.Jeroen Bakker
2021-04-02Cleanup: Added leading `e` to enum types.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-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: clang-format.Jeroen Bakker
2021-03-30Cleanup: Use constexpr.Jeroen Bakker
2021-03-30Cleanup: Replace std::vector with blender::Vector.Jeroen Bakker
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-26Cleanup: Remove ptr For Owned Children.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-24Cleanup: Add override keyword.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-19Cleanup: Use uint8_t for num of channels.Jeroen Bakker
2021-03-19Cleanup: Use enum class for MemoryBufferExtend.Jeroen Bakker
2021-03-19Cleanup: Remove unused states and vars from MemoryBuffer.Jeroen Bakker
2021-03-19Cleanup: MemoryBuffer do not store width and height.Jeroen Bakker
2021-03-19Cleanup: Rename copyContentFrom to fill_from.Jeroen Bakker
2021-03-19Cleanup: Add copy constructor to MemoryBuffer.Jeroen Bakker
2021-03-19Cleanup: Use ref to read from encapsuled data.Jeroen Bakker
MemoryBuffer->getRect was returning a ptr.
2021-03-19Cleanup: Replace ptr with ref (COM_MemoryBuffer).Jeroen Bakker
2021-03-19Cleanup: Use enum class for DataType.Jeroen Bakker
2021-03-19Cleanup: enum class ChunkOrdering.Jeroen Bakker
2021-03-19Cleanup: Use enum class for CompositorQuality.Jeroen Bakker
2021-03-19Cleanup: Use enum class for CompositorPriority.Jeroen Bakker
2021-03-18Cleanup: spellingCampbell Barton
2021-03-16Cleanup: NULL -> nullptr.Jeroen Bakker
2021-03-10Cleanup: spellingCampbell Barton
2021-03-09Compositor: silence clang/clang-tidy override warningsAnkit Meel
`-Winconsistent-missing-override` and `modernize-use-override`. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D10654
2021-03-08Cleanup: Change extension .cpp to .ccJeroen Bakker
2021-03-05Fix: compilation OpenCL kernels Compositor.Jeroen Bakker
introduced during cleanup.
2021-03-05Cleanup: use MIN2/MAX2 in compositor.Jeroen Bakker
2021-03-03Cleanup: make formatJacques Lucke
2021-03-02Cryptomatte: Read metadata from multilayer OpenEXR.Jeroen Bakker
Currently the compositor reads cryptomatte meta-data from the render result. When loading a multilayer open exr file the meta-data was ignored. This patch will also load the cryptomatte meta-data from multilayer open exr files. This enabled workflows where the rendering and compositing are done in separate scenes or for future changes where the cryptomatte node will use the meta-data for name matching and color picking. Reviewed By: Sergey Sharybin Differential Revision: https://developer.blender.org/D10384