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
path: root/source
AgeCommit message (Collapse)Author
2022-10-24Cleanup: quiet parentheses warningCampbell Barton
2022-10-24GPencil: Use indexed rendering instead of instancesClément Foucault
This allows using instancing in other ways, like resources indexing.
2022-10-24GPencil: Port draw_cache_impl_gpencil.cc to C++Clément Foucault
2022-10-24Transform: limit zero radius Shrink/Fatten to only 1 curve pointGermano Cavalcante
rBb70bbfadfece allowed scaling of zero-radius points, but as it behaves differently from other radius, it may not be suitable for multi-point transformation.
2022-10-23Fix large incremental snap values in uv editorGermano Cavalcante
Regression in rBa7aa0f1a0c24. The default values of `t->snap` have been changed.
2022-10-23Fix T101607: Changing Image source inadvertently clears file pathJesse Yurkovich
This could result in wrong behavior depending on the order in which the Image.filepath and Image.source fields are set from within Python for example. Caused by rB72ab6faf5d80
2022-10-23Fix T102000: Curve Shrink Fatten doesn't work for zero radiusGermano Cavalcante
Kind of intentional regression on rB2d1fe736fabd. But the solution now is (theoretically) better than adding a hard coded threshold. For cases with zero radius, the new radius is now the offset of the ratio projected onto the plane of the origin point.
2022-10-22Cleanup: clang-formatLukas Stockner
2022-10-22Fix T101329: EXR 'JPG Preview' doesn't use color space anymoreLukas Stockner
For the JPG preview, the only thing that was changed in the image format was the format itself. However, the colorspace code now also checks the bitdepth through BKE_image_format_is_byte, so the depth needs to be explicitly set to 8-bit for the JPG preview output.
2022-10-22Transform: remove unreachable codeGermano Cavalcante
The node grid snap only works with 2D coordinates, no transformation matrix and no Objects. Also rename `applyGridAbsolute` to `node_snap_grid_apply`.
2022-10-22Cleanup: move grid snap functions to files where they are usedGermano Cavalcante
2022-10-22Fix T101991: "Absolute Grid Snap" not workingGermano Cavalcante
Error introduced in rB1edebb794b76. In that commit it was kind of forgotten that the snap to grid is also used in 3D views. Also a refactoring and cleanup was applied to simplify the code.
2022-10-22Fix T101930: NLA Actions Stash remove doesn't work on overriden linked data.Bastien Montagne
Code adding stash track was clearing out track flags, instead of editing them as it should have... Note that there are a lot of other weaknesses in action stash code (like relying on the (translated!!!!!!) name of the track to know whether it's a stah or not).
2022-10-22Video rendering: FFMpeg AV1 codec encoding supportStephen Seo
Previously, the Blender video renderer did not have support for encoding video to AV1 (not to be confused with the container AVI). The proposed solution is to leverage the existing FFMpeg renderer to encode to AV1. Note that avcodec_find_encoder(AV_CODEC_ID_AV1) usually returns "libaom-av1" which is the "reference implementation" for AV1 encoding (the default for FFMpeg, and is slow). "libsvtav1" is faster and preferred so there is extra handling when fetching the AV1 codec for encoding such that "libsvtav1" is used when possible. This commit should only affect the options available for video rendering, which includes the additional AV1 codec to choose from, and setting "-crf". Also note that the current release of FFMpeg for ArchLinux does not support "-crf" for "libsvtav1", but the equivalent option "-qp" is supported and used as a fallback when "libsvtav1" is used (as mentioned here: https://trac.ffmpeg.org/wiki/Encode/AV1#SVT-AV1 ). (Actually, both "-crf" and "-qp" is specified with the same value in the code. When a release of FFMpeg obtains support for "-crf" for "libsvtav1" is released, the code shouldn't be needed to change.) The usage of the AV1 codec should be very similar to the usage of the H264 codec, but is limited to the "mp4" and "mkv" containers. This patch pertains to the "VFX & Video" module, as its main purpose is to supplement the Video Sequencer tool with the additional AV1 codec for encoded video output. Differential Revision: https://developer.blender.org/D14920 Reviewed By: sergey , ISS, zeddb
2022-10-22Fix T101969: Crash when using large texture with nonstandard colorspaceLukas Stockner
When the image colorspace is not data, linear or sRGB, the image will be converted to float (and colorspace-converted) during loading. However, if it also needs to be rescaled (due to exceeding the GPU texture size limit), the resizing assumed that it's still a byte texture.
2022-10-21GPU: remove unused member from FrameBufferGermano Cavalcante
Accidentally added in rB2510bd3a5f35d14f5e0e098c79a776916d273223
2022-10-21GPU: Don't exit after first GPUBackend.Jeroen Bakker
2022-10-21GPU: Add gpu.platform.backend_type_get function.Jeroen Bakker
Function returns the active GPU backend type.
2022-10-21GPU: Fix Metal GLSL compilation errors due to recent changes.Jeroen Bakker
vec.st is legacy OpenGL and should not be used.
2022-10-21Fix T101964: Edge and face snapping no locking to axisGermano Cavalcante
In rBed6c8d82b804 it was wrongly assumed that the constraint functions always apply the transformations. But that is not the case for when axes are aligned. The `mul_m3_v3(t->con.pmtx, out)` fallback is still required.
2022-10-21Fix: Bokeh blur node flips its bokeh inputOmar Emara
The bokeh blur node flipped its bokeh input due to the conceptual difference between the search window space and the weights texture space. This patches fixes that by inverting the weights texture to match the search window. The variable size option actually flips the bokeh input for the CPU compositor. It is unclear if this is expected, so we deviate from that behavior for now.
2022-10-21EEVEE: Fix ill defined blend in cubemap array workaroundClément Foucault
This fixes some firefly issues on corners of the cubemaps where the blending factors would go above 1 or below 0.
2022-10-21Fix T66713: Walk mode doesn't take scene unit scale into accountCampbell Barton
When changing a scene's unit scale from 1 to something else, 0.1 for e.g. walk navigation no longer worked properly. Whenever gravity is enabled, and the user starts to fall or jump, the view-port glitched out into low earth orbit. Reviewed By: campbellbarton Ref D16277
2022-10-21Fix: USD & Alembic importers might not initialize material indicesHans Goudey
f1c0249f34c4171ec incorrectly assumed that the importer functions that assigned material indices set all of the values, but that isn't true for all files.
2022-10-20Buildfix for 078e034 missing includeJens Verwiebe
2022-10-20Fix T101215: Distribute Points in Volume node does not refresh on frame changeJacques Lucke
2022-10-20Fix memory leak when proxy building failsRichard Antalik
Leak introduced in recent fix - bf8d4a9bc6fb28.
2022-10-20Fix T101316: workbench texture mode not working with geometry nodesJacques Lucke
The `ED_object_get_active_image` is used from the renderer which deals with evaluated objects. This means the material api for evaluated objects has to be used.
2022-10-20Fix T101554: disable viewer node when corresponding modifier is disabledJacques Lucke
2022-10-20UI: Icon number indicator for data-blocksDalai Felinto
Adds the possibility of having a little number on top of icons. At the moment this is used for: * Outliner * Node Editor bread-crumb * Node Group node header For the outliner there is almost no functional change. It is mostly a refactor to handle the indicators as part of the icon shader instead of the outliner draw code. (note that this was already recently changed in a5d3b648e3e2). The difference is that now we use rounded border rectangle instead of circles, and we can go up to 999 elements. So for the outliner this shows the number of collapsed elements of a certain type (e.g., mesh objects inside a collapsed collection). For the node editors is being used to show the use count for the data-block. This is important for the node editor, so users know whether the node-group they are editing (or are about to edit) is used elsewhere. This is particularly important when the Node Options are hidden, which is the default for node groups appended from the asset libraries. --- Note: This can be easily enabled for ID templates which can then be part of T84669. It just need to call UI_but_icon_indicator_number_set in the function template_add_button_search_menu. --- Special thanks Clément Foucault for the help figuring out the shader, Julian Eisel for the help navigating the UI code, and Pablo Vazquez for the collaboration in this design solution. For images showing the result check the Differential Revision. Differential Revision: https://developer.blender.org/D16284
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-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.