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-02-06Cleanup: compare with zero for flag checksCampbell Barton
This is done almost everywhere already, use this more straightforward convention.
2021-02-05Cleanup: correct spelling in codeCampbell Barton
2021-02-05Cleanup: correct spelling in commentsCampbell Barton
2021-02-02Blenkernel: Move node.c to C++Hans Goudey
Required changes to compile `node.cc` with clang tidy: * Use c++ includes like (e.g. climits instead limits.h). * Insert type casts when casting from `void *`. * Replace `NULL` with `nullptr`. * Replace typedef statements. This change is in order to use the `blender::Map` data structure for node error messages.
2021-01-28Merge branch 'blender-v2.92-release'Sergey Sharybin
2021-01-28Fix T84512: Crash if size input of Blur node is too largeHabib Gahbiche
Gaussian filter with a too large kernel doesn't make much sense. This commit caps the Gaussian function radius to MAX_GAUSSTAB_RADIUS. Reviewed By: sergey Maniphest Tasks: T84512 Differential Revision: https://developer.blender.org/D10122
2021-01-26Merge branch 'blender-v2.92-release'Richard Antalik
2021-01-26Cleanup: compiler warningsBrecht Van Lommel
If one method is marked as override, clang warns if others are not.
2021-01-19Merge branch 'blender-v2.92-release'Philipp Oeser
2021-01-19Fix T84823: crash rendering with unconnected input socket in File Output nodePhilipp Oeser
Caused by rB957e292c5864. Now just skip unconnected sockets. Maniphest Tasks: T84823 Differential Revision: https://developer.blender.org/D10137
2021-01-15Cleanup: spellingCampbell Barton
2021-01-13Compositor: "Save as Render" for the file output nodeRobert Guetzkow
This commit adds the "Save as Render" feature to the file output node, that allows to disable the application of the configured view transform and other color management settings on the image. If disable it uses the standard view transform instead. This feature was originally suggested in T83842 and is part of the color management improvements task in T68926. With this feature it is possible to toggle the application of the color management settings for each input socket of the File Output node individually. Reviewed By: brecht Maniphest Tasks: T68926, T83842 Differential Revision: https://developer.blender.org/D9921
2021-01-12Fix T64953: Add cryptomatte meta data to file output node.Jeroen Bakker
This change will try to add meta data when using a multilayered open exr file output node in the compositor. It adds the current scene meta data and converts existing cryptomatte keys so it follows the naming that is configured in the file output node. This change supports the basic use-case where the compositor is used to output cryptomatte layers with a different naming scheme to support external compositors. In this case the Multilayered OpenEXR files are used and the meta data is read from the render result. Meta data is found when render layer node is connected with the file output node without any other nodes in between. Redirects and empty node groups are allowed. The patch has been verified to work with external compositors. See https://devtalk.blender.org/t/making-sense-of-cryptomatte-usage-in-third-party-programs/16576/17 See patch for example files. Reviewed By: Sergey Sharybin Differential Revision: https://developer.blender.org/D10016
2021-01-11Cleanup: Added const to RenderLayersProg methodsJeroen Bakker
2021-01-06Cleanup: CodeStyle FormatJeroen Bakker
2021-01-05Cleanup: clang tidyJacques Lucke
2021-01-05Compositor: Alpha ModeJeroen Bakker
{D9211} introduced pre-multiplying the color for the keying node. This pre-multiplication should also be done by other keying nodes and should be the default operation for alpha node. This patch will change the logic of keying nodes (Cryptomatte Node, Channel Matte, Chroma Matte, Color Matte, Difference Matte, Distance Matte, Luminance Matte) and breaks old files. The Set alpha node has a mode parameter. This parameter changes the logic to `Apply Mask` the alpha on the RGBA channels of the input color or only replace the alpha channel (old behavior). The replace mode is automatically set for older files. When adding new files the the multiply mode is set. Reviewed By: Sergey Sharybin Differential Revision: https://developer.blender.org/D9630
2021-01-05Cleanup: Compositor comment styleJeroen Bakker
2021-01-04Cleanup: use 'pragma once'Campbell Barton
Add explanations for cases the header-guard defines are still used.
2020-12-23Cleanup: Clang formatHans Goudey
2020-12-19Compositor: New Exposure NodeAaron Carlisle
This new node increases the radiance of an image by a scalar value. Previously, the only way to adjust the the exposure of an image was with math node or using the scene's color management. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D9677
2020-12-14Cryptomatte: Data structure in compositor nodeJeroen Bakker
This changes the way how the mattes are stored in the compositor node. This used to be a single string what was decoded/encoded when needed. The new data structure stores all entries in `CryptomatteEntry` and is converted to the old `matte_id` property on the fly. This is done for some future changes in the workflow where a more structured approach leads to less confusing and easier to read code.
2020-12-09Cleanup: various clang tidy fixesJacques Lucke
2020-12-04Cleanup: Clang-Tidy, modernize-use-usingSybren A. Stüvel
Replace `typedef` with `using` in C++ code. In the case of `typedef struct SomeName { ... } SomeName;` I removed the `typedef` altogether, as this is unnecessary in C++. Such cases have been rewritten to `struct SomeName { ... };` No functional changes.
2020-12-04Cleanup: Clang-Tidy, modernize-deprecated-headersSybren A. Stüvel
No functional changes.
2020-11-30Cleanup hardcoded render percentage to factor conversionMonique Dewanchand
During revision of {D8952} one of the comments was to make a function that converts the render percentage to a factor. This to avoid code duplication. However the duplicated code was already all over the compositor code. So in order to avoid this code duplication for {D8952} I propose to first cleanup the duplicated code and build patch {D8952} based on this clean up. The method that converts the render percentage to a factor is put in the CompositorContext. Why? The CompositorContext keeps DNA information like the renderdata. DNA, and thus the CompositorContext, keeps the size of the render resolution in percentage (user oriented). The compositor needs the size of the render resolution as a factor. So the CompositorContext seems like the obvious place to have this conversion method. Why not in de NodeBase? The method could've been added to the nodebase, but I wanted to keep the nodebase as clean as possible and not put simple "conversion" methods into this base class. Also I didn't really like the call flow: you'd always have to get the renderdata size from the context and then convert. Putting it in the CompositorContext avoids this extra invoke of a call. Why not in the Converter? See nodebase. And the Converter seems more like a class for "structural" and complex node tree conversions. Not the simple conversions. Reviewed By: Sergey Sharybin Differential Revision: https://developer.blender.org/D9566
2020-11-25Nodes: deduplicate ping pong math operationJacques Lucke
The formula did not change. The only side effect of this change should be that the compositor node now does not divide by zero in some cases.
2020-11-19Fix lost node links when linked node group datablock is temporarily missingBrecht Van Lommel
Don't refresh the list of sockets, so that when the .blend file is restored the links remain valid. Also display such nodes in red to indicate an error, same as when the node type info is missing.
2020-11-13Fix CalculateStandardDeviationOperation incorrect results for R G B channelsManuel Castilla
Standard deviation formula wasn't being applied correctly when selecting R G B cases. Issue is there since Blender 2.64 as it was incorrectly ported over from the previous compositor. Reviewed By: Sergey Sharybin, Jeroen Bakker Differential Revision: https://developer.blender.org/D9384
2020-11-09Cleanup: more renaming in the render/ module for consistencyBrecht Van Lommel
2020-11-09Cleanup: clang-formatCampbell Barton
2020-11-07Cleanup: Clang-format.Ankit Meel
2020-11-06Cleanup: Clang-Tidy modernize-use-nullptrSybren A. Stüvel
Replace `NULL` with `nullptr` in C++ code. No functional changes.
2020-11-06Cleanup: Render Module: combine intern/ source & includeAaron Carlisle
2020-11-06Cleanup: Render Module: move header files to main directoryAaron Carlisle
Move headers files from `render/extern/` to `render/` Part of T73586
2020-11-06Cleanup: Clang-Tidy, modernize-use-bool-literalsSergey Sharybin
2020-11-06Cleanup: Clang-Tidy, readability-redundant-member-initSergey Sharybin
2020-11-06Cleanup: use ELEM macro (>2 args)Campbell Barton
2020-11-06Cleanup: use ELEM macroCampbell Barton
2020-10-22Compositor: Ensure keying node result is pre-multipliedSergey Sharybin
Historically the result of the keying node was violating alpha pre-multiplication rules in Blender: it was simply overriding the alpha channel of input. This change makes it so keying node mixes alpha into the input, which solves the following issues: - The result is properly pre-multiplied, no need in separate alpha-convert node anymore. - Allows to more easily stack keying nodes. This usecase was never really investigated, but since previously alpha is always overwritten it was never possible to easily stack nodes. Now it is at something to be tried. Unfortunately, this breaks compatibility with existing files, where alpha-convert node is to be manually removed. From implementation side this is done as a dedicated operation since there was no ready-to-use operation. Maybe in the future it might be replaced with some sort of vector math node. Reviewed By: brecht Differential Revision: https://developer.blender.org/D9211
2020-10-19Spelling: MiscellaneousHarley Acheson
Corrects 34 miscellaneous misspelled words. Differential Revision: https://developer.blender.org/D9248 Reviewed by Campbell Barton
2020-10-19Spelling: It's Versus ItsHarley Acheson
Corrects incorrect usage of contraction for 'it is', when possessive 'its' was required. Differential Revision: https://developer.blender.org/D9250 Reviewed by Campbell Barton
2020-10-14Cleanup: multi-line comment blocksCampbell Barton
2020-10-10Cleanup: use C comments for descriptive textCampbell Barton
Follow our code style guide by using C-comments for text descriptions.
2020-10-08Cleanup: Remove `BKE_mask_copy_nolib()` and `BKE_mask_free()`.Bastien Montagne
Generic ID management code can now do those local temp copy handling, so no need for duplicated own code for that. No behavioral changes expected here.
2020-09-30Cleanup: convert gforge task ID's to phabricator formatValentin
Cleanup old tracker task format to the new. e.g: [#34039] to T34039 Ref D8718
2020-09-30Cleanup: use angle-brackets for email addressesCampbell Barton
This is already the most widely used convention. Use this so `make check_spelling_c` will ignore all email addresses.
2020-09-12Cleanup: use C style doxygen commentsCampbell Barton
2020-09-11Use DrawManager for Image/UV EditorJeroen Bakker
This project moves the current UV/Image editor drawing to the draw manager. Why would we do this: **Performance**: Current implementation would draw each texel per time. Multiple texels could be drawn per pixel what would overwrite the previous result. You can notice this when working with large textures. Repeat image drawing made this visible by drawing for a small period of time and stop drawing the rest. Now the rendering is fast and all repeated images are drawn. **Alpha drawing**: Current implementation would draw directly in display space. Giving incorrect results when displaying alpha transparent images. This addresses {T52680}, {T74709}, {T79518} The image editor now can show emission only colors. See {D8234} for examples. **Current Limitations** Using images that are larger than supported by your GPU are resized (eg larger than 16000x16000 are resized to 8k). This leaves some blurring artifacts. It is a low priority to add support back of displaying individual pixels of huge images. There is a design task {T80113} with more detail. **Implementation overview** Introduced an Image Engine in the draw module. this engine is responsible for drawing the texture in the main area of the UV/Image editor. The overlay engine has a edit_uv overlay which is responsible to draw the UV's, shadows and overlays specifically for the UV Image editor. The background + checker pattern is drawn by the overlay_background. The patch will allow us to share overlays between the 3d viewport and UV/Image editor more easily. In most cases we just need to switch the `pos` with the `u` attribute in the vertex shader. The project can be activated in the user preferences as experimental features. In a later commit this will be reversed. Reviewed By: Clément Foucault Differential Revision: https://developer.blender.org/D8234
2020-09-10Cleanup: spellingCampbell Barton