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-12-13Cleanup: use "filepath" term for Main, BlendFileData & FileGlobalCampbell Barton
Use "filepath" which is the current convention for naming full paths. - Main use "name" which isn't obviously a file path. - BlendFileData & FileGlobal used "filename" which is often used for the name component of a path (without the directory).
2021-12-13Cleanup: remove checks for invalid input for Python Run utilitiesCampbell Barton
These arguments must be non-null for useful functionality, there is no need for paranoid checks. The return value in case of invalid input for BPY_run_string_as_number was also wrong (casting -1 to a bool, when false was expected).
2021-12-13Cleanup: Point cloud vs point-cloud in commentsHans Goudey
Point cloud is two separate words, this just changes comments in a few places where we were inconsistent. A small wording change to another comment is also included.
2021-12-13Cleanup: Remove includes in node_util.h headerHans Goudey
This ends up including the removed headers in many unnecessary places. Also, remove unnecessary extern from function definitions.
2021-12-13Docs: document all Global (G) struct membersCampbell Barton
2021-12-13Docs: improve on doc-strings for BPY_extern_run.hCampbell Barton
Also add ATTR_NONNULL function attributes.
2021-12-13Cleanup/docs: Add comment to spline lookup factor methodHans Goudey
2021-12-12Geometry Nodes: improve memory reuse in procedure executorJacques Lucke
This reduces the number of separate memory allocations done by the multi-function procedure executor (which is used by the field evaluation). Now a linear memory allocator is used to allocate all intermediate values. Furthermore, more buffers are reused when possible. This reduces the total amount of allocated memory and improves cache efficiency because the values are more likely to be in cache already. The performance improvement of this patch are most noticable when few elements are processed by many functions. The situation will improve even more with D13548, because then buffers can actually be reused in practice. I measured up to 20% faster field evaluation in extreme cases with this change.
2021-12-12Cleanup: use struct instead of classJacques Lucke
Using `class` and `struct` for the same type can cause issues on windows.
2021-12-12UI: Add curve handle buttons to CurveMap interfaceCharlie Jolly
This patch exposes the vector handle options as buttons and aligns the UI between CurveMap and CurveProfile more closely. - CurveMap point editing is on a single row like CurveProfile - Tools menu is moved to the right hand side on both widgets - Emboss curve map buttons Reviewed By: HooglyBoogly Differential Revision: https://developer.blender.org/D10980
2021-12-11macOS: add tilde-based path expanderAnkit Meel
Replaces `HOME` environment variable usage for user directories like in D12802. Reviewed By: #platform_macos, brecht Differential Revision: https://developer.blender.org/D13212
2021-12-11Cleanup: Use const argumentsHans Goudey
Also remove unnecessary function to set a node type's label function that duplicated its definition, and make another function static.
2021-12-11Geometry Nodes: remove accidental exponential time algorithmJacques Lucke
Calling `foreach_field_input` on a highly nested field (we do that often) has an exponential running time in the number of nodes. That is because the same node may be visited many times. This made Blender freeze on some setups that should work just fine. Now every field keeps track of its inputs all the time. That replaces the exponential algorithm with constant time access.
2021-12-11Fix compilation error on Windows platform.Jeroen Bakker
2021-12-11Cleanup: Return early for null checkHans Goudey
2021-12-10Cleanup: Use const argument, rename variablesHans Goudey
The const argument makes sense because these are the "source" sockets, even though a const cast is necessary at one point. The name "interface_socket" is an improvement over "stemp" because the latter sounds like "temporary", or it confuses the old socket template system with a node group's interface.
2021-12-10Cleanup: Remove unnecessary runtime rectangle from nodes in DNAHans Goudey
I assume this `butr` rectangle was used more in the past, but currently its value is set and used less than 10 lines apart, so it's trivial to remove 16 bytes from every node. The other rectangles are also runtime data and could be removed, but they are more difficult.
2021-12-10Revert recent changes to ImBuf transformHans Goudey
This reverts commit 943aed0de35621e328 and f76e04bf4d7cdce8 The latter caused a test failure: `sequencer_render_transform` Reverting since the fix is not obvious (to me), and people are away for the weekend.
2021-12-10Cleanup/Docs: Add comments to Mesh header, rearrange fieldsHans Goudey
Most of the fields in Mesh had no comments, or outdated misleading comments. For example, "BMESH ONLY" referred to the BMesh project, not the data structure. Given how much these structs are used, it should save a lot of time to have proper comments. I also rearranged the fields in mesh to have a more logical order. Now the most important fields come first. In the process I was able to remove 19 bytes of unnecessary padding (31->12). I just had to change a `short` flag to `char`. Differential Revision: https://developer.blender.org/D13454
2021-12-10Fix T93591: Random Value node first and last value proportionMoritz Röhrich
This patch replaces `round_fl_to_int` with `floor` and adjusts the maximum value accordingly. The call to `round_fl_to_int` is problematic here because it messes with the probability distribution at the edges of the value range, meaning the first and last values were only half as common as all other values. Since `round_fl_to_int` does `floor(val + 0.5)`, it will not introduce misbehavior in edge cases. Differential Revision: https://developer.blender.org/D13474
2021-12-10ImBuf: Extracted UV Wrapping from the Interpolation functions.Jeroen Bakker
Improvement of the IMB_transform function by separating the UVWrapping method from the color interpolation function. This would allow us to perform uv wrapping operations separate from the interpolation function. Currently this wrapping is only supported when interpolating colors. This change would allow us to perform it on non-color image buffers.
2021-12-10Added support for large images to openexr.Jeroen Bakker
2021-12-10ImBuf: Use templating for IMB_transform.Jeroen Bakker
Reduce the inner loop of IMB_transform by extracting writing to an output buffer in a template. This reduces a branch in the inner loop and would allow different number of channels in the future.
2021-12-10Fix crash using 32k images.Jeroen Bakker
Use IMB_get_rect_len to solve overflow issues.
2021-12-10Cleanup: move public doc-strings into headers for various API'sCampbell Barton
Some doc-strings were skipped because of blank-lines between the doc-string and the symbol and needed to be moved manually. - Added space below non doc-string comments to make it clear these aren't comments for the symbols directly below them. - Use doxy sections for some headers. Ref T92709
2021-12-10Cleanup: move public doc-strings into headers for 'python/intern'Campbell Barton
Ref T92709
2021-12-10Cleanup: move public doc-strings into headers for 'nodes'Campbell Barton
Ref T92709
2021-12-10Cleanup: spelling in commentsCampbell Barton
2021-12-10Cleanup: doxygen comments for node_geo_dual_meshCampbell Barton
- Indent text after dot-points. - Use an unparsed code-block to display the text verbatim in doxygen.
2021-12-10Fix Crash: Loading Huge Images.Jeroen Bakker
When loading huge images (30k) blender crashed with a buffer overflow. The reason is that determine the length of a buffer was done in 32bit precision and afterwards stored in 64 bit precision. This patch adds a new function to do the correct calculation in 64bit. It should be added to other sections in blender as well. But that should be tested on a per case situation.
2021-12-10Fix T92036: `Magic Texture` in Volumetric World Shaders render differently ↵William Leeson
with the CPU and GPU When rendering volume surfaces in unbounded worlds the volume stepping can produce large values. If used with a magic texture node the values can results in a Inf float which when used in a sin or cos produces a NaN. To fix this the input values are mapped into the periodic range of the sin and cos functions (-2*PI 2*PI) this stops the possibility of a Inf occurring and thus the NaN. It also improves the accuracy and smoothness of the result due to loss of precision when large values are summed with smaller ones effectively removing the parts of the smaller number (i.e. those in the -2PI to 2PI range) that result in variation of the output of sin and cos. Reviewed By: brecht Maniphest Tasks: T92036 Differential Revision: https://developer.blender.org/D12821
2021-12-10Cleanup: move public doc-strings into headers for 'depsgraph'Campbell Barton
- Added space below non doc-string comments to make it clear these aren't comments for the symbols directly below them. - Use doxy sections for some headers. Ref T92709
2021-12-10Geometry Nodes: Remove unnecessary copy when replacing dataHans Goudey
In the `replace_mesh`/`replace_curve` etc. methods, the component was retrieved with write access. Retrieving with write access will duplicate the data if the component has another user. This means that the replaced geometry data was often duplicated just to be deleted a moment later. I expect this would have a large impact in performance in some specific situations when dealing with large geometry. In a scene with many small meshes though, I didn't observe a significant difference. This also makes replacing a geometry set's data with the same data that's already in the set safe. It would be valid to assert for that case instead, but this seems safer. Differential Revision: https://developer.blender.org/D13530
2021-12-10Fix T93687: Transform Gpencil vertices not working if scale is zeroGermano Cavalcante
Solution similar to rBd5cefc1844cf. Basically the problem occurs because `td->smtx` was set to zero matrix.
2021-12-09Cleanup: Return early in null checkHans Goudey
I'm planning to make these functions slightly more complicated, and it makes sense to return early when checking one of the parameters for null anyway.
2021-12-09Geometry Nodes: Scene Time NodeJohnny Matthews
This node outputs the current scene time in seconds or in frames. Use of this node eliminates the need to use drivers to control values in the node tree that are driven by the scene time. Frame is a float value to provide for subframe rendering for motion blur. Differential Revision: https://developer.blender.org/D13455
2021-12-09Fix T93871: Image.has_data returns True for images that failed to loadBrecht Van Lommel
2021-12-09Fix T93892: Changing bone name leaves non-functional vertex groupPhilipp Oeser
The corresponding vertex group was renamed properly, but the armature influence was broken for that bone. Caused by {rB3b6ee8cee708}. Since above commit, vertex group names are stored on object data (mesh/ lattice/gpencil) and if we update these, we have to inform dependency graph to have immediate effect. Maniphest Tasks: T93892 Differential Revision: https://developer.blender.org/D13526
2021-12-09Fix T93691: Crash when loading custom thumbnail in custom libraryJulian Eisel
This was an issue with the mixed list of external assets and assets from the current file. When closing the File Browser to select the custom preview image, the assets from the current file would be cleared for reread, to make sure we display up-to-date file data. That is because the workspace of the temporary File Browser was deleted, causing a change in the file data (main data-base). The reread would happen in a background thread, meaning it might not finish before the custom preview operator runs and queries the active asset. So the preview operator would get the wrong active asset from context. Two fixes were needed: * Make sure current file data is reread before the operator runs, by doing this partial rereading on the main thread. * Ensure the asset list (in fact file list) order stays consistent over rereads. If multiple assets with the same name were shown, the operator might also have gotten the wrong asset, also leading to a crash. Additionally the file operation handler should probably poll before executing, to fail gracefully at least (not crash).
2021-12-09Fix (unreported): missing null checkJacques Lucke
A crash happened when `instance_id_attribute` further down in the function was null. This issue was probably introduced when the id attribute starting using generic attribute handling.
2021-12-09Cleanup: move public doc-strings into headers for 'io/usd'Campbell Barton
Ref T92709
2021-12-09Cleanup: move public doc-strings into headers for 'io/alembic'Campbell Barton
Ref T92709
2021-12-09Cleanup: Various cleanups to the tree-view APIJulian Eisel
* Correct URL for documentation (was changed recently). * Add comments. * Reevaluate and update which functions are public, protected or private. * Reorder functions and classes to be more logical and readable. * Add helper class for the public item API so individual functions it uses can be made protected/private (the helper class is a friend). Also allows splitting API implementation from the C-API. * Move internal layout builder helper class to the source file, out of the header. * More consistent naming. * Add alias for item-container, so it's more clear how it can be used. * Use const. * Remove unnecessary forward declaration.
2021-12-09Cleanup/Documentation: Add/move comments for asset filesJulian Eisel
Adds some basic high-level explanations for editor/UI level asset APIs. Also moves one such comment from the source file to the header file, so it's in the same file as other API comments.
2021-12-09Cleanup: move public doc-strings into headers for 'io/collada'Campbell Barton
Ref T92709
2021-12-09Cleanup: use doxy section for itasc_pluginCampbell Barton
It wasn't obvious all callbacks were part of the plugin-API.
2021-12-09Cleanup: move public doc-strings into headers for 'functions'Campbell Barton
Ref T92709
2021-12-09Fix T93519: handle prefix names in autocompletesAzeem Bande-Ali
Autocomplete entires keep track of the length of the prefix in `name_prefix_offset`. However, the name matching logic was comparing the string including the prefix which resulted in tab-completion not working (when the user didn't also type in the prefix, typically two whitespaces). This is fixed by passing in a char pointer after the end of the prefix. Additionally, some searchbox logic is moved. Previously, `ui_searchbox_apply` would clear the entry which would mean that `ui_searchbox_find_index` would never succeed. Now the search box is only cleared if no match was found. Differential Revision: https://developer.blender.org/D13483
2021-12-09Cleanup: move public doc-strings into headers for 'freestyle'Campbell Barton
Ref T92709
2021-12-09Cleanup: move public doc-strings into headers for 'nodes/geometry'Campbell Barton
Ref T92709