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-07-06Various Exact Boolean parallelizations and optimizations.Erik Abrahamsson
From patch D11780 from Erik Abrahamsson. It parallelizes making the vertices, destruction of map entries, finding if the result is PWN, finding triangle adjacencies, and finding the ambient cell. The latter needs a parallel_reduce from tbb, so added one into BLI_task.hh so that if WITH_TBB is false, the code will still work. On Erik's 6-core machine, the elapsed time went from 17.5s to 11.8s (33% faster) on an intersection of two spheres with 3.1M faces. On Howard's 24-core machine, the elapsed time went from 18.7s to 10.8s for the same test.
2021-07-06Fix T89671: Crash when using Denoise node on Full Frame modeManuel Castilla
Tiled fallback doesn't support single element buffers. Ensure tiles are initialized as full buffers.
2021-07-06Compositor: Full frame Color Balance nodeManuel Castilla
Adds full frame implementation to this node operations. No functional changes. 1.3x faster than tiled fallback. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D11764
2021-07-06Compositor: Full frame Color Correction nodeManuel Castilla
Adds full frame implementation to this node operation. No functional changes. 1.4x faster than tiled fallback. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D11765
2021-07-06Compositor: Full frame Exposure nodeManuel Castilla
Adds full frame implementation to this node operation. No functional changes. 1.7x faster than tiled fallback. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D11766
2021-07-06Compositor: Full frame Gamma nodeManuel Castilla
Adds full frame implementation to this node operation. No functional changes. 1.5x faster than tiled fallback. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D11767
2021-07-06Compositor: Add base operation for updating buffer rowsManuel Castilla
Simplifies code for operations with correlated coordinates between inputs and output.
2021-07-05Cleanup: Use enum for UI block emboss typeHans Goudey
2021-07-05Replace Ghost integrals with stdint fixed width integers.Nicholas Rishel
Also replace integer with bool in Ghost API when only used as boolean, and uint8* with char* in Ghost API when variable is a string. Reviewed By: brecht Differential Revision: https://developer.blender.org/D11617 Signed-off-by: Nicholas Rishel <rishel.nick@gmail.com>
2021-07-05Geometry Nodes: Use same shape as mesh line in curve line nodeHans Goudey
The line starts at the origin and ends at (0,0,1m), just like the mesh node.
2021-07-05Geometry Nodes: Curve Primitive LineJohnny Matthews
This node creates a poly spline line in one of 2 modes: - Line between two points - Start Point, Direction, and Length Both modes create splines with only start and endpoints. A resample node can be used afterward to increase the point count. Differential Revision: https://developer.blender.org/D11769
2021-07-05Cleanup: Clang tidy, unused includeHans Goudey
Also a stupidly-included change I made when committing the patch.
2021-07-05Geometry Nodes: Add explicit Float to Int conversion nodeNikhil Shringarpurey
This patch adds a very simple node that explicitly converts a float to an int. While this may seem redundant, it would offer 2 benefits to the current requirement to use implicit float conversions: 1. It makes the node tree's intent more clear and self-documenting (especially if changes in the future require integer inputs). 2. It eliminates undefined behavior in current/future nodes from float inputs by guaranteeing that the input is an integer. The node offers a variety of rounding techniques to make it more flexible. Differential Revision: https://developer.blender.org/D11700
2021-07-05Fix (studio reported) missing object's parent handling in readfile expand code.Bastien Montagne
This would prevent loading a parent that would only be referenced by children during a linking operation. Looks like this missing bit of code has been there since the stone ages, it is fairly baffling to find that such critical low-levels mistakes can survive decades in a codebase... Note that such fully-indirectly linked parent object is not instantiated in scene currently, this is fairly bad I think, but kind of a different issue.
2021-07-05macOS: support Japanese input for text buttonsYuki Hashimoto
Blender did not support to input East Asian characters (Chinese, Japanese, Korean) on macOS. This patch adds support for Japanese input, by implementing the appropriate processing for the NSTextInputClient protocol. Technical notes: * The conversion candidate window is drawn by the input method program calling `firstRectForCharacterRange`. * The string before confirmation (called `composite` in blender) is handled in the `setMarkedText` method called by the input method program. * The string after confirmation (called `result` in the blender) is processed in the `insertText` method called by the input method program. Ref T51283 Differential Revision: https://developer.blender.org/D11695
2021-07-05Fix: macOS wrong IME candidate window position on first displayYuki Hashimoto
IME conversion candidate window was displayed at the mouse position, instead of below the cursor or text selection. Blender need to tell the input method program where the conversion candidate window is during Japanese and Chinese input. In macOS, the `firstRectforCharacterRange` is called when input by the input method starts, and the position of the conversion candidate window is specified. Therefore, it is necessary to set the position of the conversion candidate window before input starts. This patch changes it so that the position of the conversion candidate window is always set when the cursor is drawn. Differential Revision: https://developer.blender.org/D11697
2021-07-05Cleanup: Rename ambiguous "params" variable in File Browser notifier listenersJulian Eisel
File Browser code uses the term "params" for its file selection parameters a lot. Avoid confusion/ambiguity by calling the notifier listener parameters "listener_params".
2021-07-05Assets: Disable file renaming operator for Asset BrowsersJulian Eisel
This operator only works with renaming files, not assets.
2021-07-05Fix performance regression in Exact boolean due to exact triangulation.Howard Trickey
Went back to using Blender's polyfill for triangulation, which is much faster (time for a 3.1M face boolean went from 103s to 48s). Had to put in detection for the case that needs the exact triangulator (bug T86805), and also a fix for non-convex quads (bug T89330).
2021-07-05EditMesh: extract restore logic out of EDBM_redo_state_freeCampbell Barton
Split mesh restore logic into a new function: `EDBM_redo_state_restore_and_free`.
2021-07-05LineArt: Fix occlusion effectiveness for culled triangles.YimingWu
2021-07-05Fix: IME conversion candidate window not correctly placed on macOSYuki Hashimoto
Blender needs to tell the input method program where the conversion candidate window is during Japanese and Chinese input. In macOS, there are displays where the window size and the native pixel size are different, so the candidate window may appear in an unnatural position. This patch converts the cursor position x and y for matching macOS window coordinate. On Windows, GHOST_GetNativePixelSize returns 1, so it has no effect. Differential Revision: https://developer.blender.org/D11696
2021-07-05Fix: IME input displays text after cursor before cursorYuki Hashimoto
When inserting text using IME on a button, the character after the cursor is displayed before the cursor. This bug seems to have occurred during the refactoring in D765. Differential Revision: https://developer.blender.org/D11072
2021-07-05Cleanup: spelling, punctuationCampbell Barton
2021-07-05Cleanup: move repeated assignment out of nested for loopCampbell Barton
2021-07-05Cleanup: use const argumentsCampbell Barton
2021-07-05Cleanup: use 'use_' prefix for RNA booleansCampbell Barton
2021-07-05Cleanup: remove unnecessary bmesh operator commentsCampbell Barton
2021-07-05GPencil: Fix memory leak in trim and split functions.YimingWu
`dvert->dw` from old strokes are not freed properly, fixed.
2021-07-05Cleanup: Move common File Browser renaming code into functionsJulian Eisel
Code would manually do the same things in a couple of places, obvious case of unnecessary code duplication.
2021-07-05Functions: add utility to create string from value of generic typeJacques Lucke
2021-07-05BLI: wrap more features off tbb::enumerable_thread_specificJacques Lucke
* Make the wrapper enumerable. * Support an initializer function.
2021-07-05BLI: add conversion constructor for destruct_ptrJacques Lucke
This allows converting between different `destruct_ptr` types (which is just a `std::unique_ptr` with a custom deleter). The most common use case is to convert from a derived type to the type of the base class.
2021-07-05Cleanup: clang-tidyCampbell Barton
2021-07-05Cleanup: remove outdated commentCampbell Barton
2021-07-05Fix early return in reverse-color where continue was intendedCampbell Barton
2021-07-05Geometry Nodes: new Viewer nodeJacques Lucke
This adds a viewer node similar to the one in the compositor. The icon in the headers of nodes is removed because it served the same purpose and is not necessary anymore. Node outputs can be connected to the active viewer using ctrl+shift+LMB, just like in the compositor. Right now this collides with the shortcut used in the node wrangler addon, which will be changed separately. As of now, the viewed geometry is only visible in the spreadsheet. Viewport visualization will be added separately. There are a couple of benefits of using a viewer node compared to the old approach with the icon in the node header: * Better support for nodes that have more than one geometry output. * It's more consistent with the compositor. * If attributes become decoupled from geometry in the future, the viewer can have a separate input for the attribute to visualize. * The viewer node could potentially have visualization settings. * Allows to keep "visualization points" around by having multiple viewer nodes. * Less visual clutter in node headers. Differential Revision: https://developer.blender.org/D11470
2021-07-05BMesh: remove redundant mesh-backups from EDBM_op_* APICampbell Barton
Using BMesh operators through the edit-mesh API created a full copy of the mesh so it was possible to restore the mesh in case one of the operators raised an error. Remove support for automatic backup/restore from the EDBM_op_* API's as it adds significant overhead and was rarely used. Operators that need this can use the BMBackup API to backup & restore the mesh in case of failure. Add warning levels to BMO_error_raise so operators can report problems without it being interpreted as a request to cancel the operation. For high-poly meshes creating and freeing a full copy is an expensive operation, removing this gives a speedup of ~1.77x for most operators except for "connect_verts" / "connect_vert_pair" which still uses this functionality.
2021-07-05BMesh: remove redundant copy-on-write taggingCampbell Barton
The evaluated meshes no longer store a copy of the edit-mesh so tagging when a BMesh operator fails can be removed.
2021-07-05BMesh: dissolve faces no longer fails when some faces can't dissolveCampbell Barton
Previously, any face groups that could not be merged into a face caused the entire operation to report an error and do nothing. Now these cases are skipped over, dissolving faces where possible.
2021-07-05Cleanup: minor improvements to BMesh dissolve facesCampbell Barton
- Only create arrays with groups of two or more faces. - Remove raising exception for zero length arrays. - Remove redundant exception check (assert there is no exception). - Use a struct for face array & it's length instead of a NULL terminated array (removes the need to count faces in a loop).
2021-07-05Cleanup: update comment formattingCampbell Barton
- Replace '[mce]' with "Mike Erwin". - Remove references to turn-table author as it isn't useful information, the author was credited in the commit message.
2021-07-05Cleanup: remove unused definesCampbell Barton
2021-07-05Cleanup: spelling in commentsCampbell Barton
2021-07-03GPencil: Add weight factor to Offset randomizeAntonio Vazquez
Now, The weight is used in the randomize parameters of the offset modifier. This is useful to generate effects like explosions. Related to the new Vertex Weight modifiers.
2021-07-03Cleanup: consistent use of tags: NOTE/TODO/FIXME/XXXCampbell Barton
Also use doxy style function reference `#` prefix chars when referencing identifiers.
2021-07-03GPencil: Fix unreported PDF export offsetAntonio Vazquez
When exporting a PDF, the image was displaced towards top right a few pixels. Also removed is_orthographic variable because is not needed now.
2021-07-03Cleanup: Use simpler method to retrieve attribute domainHans Goudey
2021-07-02Cleanup: Remove unused transform matrix from objectsHans Goudey
This was the only reference to this matrix. https://developer.blender.org/D11770
2021-07-02Geometry Nodes: Add mesh input warning to curve to mesh nodeHans Goudey
A point of confusion about this node is that it doesn't work on the output of the mesh circle primitive node. This patch adds a warning to help with that. This avoids adding a warning when the geometry set input has no mesh. Differential Revision: https://developer.blender.org/D11771