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-02-11File headers: SPDX License migrationCampbell Barton
Use a shorter/simpler license convention, stops the header taking so much space. Follow the SPDX license specification: https://spdx.org/licenses - C/C++/objc/objc++ - Python - Shell Scripts - CMake, GNUmakefile While most of the source tree has been included - `./extern/` was left out. - `./intern/cycles` & `./intern/atomic` are also excluded because they use different header conventions. doc/license/SPDX-license-identifiers.txt has been added to list SPDX all used identifiers. See P2788 for the script that automated these edits. Reviewed By: brecht, mont29, sergey Ref D14069
2022-01-10Compositing Convert color space nodeJeroen Bakker
Compositor node to convert between color spaces. Conversion is skipped when converting between the same color spaces or to or from data spaces. Implementation done for tiled and full frame compositor. Reviewed By: Blendify, jbakker Differential Revision: https://developer.blender.org/D12481
2022-01-07Cleanup: remove redundant const qualifiers for POD typesCampbell Barton
MSVC used to warn about const mismatch for arguments passed by value. Remove these as newer versions of MSVC no longer show this warning.
2021-12-09Cleanup: move public doc-strings into headers for 'compositor'Campbell Barton
Ref T92709
2021-10-14Cleanup: convert camelCase naming to snake_case in CompositorManuel Castilla
To convert old code to the current convention and use a single code style.
2021-10-14Cleanup: replace members `m_` prefix by `_` suffix in CompositorManuel Castilla
To convert old code to the current convention and use a single code style.
2021-10-14Cleanup: remove `this->` for `m_` prefixed members in CompositorManuel Castilla
For cleaning old code style as new code usually omit it.
2021-10-14Cleanup: remove unused includes in CompositorManuel Castilla
And move unneeded includes in frequently used headers to source files. Slightly reduces compile time.
2021-09-29Cleanup: spelling in commentsCampbell Barton
2021-09-28Compositor: Add support for canvas compositingManuel Castilla
This commit adds functionality for operations that require pixel translation or resizing on "Full Frame" mode, allowing to adjust their canvas. It fixes most cropping issues in translate, scale, rotate and transform nodes by adjusting their canvas to the result, instead of the input canvas. Operations output buffer is still always on (0,0) position for easier image algorithm implementation, even when the canvas is not. Current limitations (will be addressed on bcon2): - Displayed translation in Viewer node is limited to 6000px. - When scaling up the canvas size is limited to the scene resolution size x 1.5 . From that point it crops. If none of these limitations are hit, the Viewer node displays the full input with any translation. Differential Revision: https://developer.blender.org/D12466
2021-09-04Compositor: Full frame filter nodesManuel Castilla
Adds full frame implementation to Anti-Aliasing, Defocus, Denoise, Despeckle, Dilate/Erode, Directional Blur, Filter, Inpaint and Vector Blur nodes. The other nodes in "Filter" sub-menu are submitted separately. Part of T88150. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D12219
2021-08-23Compositor: Fix incorrect copying of uchar buffersManuel Castilla
Row stride and the area x coordinate offset were not taken into account.
2021-08-23Compositor: Add sampling methods for full frameManuel Castilla
Current sampling methods have off by one issues on full frame: - Bilinear sampling do not fully sample bottom and left image border, creating edges. - Single elem buffers are not sampled at all when they should be at least on the borders to smooth edges. - EWA filtering is partially implemented on `ReadBufferOperation`, it needs to be moved to `MemoryBuffer` on full frame. In order to not affect tiled implementation, this commit creates specific sampling methods for full frame needs. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D12164
2021-08-10Compositor: Full frame input nodesManuel Castilla
Adds full frame implementation to "Bokeh Image" node, "Track Position" node, `SetVectorOperation` and `MovieClipAttribute`. The other nodes in "Input" submenu are implemented separately. `MovieClipAttribute` needs resolution to calculate its constant value, it can't be constant folded, which requires it to be a `ConstantOperation`. Now `ConstantOperation` contemplate this case and any operation that is always constant without depending on inputs should implement it. If in the future an operation needs to get an input constant element during `determineResolution` it must first determine its input resolution. The nodes have no functional changes. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D12090
2021-07-26Compositor: Full frame Scale nodeManuel Castilla
Adds full frame implementation to this node operations. No functional changes. Includes a new operation method `init_data` used to initialize any data needed after operations are linked and resolutions determined. Once tiled implementation is removed `initExecution` may be renamed to `init_rendering` and `init_data` to `init_execution`. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D11944
2021-07-19Compositor: Buffer iteratorsManuel Castilla
Currently we mostly iterate buffer areas using x/y loops or through utility methods extending from base classes. To simplify code in simple operations this commit adds wrappers for specifying buffer areas and their iterators for raw buffers with any element stride: - BufferRange: Specifies a range of contiguous buffer elements from a given element index. - BufferRangeIterator: Iterates elements in a BufferRange. - BufferArea: Specifies a rectangle area of elements in a 2D buffer. - BufferAreaIterator: Iterates elements in a BufferArea. - BuffersIterator: Simultaneously iterates an area of elements in an output buffer and any number of input buffers. - BuffersIteratorBuilder: Helper for building BuffersIterator adding buffers one by one. For iterating areas coordinates it adds `XRange` and `YRange` methods that return `IndexRange`. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D11882
2021-07-13Compositor: Fix pixels being wrapped outside buffer areaManuel Castilla
Not causing issues in current master because all buffer areas are at (0, 0) position and `Extend` is not used. But areas may be at any position in future developments and it will crash. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D11784
2021-07-06Fix T89671: Crash when using Denoise node on Full Frame modeManuel Castilla
Tiled fallback doesn't support single element buffers. Ensure tiles are initialized as full buffers.
2021-06-26Cleanup: full sentences in comments, improve comment formattingCampbell Barton
2021-06-23Compositor: Full frame Image nodeManuel Castilla
Adds full frame implementation to Image node operations. Mostly refactored into buffer utility methods for reuse in other operations. No functional changes. 1.8x faster than tiled fallback. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D11559
2021-06-22Cleanup: Spelling MistakesLeon Zandman
This patch fixes many minor spelling mistakes, all in comments or console output. Mostly contractions like can't, won't, don't, its/it's, etc. Differential Revision: https://developer.blender.org/D11663 Reviewed by Harley Acheson
2021-05-10Compositor: Add vars and methods for easier image loopingManuel Castilla
These variables and methods should make it easier to loop through buffers elements/pixels. They take into account single element buffers. Single element buffers can be used for set operations to reduce memory usage. Usage example: P2078 Reviewed By: #compositing, jbakker Differential Revision: https://developer.blender.org/D11015
2021-03-29Cleanup: Add namespace to compositor.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-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-16Cleanup: Removed commented out code.Jeroen Bakker
2020-08-07Code Style: use "#pragma once" in source directoryJacques Lucke
This replaces header include guards with `#pragma once`. A couple of include guards are not removed yet (e.g. `__RNA_TYPES_H__`), because they are used in other places. This patch has been generated by P1561 followed by `make format`. Differential Revision: https://developer.blender.org/D8466
2020-05-08Cleanup: take includes out of 'extern "C"' blocksJacques Lucke
Surrounding includes with an 'extern "C"' block is not necessary anymore. Also that made it harder to add any C++ code to some headers, or include headers that have "optional" C++ code like `MEM_guardedalloc.h`. I tested compilation on linux and windows (and got help from @LazyDodo). If this still breaks compilation due to some linker error, the header containing the symbol in question is probably missing an 'extern "C"' block. Differential Revision: https://developer.blender.org/D7653
2019-08-16Cleanup: spellingCampbell Barton
2019-05-01Cleanup: comments (long lines) in compositorCampbell Barton
2019-04-23Cleanup: style, use braces for compositorCampbell Barton
2019-04-17ClangFormat: apply to source, most of internCampbell Barton
Apply clang format as proposed in T53211. For details on usage and instructions for migrating branches without conflicts, see: https://wiki.blender.org/wiki/Tools/ClangFormat
2019-04-16Cleanup: trailing commasCampbell Barton
2019-02-18Cleanup: conform headers to have license firstCampbell Barton
Also remove doxy comments for licenses and add missing GPL header.
2019-02-01Cleanup: remove redundant, invalid info from headersCampbell Barton
BF-admins agree to remove header information that isn't useful, to reduce noise. - BEGIN/END license blocks Developers should add non license comments as separate comment blocks. No need for separator text. - Contributors This is often invalid, outdated or misleading especially when splitting files. It's more useful to git-blame to find out who has developed the code. See P901 for script to perform these edits.
2019-01-15Cleanup: commas at the end of enumsCampbell Barton
Without this clang-format may wrap them onto a single line.
2018-12-12Cleanup: use colon separator after parameterCampbell Barton
Helps separate variable names from descriptive text. Was already used in some parts of the code, double space and dashes were used elsewhere.
2018-11-14Cleanup: comment block tabsCampbell Barton
2018-09-13Cleanup: GCC ignored qualifier warningCampbell Barton
2018-09-05Cleanup: replace doxy @ with backslashCampbell Barton
The rest of Blender uses backslashes.
2018-08-08Cleanup: use conforming header guardCampbell Barton
2018-06-17Cleanup: trailing space for compositorCampbell Barton