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-03-02Fix crash on NULL dereferenceRichard Antalik
Caused by e1f3996d740c, `seq_update_meta_disp_range()` did not check if sequencer data exists.
2021-03-02Cleanup: remove unused argumentsRichard Antalik
2021-03-02VSE: Refactor meta operatorsRichard Antalik
Move low level logic to module code and versioning logic to versioning code. Metas strip position was handled in diffrent way compared to other strips. This was introduced in c8b0d25794be as bugfix for T28158. I disagree with such design. Meta strips should be handled in same way as any other strips. I have tested this change and haven't found any problems. No problems after checking T28158 as well. There should be no functional changes on user level. Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D9972
2021-03-01UI: Correct output attribute name in proximity nodeHans Goudey
I made an incorrect comment in patch review that "Location" should be used instead of position. "Position" is more appropriate here since it refers to generic data rather than an object origin. "Position" is also the name we chose for the attribute for this reason.
2021-02-27Fix T86028: Crash when loading file with missing libraries.Bastien Montagne
Regression from rB53d13b6f5387c68.
2021-02-27Geometry Nodes: Add "Location" output to Attribute Proximity nodeVictor-Louis De Gusseme
This patch adds an output field to the Attribute Proximity node and renames the existing string socket from "Result" to "Distance". - The "Distance" output contains distance to the closest position on the Target geometry. - The new "Location" output contains the coordinates of the closest position on the Target geometry. A basic use case for this data is a simple shrinkwrap operation. Differential Revision: https://developer.blender.org/D10415
2021-02-26Cryptomatte: Manifest Parsing.Jeroen Bakker
This patch adds manifest parsing to Cryptomatte. Normally when loading cryptomatte layer from an OpenEXR file the manifest contains data to convert a hash to its original name of the object/material. In the future we want to use this to support lookup of cryptomatte hashes and show it to the user. Currently this logic isn't available to users (for now), but is required by D3959 where a new cryptomatte workflow is implemented.
2021-02-26UX: Readfile: Libraries error messages: avoid wall of warnings.Bastien Montagne
When a lot of libraries or linked IDs were missing/not found when loading a .blend file, Blender used to show one warning report for each missing item, potentially covering the user's screen with a giant unuable popup. Now it will instead generate a single warning with amount of missing lib files and linked IDs. Each missing item is still reported individually, but only as `INFO`, so it will still show up in the console or Info editor.
2021-02-24Fix T85947: Missing check of master collection for objects being instanced.Bastien Montagne
`object_in_any_collection` used during linking/appending to check whether an object is already instanced by at least one collection, was not taking into account embedded master collections from scenes.
2021-02-19GPencil: Interpolate Tools refactorAntonio Vazquez
Following with the changes included to interpolate strokes of different number of points, a full review has been done in the interpolation tools. * Interpolate now is a tool and not an operator. It was not logic to have this tool as a button. * Interpolate tool parameters have been moved to topbar. * Interpolate popover has been removed from topbar and interpolate `Sequence` operator has been moved to grease pencil menu. * Interpolate Sequence now include a Redo panel. * Interpolate tool now allows to select the strokes by pairs. This allows to interpolate any stroke with any stroke and not as before that it was only possible by drawing order. If no stroke is selected, the interpolation is done as before. * Now is possible interpolate again if a previous keyframe exist. Before, it was impossible to interpolate two times in same frame and this made impossible to do the interpolation by groups of frames. * New automatic option to `Flip strokes` if the stroke and end are not in the right position. Also the flip can be set manually for corner cases. * Cleanup of menus related to interpolate. * Fixed some bugs and removed parameters from scene because now all are tool or operator contained. * Some code cleanup and function renames. This commit also includes the some codebase to future implementation of the concept `Vertex Active` that now does not exist in grease pencil.
2021-02-19UI: FModifier layout updates, drag and dropHans Goudey
This patch implements the list panel system D7490 for FCurve modifiers. The UI layouts are updated to make use of subpanels and to be consistent with the rest of the interface, and easier to understand. See the differential revision for screenshots. This commit also significantly cleans up the FModifier UI code, and improves, mainly by replacing the old button creation code is with the newer interface API using RNA. In turn there is a bit of complexity added because each FModifier has a separate panel. Although reordering of FModifiers was not implemented before, we get drag and drop basically for free here, so it is also included. As noted in some older to do tasks, FModifiers aren't evaluated in perfect order, which may be a point of improvement for the future. Differential Revision: https://developer.blender.org/D7997
2021-02-18Merge branch 'blender-v2.92-release'Richard Antalik
2021-02-18Fix T85762: Crash when opening 2.83 VSE fileRichard Antalik
Crash happened in versioning code on NULL dereference in function seq_convert_transform_crop() for Strip crop and transform fields. Strips created after rB1fd7b380f4cf were assumed to have crop and transform always initialized, but this wasn't the case. This has been fixed in 2.90, but not in versioning code. Initialize these fields if they are not initialized already. Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D10463
2021-02-18Cleanup: sort structs, file-listsCampbell Barton
2021-02-16Cleanup: spellingCampbell Barton
2021-02-15Fix: incorrect versioning for Attribute Randomize nodeJacques Lucke
2021-02-14Cleanup: spellingCampbell Barton
2021-02-14Cleanup: correct/update commentsCampbell Barton
2021-02-13Cleanup: spellingCampbell Barton
2021-02-13EEVEE: Depth of field: New implementationClément Foucault
This is a complete refactor over the old system. The goal was to increase quality first and then have something more flexible and optimised. |{F9603145} | {F9603142}|{F9603147}| This fixes issues we had with the old system which were: - Too much overdraw (low performance). - Not enough precision in render targets (hugly color banding/drifting). - Poor resolution near in-focus regions. - Wrong support of orthographic views. - Missing alpha support in viewport. - Missing bokeh shape inversion on foreground field. - Issues on some GPUs. (see T72489) (But I'm sure this one will have other issues as well heh...) - Fix T81092 I chose Unreal's Diaphragm DOF as a reference / goal implementation. It is well described in the presentation "A Life of a Bokeh" by Guillaume Abadie. You can check about it here https://epicgames.ent.box.com/s/s86j70iamxvsuu6j35pilypficznec04 Along side the main implementation we provide a way to increase the quality by jittering the camera position for each sample (the ones specified under the Sampling tab). The jittering is dividing the actual post processing dof radius so that it fills the undersampling. The user can still add more overblur to have a noiseless image, but reducing bokeh shape sharpness. Effect of overblur (left without, right with): | {F9603122} | {F9603123}| The actual implementation differs a bit: - Foreground gather implementation uses the same "ring binning" accumulator as background but uses a custom occlusion method. This gives the problem of inflating the foreground elements when they are over background or in-focus regions. This is was a hard decision but this was preferable to the other method that was giving poor opacity masks for foreground and had other more noticeable issues. Do note it is possible to improve this part in the future if a better alternative is found. - Use occlusion texture for foreground. Presentation says it wasn't really needed for them. - The TAA stabilisation pass is replace by a simple neighborhood clamping at the reduce copy stage for simplicity. - We don't do a brute-force in-focus separate gather pass. Instead we just do the brute force pass during resolve. Using the separate pass could be a future optimization if needed but might give less precise results. - We don't use compute shaders at all so shader branching might not be optimal. But performance is still way better than our previous implementation. - We mainly rely on density change to fix all undersampling issues even for foreground (which is something the reference implementation is not doing strangely). Remaining issues (not considered blocking for me): - Slight defocus stability: Due to slight defocus bruteforce gather using the bare scene color, highlights are dilated and make convergence quite slow or imposible when using jittered DOF (or gives ) - ~~Slight defocus inflating: There seems to be a 1px inflation discontinuity of the slight focus convolution compared to the half resolution. This is not really noticeable if using jittered camera.~~ Fixed - Foreground occlusion approximation is a bit glitchy and gives incorrect result if the a defocus foreground element overlaps a farther foreground element. Note that this is easily mitigated using the jittered camera position. |{F9603114}|{F9603115}|{F9603116}| - Foreground is inflating, not revealing background. However this avoids some other bugs too as discussed previously. Also mitigated with jittered camera position. |{F9603130}|{F9603129}| - Sensor vertical fit is still broken (does not match cycles). - Scattred bokeh shapes can be a bit strange at polygon vertices. This is due to the distance field stored in the Bokeh LUT which is not rounded at the edges. This is barely noticeable if the shape does not rotate. - ~~Sampling pattern of the jittered camera position is suboptimal. Could try something like hammersley or poisson disc distribution.~~Used hexaweb sampling pattern which is not random but has better stability and overall coverage. - Very large bokeh (> 300 px) can exhibit undersampling artifact in gather pass and quite a bit of bleeding. But at this size it is preferable to use jittered camera position. Codewise the changes are pretty much self contained and each pass are well documented. However the whole pipeline is quite complex to understand from bird's-eye view. Notes: - There is the possibility of using arbitrary bokeh texture with this implementation. However implementation is a bit involved. - Gathering max sample count is hardcoded to avoid to deal with shader variations. The actual max sample count is already quite high but samples are not evenly distributed due to the ring binning method. - While this implementation does not need 32bit/channel textures to render correctly it does use many other textures so actual VRAM usage is higher than previous method for viewport but less for render. Textures are reused to avoid many allocations. - Bokeh LUT computation is fast and done for each redraw because it can be animated. Also the texture can be shared with other viewport with different camera settings.
2021-02-12Geometry Nodes: Add operation setting to attribute randomize nodeHans Goudey
This commit adds a drop-down to the attribute randomize node to support a few operations on the values of existing attributes: "Replace/Create" (the existing behavior), "Add", "Subtract", and "Multiply". At this point, the operations are limited by what is simple to implement. More could be added in the future, but there isn't a strong use case for more complex operations anyway, and a second math node can be used. Differential Revision: https://developer.blender.org/D10269
2021-02-12Cycles: Use Blender Settings For AOVJeroen Bakker
This patch will share the AOV settings between Cycles and Eevee. It enable using the AOV name conflict detection of Blender. This means that unlike how Cycles used to work it isn't possible to add an AOV with a similar name. Conflicts with internal render pass names will be indicated with an Warning icon. Reviewed By: Brecht van Lommel Differential Revision: https://developer.blender.org/D9774
2021-02-11Geometry Nodes: Use multi-input socket in join geometry nodeFabian Schempp
This updates the join node to use the new multi-input socket from D10067. The change just requires slightly changing the arguments of the exec function, and changing the socket input list. Note that this commit does not contain the UI changes, it only allows for more input links, and combines the two sockets into one. The UI changes will come next. Reviewed By: Hans Goudey Differential Revision: https://developer.blender.org/D10069
2021-02-10Cleanup: spellingCampbell Barton
2021-02-09Outliner: Enable render visibility column by defaultNathan Craddock
The render visibility column in the outliner should be enabled by default. This change makes it more obvious which objects will be rendered which can be misleading when only viewport visibility toggles are shown by default. This commit enables the render visibility column in all existing and new Outliner editors. Differential Revision: https://developer.blender.org/D10365
2021-02-09Merge branch 'blender-v2.92-release'Jeroen Bakker
2021-02-09Fix T81206: Do not limit gl texture size in image editorJeroen Bakker
This patch will show textures in the image editor with the maximum available resolution determined by the GPU Hardware/Driver. Currently the size is limited by the user preference texture size limit. An image user can set the `IMA_SHOW_MAX_RESOLUTION` flag to request gpu textures in the max supported resolution. When this flag isn't set the gpu texture is limited by the user preference setting. When the gl resolution limit is disabled the GPU texture is always created for the max supported resolution. Reviewed By: Clément Foucault Maniphest Tasks: T81206 Differential Revision: https://developer.blender.org/D9160
2021-02-09Fix versioning code of previous commitJeroen Bakker
2021-02-09Cleanup: spellingCampbell Barton
2021-02-08Fix for T84038: Improved Report WarningsHarley Acheson
Improved contrast for Status Bar report warning messages. Differential Revision: https://developer.blender.org/D10242 Reviewed by Hans Goudey
2021-02-08Fix (studio-reported) crash in readfile code.Bastien Montagne
Essentially, `lib_link_all` would perform some post-processing over data in given `bmain` that **may** fail when not all data from all libraries has been properly loaded yet. This happens when `lib_link_all` is called from `read_libraries`, where the bmains are split by libraries. Now those post-processing is put into its own utils function, which asserts that it is only called on a merged bmain. Bonus point, this will avoid re-runing those not-so-cheap operations more than once on the same data. Reproducible in r1442 of Sprite repository when opening `pro/animation_test/rex/performance/rex_crowdcamping/rex_crowdcamping.lighting.blend` NOTE: Not so sure why we have to call `lib_link_all` several times (once for each library, and then once on the whole merged bmain, including local IDs then). So that it can get called for libs while we still have that specific .blend file handle around? In any case, the overhead here is minimal since we do ensure a data-block is never lib-linked more than once, so this is not a serious concern right now. Differential Revision: https://developer.blender.org/D10307
2021-02-08Fix T81206: Do not limit gl texture size in image editorJeroen Bakker
This patch will show textures in the image editor with the maximum available resolution determined by the GPU Hardware/Driver. Currently the size is limited by the user preference texture size limit. An image user can set the `IMA_SHOW_MAX_RESOLUTION` flag to request gpu textures in the max supported resolution. When this flag isn't set the gpu texture is limited by the user preference setting. When the gl resolution limit is disabled the GPU texture is always created for the max supported resolution. Reviewed By: Clément Foucault Maniphest Tasks: T81206 Differential Revision: https://developer.blender.org/D9160
2021-02-05Cleanup: use 'r_' prefix for return arguments, order lastCampbell Barton
2021-02-05Fix missing preview images for actions when browsing in external filesJulian Eisel
When reading the preview images of external .blend files, action data-blocks were not handled. Preview support for actions was added in 2397ccc583af.
2021-02-05Cleanup: correct spelling in commentsCampbell Barton
2021-02-05Cleanup/refactor: Undosys: Get rid of the magic values for undo direction.Bastien Montagne
Move `eUndoStepDir` to `BKE_undo_system.h` and use its values everywhere. Note that this also introduce the `STEP_INVALID` value in that enum. Finally, kept the matching struct members in some lower-level readfile code as an `int` to avoid having to include `BKE_undo_system.h` in a lot of unrelated files.
2021-02-04PyAPI: correct docstringCampbell Barton
2021-02-03BPY: allow `bpy.data.libraries.load()` to filter out non-asset data-blocks.Bastien Montagne
Differential Revision: https://developer.blender.org/D10237
2021-01-29Merge branch 'blender-v2.92-release'Hans Goudey
2021-01-29Fix T83988: Active modifier outline uses search theme colorHans Goudey
The outline for the active modifier was abusing the property search match theme color, as noted in a comment. This commit adds a new theme color in RNA specifically for the active modifier outline.
2021-01-27Sky Texture: change Nishita Altitude to use unit systemMarco
Differential Revision: https://developer.blender.org/D9968
2021-01-26Geometry Nodes: Support all operations in the "Attribute Math" nodeHans Goudey
This adds the ability to use all the math operations in the regular utility "Math" node. The code is quite similar to the attribute vector math node, with the simplification that the result is always a float. Differential Revision: https://developer.blender.org/D10199
2021-01-26Merge branch 'blender-v2.92-release'Robert Guetzkow
2021-01-26Fix T84708: Versioning for Set Alpha nodeRobert Guetzkow
The versioning code introduced in rB38df935c0985 skips the composite node tree that is used by the scene thus not correctly versioning Set Alpha nodes outside of node groups. This fix iterates through all node trees to version all Set Alpha nodes. Reviewed By: JacquesLucke Differential Revision: https://developer.blender.org/D10110
2021-01-24UI: Viewport Navigate Gizmo RefactorHarley Acheson
Simplification and changes to the Navigation gizmo. Better indication of negative axes, consistent use of color and size to indicate orientation, ability to be resized. Differential Revision: https://developer.blender.org/D9744 Reviewed by Campbell Barton
2021-01-22Cleanup - Point Instance: Use own DNA structDalai Felinto
We will need to expand this node soon to add weight/count for different elements inside the collection. For that it is better to have the node to use its own DNA.
2021-01-21GPencil: Make Layer and Frame duplicate functions more flexibleAntonio Vazquez
Now it's possible to copy only part of the data. This will be used in future operators.
2021-01-21Asset Browser: Enable by default in alpha buildsJulian Eisel
The Asset Browser is still considered an experimental feature right now. But it can be enabled by default for alpha builds, to get further testing and feedback. It will hopefully be a non-experimental feature by the end of bcon1. This is done in agreement with Dalai.
2021-01-20Cleanup: remove extra in trailing asteriskCampbell Barton
Comment blocks not conforming to convention.
2021-01-19Fix merge from 2.92 (subversion bump 292.14)Dalai Felinto