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-10-20Realtime Compositor: Implement normalize nodeOmar Emara
This patch implements the normalize node for the realtime compositor. Differential Revision: https://developer.blender.org/D16279 Reviewed By: Clement Foucault
2022-10-20Fix T101645: division by zero in fillet nodeJacques Lucke
2022-10-20ViewLayer: Reduce object duplication syncingMonique Dewanchand
During object duplication the syncing is temporarily disabled. With {D15885} this isn't useful as when disabled the view_layer is still accessed to locate bases. This can be improved by first locating the source bases, then duplicate and sync and locate the new bases. This patch removes the resync forbid and improve the times that resyncing actually must happen. Reviewed By: mont29 Maniphest Tasks: T73411 Differential Revision: https://developer.blender.org/D15886
2022-10-20GL: Make restart index consistent on older implementationClément Foucault
This prevents weird quirks where the implementation might skip the ushort max index even in non-indexed draws.
2022-10-20Realtime Compositor: Implement Tone Map nodeOmar Emara
This patch implements the tone map node for the realtime compositor based on the two papers: Reinhard, Erik, et al. "Photographic tone reproduction for digital images." Proceedings of the 29th annual conference on Computer graphics and interactive techniques. 2002. Reinhard, Erik, and Kate Devlin. "Dynamic range reduction inspired by photoreceptor physiology." IEEE transactions on visualization and computer graphics 11.1 (2005): 13-24. The original implementation should be revisited later due to apparent incompatibilities with the reference papers, which makes the operation less useful. Differential Revision: https://developer.blender.org/D16306 Reviewed By: Clement Foucault
2022-10-20GPU: Avoid undocumented/fragile dependency on shader enumerator orderJulian Eisel
Previously this was using `GPU_SHADER_TEXT` as default value indicating an "unset" state. This wasn't documented in the definition (and so D16284 added a new enumerator that broke this). Plus code was assuming this enumerator would always have the value 0 without specifying this in the definition either. In this case it's easy to not rely on the enum value at all, and just use `std::optional` to add a "unset" state. Differential Revision: https://developer.blender.org/D16303
2022-10-20Lib reload/relocate: Improve performances.Bastien Montagne
Reduce amounts of viewlayer updates during remapping while relocating libraries. Gives some improvements on relocating process, depending on complexity of existing scene and reloaded libraries, whether there is liboverrides to resync, etc., can give up to 10% speedup.
2022-10-20Fix (studio-reported) issue with overrides on library relocating.Bastien Montagne
Liboverrides that were using a missing linked reference ID would not get their 'MISSING' tag properly cleared afer relocating, in case their linked reference is no more missing. Reported by Andy (@eyecandy) from Blender studio.
2022-10-20Fix incorrect shader state after shader interface creationSergey Sharybin
Use store-current-and-restore-previous OpenGL program in the OpenGL Shader Interface. This is a better fix for the initial error, which additionally solves interface artifacts when opening non-default startyp files on macOS with AMD GPU.
2022-10-20Fix WebM naming in the interfaceSergey Sharybin
Use the official spelling of the WebM codec. Only affects the interface string and not the identifier used in the Python API. Should not even affect translations: the current msgstr's do no translate the original string. Reported by Anton Raves, thanks!
2022-10-20Fix T99151: Cycles not updating on Object Type visibility changeLukas Stockner
Differential Revision: https://developer.blender.org/D16259
2022-10-20Fix T93382: Blender still generates subsurface render passesLukas Stockner
In T93382, the problem was that the Blender-side rendering code was still generating the subsurface passes because the old render pass flags were set, even though Cycles doesn't generate them anymore. After a closer look, it turns out that the entire hardcoded pass creation code can be removed. We already have an Engine API function to query the list of render passes from the engine, so we might as well just call that and create the returned passes. Turns out that Eevee already did this anyways. On the Cycles side, it allows to deduplicate a lot of `BlenderSync::sync_render_passes`. Before, passes were defined in engine.py and in sync.cpp. Now, all passes that engine.py returns are created automatically, so sync.cpp only needs to handle a few special cases. I'm not really concerned about affecting external renderer addons, since they already needed to handle the old "builtin passes" in their Engine API implementation anyways to make them show up in the compositor. So, unless they missed that for like 10 releases, they should not notice any difference. Differential Revision: https://developer.blender.org/D16295
2022-10-20Cleanup: simplify uv packing apiChris Blackbourn
Part of a wider set of changes to migrate UV packing from uv_parametrizer.cc to uvedit_islands.cc. This allows UV packing improvements including margin calculation, correctness fixes such as support for non-manifold geometry, and new packing algorithms including speed and quality improvements. See for example c2256bf7f714, T82637 This change migrates UV.unwrap and Live UV Unwrap. Differential Revision: https://developer.blender.org/D16296
2022-10-20Cleanup: Remove unused grease pencil / RNA includesHans Goudey
2022-10-20Fix T101907: restore snapping in node editorChris Blackbourn
Regression from 1edebb794b76
2022-10-19USD Import: fix error messages loading instances.Michael Kowalski
Added logic to avoid attempting to bind the pxr::UsdSkelBindingAPI to instance proxies and prototypes, as this was generating errors.
2022-10-19Fix T101857: Crash when trying to build proxies on read-only filesystemRichard Antalik
Skip building if proxy file can't be created.
2022-10-19Fix T101926: Curves: Remove type-specific attributes when deletingHans Goudey
Remove NURBS or Bezier specific attributes after removing points or curves. In theory we could avoid copying those attributes in the first place, but that doesn't seem worth the extra complexity here, since we don't necessarily know the result curve type counts before copying attributes.
2022-10-19Fix T101622: Sequencer channels not updating while panning viewYann Lanthony
`V2D_VIEWSYNC_AREA_VERTICAL` flag was mistakenly set to the sequencer toolbar region instead of the channels region. Reviewed By: ISS Differential Revision: https://developer.blender.org/D16155
2022-10-19Fix: Geometry Nodes: Memory leak when deleting instancesHans Goudey
The instance attributes assignment operators were broken in multiple ways: there wasn't a move constructor (probably causing performance issues), and the destination attributes weren't freed before they were replaced.
2022-10-19Geometry Nodes: Use common utility for copying attribute dataHans Goudey
Attribute copying often uses identical logic for copying selected elements or copying with an index map. Instead of reimplementing this in each file, use the common implementation in the array_utils namespace. This makes the commonality more obvious, gives improved performance (this implementation is multithreaded), reduces binary size (I observed a 173KB reduction), and probably reduces compile time.
2022-10-19EEVEE: Depth Of Field: Replace ambiguous select with manual checkClément Foucault
This is an attempt to remove a driver bug.
2022-10-19Fix control reaches end of non-void function errorSergey Sharybin
2022-10-19Cleanup: WM: Fix missing enumerator case in switchClément Foucault
2022-10-19Fix T101896 Eevee: Custom object properties don't work in shader for Curves ↵Clément Foucault
objects Move the material resources binding inside the `DRW_shgroup_curves_create_sub` so that `DRW_shgroup_call_no_cull` extracts the attributes.
2022-10-19Fix (devs-reported) mistake in batch delete code in recent change.Bastien Montagne
Mistake in own rB358155a8da60, change ended up discarding the case where we need to also delete IDs using a tagged-to-be-deleted ID in a 'never NULL' way. Typical example: Whene deleting a Mesh ID, one also needs to delete all the Objects using that mesh, since obdata pointer is of type 'never NULL'. Note that luckily, this fix does not affect the performance improvements from rB358155a8da60. Noted by Brecht and Clement because of failing unittests, shame on me.
2022-10-19Fix T101928: transform operator properties saving wrong snap valuesGermano Cavalcante
The check for the flags should be `== 0` since they are describing a negative state. Thanks to @lone_noel for pointing out the error.
2022-10-19Fix T101922: transforming surface points misses redrawPhilipp Oeser
Oversight in rBf8b1483566cc which resulted in fonts/surfaces not having their draw caches being tagged dirty. Not only OB_CURVES_LEGACY have their object data of type ID_CU_LEGACY, but also OB_SURF/OB_FONT objects. Maniphest Tasks: T101922 Differential Revision: https://developer.blender.org/D16298
2022-10-19Blender: Add command line argument to switch gpu backends.Jeroen Bakker
Add command line argument to switch gpu backend. Add `--gpu-backend` option to override the gpu backend selected by Blender. Values for this option that will be available in releases for now are: * opengl: Force blender to select OpenGL backend. During development and depending on compile options additional values can exist: * metal: Force Blender to select Metal backend. When this option isn't provided the internal logic for GPU backend selection will be used. Note that this is at the time of writing the same as always selecting the opengl backend. Reviewed By: fclem, brecht, MichaelPW Differential Revision: https://developer.blender.org/D16297
2022-10-19Fix T99997: Calling teleport without waiting for the previous event disables ↵Pratik Borhade
gravity During teleport event, gravity is disabled and WalkMethod is stored in `teleport.navigation_mode` which is used later to reset the status after execution. Calling teleport events consecutively will change the initial WalkMethod value. So update it only on the first call. Also remove `else condition` as it stops the previously running teleport when the new teleport call fails to find a hit point. Reviewed by: dfelinto, mano-wii Differential Revision: https://developer.blender.org/D15574
2022-10-19GL: Fix incorrect shader state after shader interface creationClément Foucault
The interface needs to bind the shaders for some parameter setup. This program change wasn't reflected in the GPUContext. This was then conflicting with the next shader bind if the next shader was the same as the shader bound before the interface creation. Setting the state to the correct shader ensures a rebind if needed. Fix T101792 New hair curves do not render properly first time in EEVEE with motion blur enabled
2022-10-19Cleanup: CMake include pathsCampbell Barton
Remove redundant separators & redundant references to parent paths.
2022-10-19Cleanup: formatCampbell Barton
2022-10-19Fix T101888: Curves editmode: modifiers "Display in Edit mode" no effectPhilipp Oeser
Add the eModifierMode_Editmode to the required modes for curves modifier evaluation. Only this way the modifier can be skipped in evaluation. Maniphest Tasks: T101888 Differential Revision: https://developer.blender.org/D16280
2022-10-19Fix (unreported) error messages about invalid ID usercount when ↵Bastien Montagne
batch-deleting IDs. Batch-delete by-passes a lot of ID usages handling in to-be-deleted IDs, so usercount of deleted IDs needs to be manually reset to avoid the annoying error messages in the console.
2022-10-19Make batch ID deletion 100 times faster.Bastien Montagne
Simplify and optimize remapping handling in bacth ID deletion, by moving it outside of the initial loop gathering all IDs to be deleted, and and by using batch remapping code. Speedup can be over 100 times faster in complex production scenes using thousands of IDs, when e.g. deleting a whole library. Examples before/after times on my machine (deleting two different libraries): lib1: 5.55 sec/0.03 sec lib2: 13.60 sec/0.13 sec Found while investigating T101903.
2022-10-19Fix T101903: Crash when deleting library in some cases.Bastien Montagne
Remapping in batch deletion could end up calling viewlayer resync code on partially invalid BMain (some IDs still in Main using IDs removed from Main). Think this code can actually be further optimized, but this fix should be safe enough for 3.3 (and potentially 2.93). Thanks to Jeroen (@jbakker) for the initial investigation.
2022-10-19Curves sculptmode: fix missing mode and tool in Brush SpecialsPhilipp Oeser
For consistency with other brush based (paint) systems we should add these entries in the brushes context menu. For this, expose the brushes `ob_mode` to RNA and show this (along with the tool choice) to the appropriate menus. Differential Revision: https://developer.blender.org/D16287
2022-10-19Sculpt curves: Fix BKE_paint_object_mode_from_paintmodePhilipp Oeser
Currently harmless (since atm. it is not possible to trigger this part of the code from curves sculpting), but in a future fix (for T101518), it would be good to use `BKE_paint_init` (and having the correct ob_mode for the brush would be nice). Differential Revision: https://developer.blender.org/D16286
2022-10-19Sculpt: Improve performance of face set creation from selectionHans Goudey
Skip BMesh conversion and read the selection attribute directly. With a Ryzen 3700x, my test face of a simple 4 million face grid became over 4000 times faster, from 2.6s to 0.6ms.
2022-10-19Cleanup: remove NDOF_BUTTON_NONE from the range of usable buttonsCampbell Barton
This is used to represent unknown state, so there is no need to be able to store it's pressed state.
2022-10-19Fix T101866: Incorrect buttons for space-mouse enterpriseCampbell Barton
Use key from spacenavd's wiki. Also add keys: ENTER, DELETE, TAB, SPACE & Views 1-3.
2022-10-19Cleanup: spelling in commentsCampbell Barton
2022-10-19License headers: add missing license identifiersCampbell Barton
2022-10-18Fix T101883: Issue applying modifier to mesh with shape keysHans Goudey
Caused by 21f2bacad977d3fd83d which misunderstood the logic handling shape keys in this function. The shape key on the original mesh in the main data-base should be cleared if the "no-main" mesh doesn't have any shape key layers and the vertex count has changed. The complexity is necessary because shape keys are stored differently on original and evaluated meshes. Also change to "Warn" because this is expected behavior in some cases, like when applying a geometry nodes modifier that creates a new mesh from scratch.
2022-10-18Merge branch 'master' into universal-scene-descriptionMichael Kowalski
2022-10-18Fix T101893: Auto merge affecting edge crease and bevel weightGermano Cavalcante
None of the special transformations in `special_aftertrans_update__mesh` are really applicable or useful for edge crease and bevel weight.
2022-10-18Fix T101660: crash when trying to propagate string attributes in some nodesJacques Lucke
String attributes are intentionally not fully supported in geometry nodes yet because more design work is necessary to decide how they should behave. For now just disable handling string attributes to avoid crashes.
2022-10-18Fix: Sample nearest surface node crash with empty meshHans Goudey
2022-10-18Cleanup: add missing CPPType for MStringPropertyJacques Lucke