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
2021-03-17Bugfix: properly rename Null audio device to NoneJörg Müller
2021-03-17Audaspace: add support for CoreAudio on macOSJörg Müller
This adds CoreAudio as audio backend on macOS. CoreAudio is the standard audio API on macOS. Ref T86590
2021-03-17Audaspace: add support for WASAPI on WindowsJörg Müller
This adds WASAPI as audio backend on Windows. WASAPI is the modern standard audio API on Windows introduced with Windows Vista. Ref T86590
2021-03-17Audaspace: add support for PulseAudio on LinuxJörg Müller
This adds PulseAudio as audio backend on Linux. PulseAudio is the main audio engine used on most, if not all, Linux distributions today. Ref T86590
2021-03-17Audaspace: porting minor improvements from upstreamJörg Müller
- NullDevice is now called None - Automatic choice of best available device. - Minor formatting, documentation and cmake fixes.
2021-03-17Fix issues with automatic proxy buildingRichard Antalik
After merging patches and resolving conflicts, typo prevented correct operation. This uncovered crash on NULL dereference as well.
2021-03-17Geometry Nodes: Add initial version of mesh primitivesHans Goudey
This commit includes nodes to build the following primitives: - Cone - Cylinder - Circle - Cube - UV Sphere - Ico Sphere - Line - Plane/Grid In general the inputs are the same as the corresponding operators in the 3D view. **Line Primitive** The line primitive has two modes-- adding vertices between two end points, or adding vertices each at an offset from the start point. For the former mode, there is a choice between a vertex count and a distance between each point. **Plane Primitive** This commit includes the "Plane" and "Grid" primitives as one node. Generally primitives are named after the simpler form of the shape they create (i.e. "Cone" can make some more complex shapes). Also, generally you want to tweak the number of subdivisions anyway, so defaulting to plane is not an inconvenience. And generally having fewer redundant base primitives is better. **Future Improvements** A following patch proposes to improve the speed of the cylinder, cone, and sphere primitives: D10730. Additional possible future improvements would be adding subdivisions to the cube node and rings to the cone and cylinder nodes. Differential Revision: https://developer.blender.org/D10715
2021-03-16Grease Pencil: Add LineArt modifierYimingWu
This adds the LineArt grease pencil modifier. It takes objects or collections as input and generates various grease pencil lines from these objects with the help of the active scene camera. For example it can generate contour lines, intersection lines and crease lines to name a few. This is really useful as artists can then use 3D meshes to automatically generate grease pencil lines for characters, enviroments or other visualization purposes. These lines can then be baked and edited as regular grease pencil lines. Reviewed By: Sebastian Parborg, Antonio Vazquez, Matias Mendiola Differential Revision: http://developer.blender.org/D8758
2021-03-16Geometry Nodes: Implicit conversion add int to colorCharlie Jolly
Add implicit `int32 to Color4f` conversion. Matches `int32 to float3` conversion logic. This may not be the most useful conversion but prevents an error in the Attribute Convert node. Reviewed By: JacquesLucke Differential Revision: https://developer.blender.org/D10686
2021-03-16Geometry Nodes: Implicit conversion change from distance to averageCharlie Jolly
Use average instead of distance when converting from float3/float2 to float. This matches behaviour of shader nodes. See: https://developer.blender.org/T86454 Reviewed By: JacquesLucke Differential Revision: https://developer.blender.org/D10684
2021-03-16VSE: Automatic proxy buildingRichard Antalik
Build proxies automatically when added to sequencer timeline and when switching preview size. This behavior can be disabled in user preferences. Reviewed By: sergey, fsiddi Differential Revision: https://developer.blender.org/D10363
2021-03-16FFmpeg: Improve proxy building performanceRichard Antalik
Use h264 codec for output. This codec produces smaller files, can be multithreaded and decodes even faster than MJPEG. Quality setting 0-100 corresponds to "Lowest Quality" to "Perceptually Lossless" in Blender's h264 encoding presets. All available cores are used for decoding. Same goes for decoding but only for codecs that supports this (h264, vp9 seems to support this option out of th box as well). Other decoders can probably be optimized in similar way, but threaded encoding provides significant boost already. I have tested variety of codecs, and all were transcoded properly. Reviewed By: sergey, fsiddi Differential Revision: https://developer.blender.org/D10731
2021-03-16VSE: Simplify proxy settingsRichard Antalik
- Remove Full Render size from VSE preview size. Use just 100% instead. - Add Use Proxies checkbox to control whether proxies are used globally - Move preview size to top so it is most prominent - Set default to 100% preview size and use proxies Reviewed By: sergey, fsiddi Differential Revision: https://developer.blender.org/D10362
2021-03-16Outliner: Refactor: Move overrides tree items to new CPP code.Bastien Montagne
Fairly straight forwards. Also fixes the bug from recent refactor that would not show overrides as a tree, but as a flat list directly under IDs.
2021-03-16LibOverride: Resync: Fix most remaining 'overrides in master collection' issues.Bastien Montagne
Problem is, when a collection is excluded from the scene, none of its objects are technically instantiated. This should not happen when *creating* an override, but can be fairly common during resync process. For now, use a lesser precise check in resync case, only relying on object usercount. This might lead to some objects being left without any collection in some rare weird case, but this cannot really be avoided currently.
2021-03-16LibOverride: Resync: Fix too many objects being rooted in master collection.Bastien Montagne
No need to instantiate systematically the root object if it is already instantiated in the scene... Issue reported by the studio.
2021-03-16LibOverride: tweak log messages, fix crash in log code.Bastien Montagne
One of the log call could use freed memory.
2021-03-16Python GPU: Improve the Python GPU API documentationGermano Cavalcante
This fixes some errors of continuity and consistency of formatting on https://docs.blender.org/api/current/gpu.html This also details the description of some parameters. Differential Revision: https://developer.blender.org/D10531
2021-03-16Fix T86612 EEVEE: Wrong AmbientOcclusion on refractive materialsClément Foucault
This is because the refractive materials were using the deferred AO computation instead of tracing their own.
2021-03-16Cleanup: NULL -> nullptr.Jeroen Bakker
2021-03-16Cleanup: replace std::map with blender::Map.Jeroen Bakker
2021-03-16Cleanup: Replace std::vector with blender::Vector.Jeroen Bakker
2021-03-16Cleanup: Modernize iterators.Jeroen Bakker
2021-03-16Cleanup: Modernize iter.Jeroen Bakker
2021-03-16Cleanup: Removed commented out code.Jeroen Bakker
2021-03-16Cleanup: Remove unimplemented declarations.Jeroen Bakker
2021-03-16Fix T86168: Add primitive Grid. Wrong number of subdivisionsPratik Borhade
Changes to increase subdivision by one along both axis (X and Y) For example with x_segment = 3 and y_segment = 3. There should be 16 vertices ((3 + 1) * (3 + 1)) for correct number of subdivisions. Currently they are 3 * 3 = 9 vertices. Ref D10699
2021-03-16Fix: Cryptomatte load corrupt manifests.Jeroen Bakker
Seems like one of the example files on the cryptomatte github is malformed and blender crashes when loading that file. This change will try to load as much as possible from the manifest so it can still be used. This has also been reported to cryptomatte project.
2021-03-16Fix: read cryptomatte manifests when images aren't loaded yet.Jeroen Bakker
A check was preventing the actual image to load and was therefore not parsed.
2021-03-16Fix T86561: Edit-mode crash with multiple objects sharing a meshCampbell Barton
Use a for loop that always begins with the active object, instead of moving the active object in the array, which failed when it's data already being handled. While the existing logic could have been fixed, it's simpler to change the loop order.
2021-03-16Compositor: Redesign Cryptomatte node for better usabilityJeroen Bakker
In the current implementation, cryptomatte passes are connected to the node and elements are picked by using the eyedropper tool on a special pick channel. This design has two disadvantages - both connecting all passes individually and always having to switch to the picker channel are tedious. With the new design, the user selects the RenderLayer or Image from which the Cryptomatte layers are directly loaded (the type of pass is determined by an enum). This allows the node to automatically detect all relevant passes. Then, when using the eyedropper tool, the operator looks up the selected coordinates from the picked Image, Node backdrop or Clip and reads the picked object directly from the Renderlayer/Image, therefore allowing to pick in any context (e.g. by clicking on the Combined pass in the Image Viewer). The sampled color is looked up in the metadata and the actual name is stored in the cryptomatte node. This also allows to remove a hash by just removing the name from the matte id. Technically there is some loss of flexibility because the Cryptomatte pass inputs can no longer be connected to other nodes, but since any compositing done on them is likely to break the Cryptomatte system anyways, this isn't really a concern in practise. In the future, this would also allow to automatically translate values to names by looking up the value in the associated metadata of the input, or to get a better visualization of overlapping areas in the Pick output since we could blend colors now that the output doesn't have to contain the exact value. Idea + Original patch: Lucas Stockner Reviewed By: Brecht van Lommel Differential Revision: https://developer.blender.org/D3959
2021-03-16Cleanup: use doxy sections for 'bpy.props' moduleCampbell Barton
2021-03-16Cleanup: use _fn suffix in bpy.propsCampbell Barton
2021-03-16Fix T86332: Error using lambda in annotations in Python 3.10Campbell Barton
Callbacks used in `bpy.props` didn't hold a references to the functions they used. While this has been the case since early 2.5x it didn't cause any problems as long as the class held a reference. With Python 3.10 or when using `from __future__ import annotations`, the annotations are no longer owned by the class once evaluated. Resolve this by holding a reference in the module, which now supports traverse & clear callbacks so the objects are visible to Python's garbage collector. Also refactor storage of Python data, moving from an array into a struct.
2021-03-15Geometry Nodes: Support drag & drop object to create Object Info, Collection ↵Charlie Jolly
Info and Sample Texture nodes See: {T86296} Reviewed By: JacquesLucke Differential Revision: https://developer.blender.org/D10648
2021-03-15Spreadsheet: show number of filtered rows only when necessaryJacques Lucke
2021-03-15Fix T86262: Tracking backwards fails after gap in trackSergey Sharybin
The issue was caused by a prediction algorithm detecting tracking the wrong way. Solved by passing tracking direction explicitly, so that prediction will always happen correctly regardless of the state of the Tracks context.
2021-03-15Tracking: Mention TODO about DNA to Libmv API conversionSergey Sharybin
Current code works, but is heavily relying on matched enum definition in the Blender's DNA and Libmv's API, which is suboptimal and fragile.
2021-03-15EEVEE: Contact Shadow: Fix self intersection issuesClément Foucault
This was cause by the change of some epsilon values for reflections. This commit changes the planar reflection tracing to have correct handling of parallel rays and discard any self intersection with normal screen raytrace.
2021-03-15Cleanup: EEVEE: Remove unused variableClément Foucault
2021-03-15Nodes: fix crash after undo after recent multi-input-socket changesJacques Lucke
The issue is that the `last_node_hovered_while_dragging_a_link` pointer is invalidated on undo. The pointer does not have to be on the space runtime data, because it only needs to exist as long as the operator is running. Differential Revision: https://developer.blender.org/D10726
2021-03-15Geometry Nodes: expose builtin crease attributeJacques Lucke
This exposes the `crease` attribute, that is used by the Subdivide Smooth node. It is also the first attribute on the edge domain. Domain interpolations for the edge domain have not been implemented yet. Ref T86397. Differential Revision: https://developer.blender.org/D10660
2021-03-15LibOverride: Add checks to address some degenerate blend file casesBastien Montagne
Attempt to work around some full-corruption cases created at the studio. Not clear how those were created, so not really fixing anything here, just detecting and 'solving' as best as possible some high corruption of local overrides. This is good to have in general anyway, might help prevent further corruption to happen too.
2021-03-15Comments: notes on sculpt/image undo looping logicCampbell Barton
2021-03-15Fix T86542: Crash going to UV editing workspace with an instancer thatPhilipp Oeser
is hidden from the viewport Check visibilty (as done in workbench_cache_populate) in overlay_edit_uv_cache_populate as well. Maniphest Tasks: T86542 Differential Revision: https://developer.blender.org/D10724
2021-03-15Fix macos compile errorJacques Lucke
`std::get` does not seem to be available. Using `std::get_if` might work instead. (Found the error on the buildbot.)
2021-03-15Spreadsheet: improve separation of drawing and data generationJacques Lucke
This is a refactor and no functional changes are expected. The goal is to make it simpler to add other data sources without having to repeat the drawing code everywhere. Also, having the `CellValue` class allows us to implement filtering and sorting in a more generic way.
2021-03-15Spreadsheet: support showing data from original/unevaluated objectJacques Lucke
There are two caveats of the current implementation which still need to be resolved in a separate step: * In theory the data on the original object can be editable in the spreadsheet. * If a complex object is in edit mode, and its original data is displayed, the drawing code can be slow, because the bmesh is converted to a mesh every time. The proper solution is to draw the data from the bmesh directly. This should become easier after an upcoming refactor. Ref T86141. Differential Revision: https://developer.blender.org/D10701
2021-03-15Spreadsheet: add status barJacques Lucke
This implements the status bar as footer region in the spreadsheet editor. It shows the total number of rows and columns as well as how many rows are actually visible (based on the filter). The implementation stores the stats in a runtime struct during drawing and the status bar reads from that struct. Ref T86142. Differential Revision: https://developer.blender.org/D10693
2021-03-15Fix T86370: Select color for glow is invertedFalk David
The shader was filtering everything but the selected color. The fix inverts the check to make sure that color is selected. Reviewed By: fclem Maniphest Tasks: T86370 Differential Revision: https://developer.blender.org/D10670