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-07-06Cleanup: pep8Campbell Barton
2021-07-06Cleanup: quiet discarded-qualifiers warningCampbell Barton
2021-07-06Fix macOS builds after removing Ghost integral types.Nicholas Rishel
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 Chinese and Korean input for text buttonsYuki Hashimoto
This patch extends D11695 to provide full support for Chinese and Korean input on macOS. Chinese input notes: You can input symbolic characters (such as '! , '$') during Chinese input. The difference from Japanese input is that multiple `insertText` may be called with a single key down (`keyDown` method). This happens when you input a symbolic character (such as '! , '$') during conversion. The conversion is confirmed (`insertText`) and the symbolic character is entered (`insertText`). To solve this problem, I have `result_text` to concatenate the strings and store them in `result`. Korean input notes: Korean does not display a conversion suggestion window. Like Chinese, Korean input may call multiple `insertText` methods. Also, in Korean, the previous confirmation (`setMarkedText` and `insertText`) and the next conversion is processed (`setMarkedText`) may be called simultaneously with a single key down (`keyDown` method). For example: 1. press g ㅎ (`setMarkedText`) 2. press k 하 (`setMarkedText`) 3. press t 앗 (`setMarkedText`) 4. press k 하세 (`setMarkedText`, `insertText`, `setMarkedText`) Fixed so that the `insertText` and the last `setMarkedText` are processed. Also, if a control character (such as Arrow, Enter) is input during Korean input, the conversion will be confirmed (`setMarkedText`, `insertText`) and the original control character will be processed. In other words, if you press the left arrow key while typing in Korean, the cursor will move to the left after the character is confirmed. Therefore, I modified the `keyDown` method so that the `handleKeyEvent` is called again after the `insertText` is processed in the `interpretKeyEvents` method. Differential Revision: https://developer.blender.org/D11699
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-05Fix T89655: tweak Cycles transparent bounces UI for clarityBrecht Van Lommel
Transparent bounces are independent of other bounces, so don't group them together.
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-05Cleanup: replace NSTextInput with NSTextInputClientYuki Hashimoto
This revision replaces the deprecated protocol NSTextInput with NSTextInputClient in Cocoa Text View. No functional changes. For more information of the methods, please see: https://developer.apple.com/documentation/appkit/nstextinputclient Differential Revision: https://developer.blender.org/D11407
2021-07-05Cleanup: use arrayWithObject to reduce the codeYuki Hashimoto
Similar code is found in Apple's code samples. Differential Revision: https://developer.blender.org/D11434
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-05Tests: performance testing frameworkBrecht Van Lommel
These are scripts for benchmarking Blender features on real-world .blend files. They were originally written for benchmarking Cycles performance, and were made generic so they can be used for more Blender features. The benchmarks can be run locally by developers. But the plan is to also run these as part of continuous integration to track performance over time. Currently there are tests for Cycles rendering and .blend file loading. Documentation: https://wiki.blender.org/wiki/Tools/Tests/Performance Main features: * User created configurations to quickly run, re-run and analyze a selected subset of tests. * Supports both benchmarking with existing builds, and automatic building of specified git commits, tags and branches. * Generate HTML page with bar and line graphs from test results. * Controlled using simple command line tool. * For writing tests, convenient abstraction to run a Python function in Blender with arguments and return value. Ref T74730 Differential Revision: https://developer.blender.org/D11662
2021-07-05Fix T89523: Cycles OpenCL compile error after shadow terminator changesBrecht Van Lommel
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: unused variableJacques Lucke