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
2022-09-01UI: Select regions of text and toggle its stylesoc-2022-text-usabilityYash Dabhade
1. Text can be selected along the mouse pointer by dragging the cursor . 2. After the selection we can toggle the style of the selected region. 3. Word can be selected using double click.
2022-08-18UI: Select regions of text and toggle its styleYash Dabhade
1)Text can be selected along the mouse pointer by dragging the cursor . 2) After the selection we can toggle the style of the selected region.
2022-08-17Initial CommitYash Dabhade
2022-06-20Cleanup: renaming and consistency for kernel dataBrecht Van Lommel
* Rename "texture" to "data array". This has not used textures for a long time, there are just global memory arrays now. (On old CUDA GPUs there was a cache for textures but not global memory, so we used to put all data in textures.) * For CUDA and HIP, put globals in KernelParams struct like other devices. * Drop __ prefix for data array names, no possibility for naming conflict now that these are in a struct.
2022-06-20Fix T98913: GPU Subdivision: "Show Wire" overlay glitchKévin Dietrich
Issue is caused by an off by one error which would map some edge loops to the loops of some the next polygon in the list of polygon, which may not be a topological neighbor.
2022-06-20Cleanup: Add description of more mask editing poll functionsSergey Sharybin
No functional changes.
2022-06-20Refactor: De-duplicate mask operator poll functionsSergey Sharybin
The poll function with same semantic was defined in both screen and mask space modules. The only reason for this seems to be that the image editor needed a mask poll function which was private to the mask module. Make the mask editing poll functions public, avoiding code duplication. Also, added a brief explanation about what the poll functions are checking for. No user-level changes are expected to happen.
2022-06-20Cleanup: avoid duplicate lookups when setting the cursorCampbell Barton
Also use `const char *` for cursor names as there isn't an advantage in using `std::string`.
2022-06-20Fix setting the custom cursor for Hi-DPI displays in WaylandCampbell Barton
Changing the cursor would intermittently close Blender's window (without crashing). This happened because the size of a cursor must be the a multiple of the scale, for themed cursor this is always true but with custom cursors it's not. Separate theme scale from custom cursor scale to avoid this bug. In the future we can support Hi-DPI custom cursors, for now they're scale is always set to 1.
2022-06-20GHOST/Wayland: refactor cursor handling & fix errors hiding the cursorCampbell Barton
- Support showing & hiding the cursor without setting the buffer, needed to switch between software and hardware cursor. - Track the state of the software/hardware cursor. This resolves glitches switching between cursors sometimes hiding the cursor.
2022-06-19STL: Fix missing space in C++ .stl importer info outputIyad Ahmed
Fixes C++ .stl importer info output having no space between the number and the word after it. Reviewed By: Aras Pranckevicius Differential Revision: https://developer.blender.org/D15240
2022-06-19Fix T98874: new obj importer missing an option to import vertex groupsAras Pranckevicius
The old Python OBJ importer had a (somewhat confusingly named) "Keep Vertex Order -> Poly Groups" option, that imported OBJ groups as "vertex groups" on the resulting mesh. All vertices of any face were assigned the vertex group, with a 1.0 weight. The new C++ importer did not have this option. It was trying to do something with vertex groups, but failing to actually achieve anything :) -- the vertex groups were created on the wrong object (later on overwritten by "nomain mesh to main mesh" operation); vertex weights were set to 1.0/vertex_count, and each vertex was only set to be in one group, even when it belongs to multiple faces from different groups. End result was that to the user, vertex groups were not visible/present at all (see T98874). This patch adds the import option (named "Vertex Groups"), which is off by default, and fixes the import code logic to actually do the right thing. Tested on file from T98874; vertex groups are imported just like with the Python importer. Reviewed By: Howard Trickey Differential Revision: https://developer.blender.org/D15200
2022-06-19Fix T97820: new OBJ importer wrongly producing "sharp" edges in some casesAras Pranckevicius
The new OBJ importer is producing "sharp" edges on some meshes that should be completely smooth. Only observed on UV-Sphere type meshes so far (see T97820). I'm not 100% sure what is the root cause, but my theory was that maybe due to limited number of float digits that are printed for vertex normals in the file, the normals that are read in are not always exactly 1.0 length. And then the Blender's "set custom loop normals" function (which expects normalized inputs) wrongly marks some edges as sharp. Adding explicit normalization for the normals that are read from the file fixes the wrongly-sharp edges in test cases from T97820. I have not observed measurable performance impact in importing large models (e.g. 6-level subdivided Monkey) that contain vertex normals. Reviewed By: Howard Trickey Differential Revision: https://developer.blender.org/D15202
2022-06-19BLI: avoid unnecessary allocation when converting virtual arrayJacques Lucke
2022-06-19Functions: speedup multi-function procedure executorJacques Lucke
This improves performance of the procedure executor on secondary metrics (i.e. not for the main use case when many elements are processed together, but for the use case when a single element is processed at a time). In my benchmark I'm measuring a 50-60% improvement: * Procedure with a single function (executed many times): `5.8s -> 2.7s`. * Procedure with 1000 functions (executed many times): `2.4 -> 1.0s`. The speedup is mainly achieved in multiple ways: * Store an `Array` of variable states, instead of a map. The array is indexed with indices stored in each variable. This also avoids separately allocating variable states. * Move less data around in the scheduler and use a `Stack` instead of `Map`. `Map` was used before because it allows for some optimizations that might be more important in the future, but they don't matter right now (e.g. joining execution paths that diverged earlier). * Avoid memory allocations by giving the `LinearAllocator` some memory from the stack.
2022-06-19Update RNA Manual ReferencesAaron Carlisle
2022-06-18Constraints: handle the custom target at the constraint level.Alexander Gavrilov
Since the custom target is a feature implemented at constraint level, it is more appropriate to handle it in the common wrapper functions, instead of modifying all the type specific callbacks like get_constraint_targets and flush_constraint_targets. Also, tag the special target with a flag so other code can handle it appropriately where necessary. This was split from D9732, and effectively reverts and refactors part of D7437. This patch should cause no functional changes. Differential Revision: https://developer.blender.org/D15168
2022-06-18Geometry Nodes: speedup Separate XYZ nodeJacques Lucke
This speeds up the node ~20% in common cases, e.g. when only the X axis is used. The main optimization comes from not writing to memory that's not used afterwards anymore anyway. The "optimal code" for just extracting the x axis in a separate loop was not faster for me. That indicates that the node is bottlenecked by memory bandwidth, which seems reasonable.
2022-06-18GHOST/Wayland: implement getAllDisplayDimensionsCampbell Barton
2022-06-18Fix initial window size being scaled down for Hi-DPI displays in WaylandCampbell Barton
getMainDisplayDimensions return values were scaled by the UI-scale, instead of returning pixel values. Also correct an error accessing the rotated monitor size, which happened to be harmless as the value isn't used at the moment.
2022-06-18Cleanup: Remove unused argument, unnecessary struct keywordHans Goudey
2022-06-18Fix: curves have incorrect resolution attribute after realizing instancesJacques Lucke
If the resolution attribute existed on some curves, but not on others, it was initialized to zero by default. However, zero is not a valid resolution.
2022-06-18Cleanup: Always store attribute name in attribute requestHans Goudey
Previously the attribute name was only stored in the request for curves. Instead, pass it as part of the "add request" function, so that it is always used. Since the whole attribute pipeline is name-based, this can simplify code in a few places.
2022-06-18Cleanup: Remove unnecessary switch statementHans Goudey
The types are retrieved by the attribute matching above anyway, there is no reason to have another switch based on the type.
2022-06-18GHOST/Wayland: support displaying custom software cursorsCampbell Barton
Add a method to access the custom cursor from GHOST which is used for drawing a software cursor. This means the knife tools cursor now work as expected. Although non-custom cursors are still not supported.
2022-06-18Fix crash in wayland when closing a windowCampbell Barton
The focus_pointer only pointer was only cleared when the window existed, which caused a dangling focus_pointer when closing a window.
2022-06-18Fix T98793: Wayland clamps cursor movement fails with gnome-shellCampbell Barton
The current gnome-shell (v42.2) has a bug where grabbing the cursor doesn't scale the region when confining it to the window. For Hi-DPI displays this means the cursor may be confined to a quarter of the window, making grab unusable. Even though this has been fixed up-stream the issue remains in the latest release - so workaround the problem by implementing window confined grab using a software cursor. This is only used gnome-shell for displays that use Hi-DPI scaling.
2022-06-18GHOST: add GHOST_Rect.clampPoint methodCampbell Barton
Method for clamping a point inside a rectangle.
2022-06-17Cleanup: Compiler Warning of Sign Conversion #2Ray Molenkamp
Second attempt to silence sign-conversion warning on Linux, introduced in rB524a9e3db810. Confirmed fix on buildbot.
2022-06-17Cleanup: Compiler Warning of Sign ConversionHarley Acheson
rB524a9e3db810 introduced sign-conversion warning on Linux. Own Code
2022-06-17USD: speed up large USD imports by not rebuilding material name map for each ↵Aras Pranckevicius
object Previous code was rebuilding "name to material" map for each object being imported. Which means O(N*M) complexity (N=object count, M=material count). There was already a TODO comment suggesting that a single map that's maintained for the whole import would be enough. This commit does exactly that. While importing Moana USD scene (260k objects, 18k materials) this saves about 6 minutes of import time. Reviewed By: Bastien Montagne Differential Revision: https://developer.blender.org/D15222
2022-06-17IO: speed up large Alembic & USD imports by doing fewer collection syncsAras Pranckevicius
Previous code was doing N collection syncs when importing N objects (essentially quadratic complexity in terms of object count). New code avoids all the intermediate syncs by using BKE_layer_collection_resync_forbid and BKE_layer_collection_resync_allow, and then does one BKE_main_collection_sync + BKE_main_collection_sync_remap for the whole operation. The things done on the importer objects that are dependent on the sync happening (marking them selected) are done in a separate loop after the sync. Timings: importing Moana USD scene (480k objects) on Windows, VS2022 Release build, AMD Ryzen 5950X: 12344sec -> 10979sec (saves 22 minutes). Reviewed By: Bastien Montagne Differential Revision: https://developer.blender.org/D15215
2022-06-17Fix T93446: search box active result does not reset when typingPatrick Huang
Whenever the user edits the query in a search box, the active (highlighted) result resets to the first. Previously, it would remain at the last highlighted result, jumping around as the results update. This is better than the previous behavior. If a user highlights a choice either on purpose or by accidental mouse movement and continues to type, it is likely that they are not looking for the currently highlighted choice, so setting it to the top search result is more useful. Differential Revision: https://developer.blender.org/D15211
2022-06-17Draco: update to version 1.5.2Jim Eckerlein
Differential Revision: https://developer.blender.org/D15233
2022-06-17BLF: Fallback Font StackHarley Acheson
Allow use of multiple fonts acting together like a fallback stack, where if a glyph is not found in one it can be retrieved from another. See D12622 for much more detail Differential Revision: https://developer.blender.org/D12622 Reviewed by Brecht Van Lommel
2022-06-17Cleanup: compiler warningsBrecht Van Lommel
2022-06-17Revert "TEST COMMIT: API doc generation changes."Bastien Montagne
This reverts commit d86af604290be0507db113dc8c82540bb30d4fd3.
2022-06-17deps: fix llvm using system pythonRay Molenkamp
llvm was using system python, rather than our copy this went unnoticed on both linux and windows until sergey tried to build the deps on a clean system with no system python installed.
2022-06-17TEST COMMIT: API doc generation changes.Bastien Montagne
This commit is intended to be reverted within a few minutes. commit 50adc860a652508570dbc7102ef288049a9ffed4 Author: Bastien Montagne <bastien@blender.org> Date: Wed Jun 15 15:43:13 2022 +0200 Py API Doc: add runtime changelog generation to `sphinx_doc_gen.py`. Optionally use `sphinx_changelog_gen.py` to dump current version of the API in a JSON file, and use closest previous one listed in given index file to create a changelog RST page for Sphinx. commit 88fc683e78f866f1b3cda379c3b90e1f2916ce00 Author: Bastien Montagne <bastien@blender.org> Date: Wed Jun 15 15:36:19 2022 +0200 Py API Doc: refactor changelog generation script. Main change is to make it use JSON format for its dump files, instead of some Python code. It also introduces an index for those API dump files, mapping a blender version to the relevant file path. This is then used to automatically the most recent (version-number wise) previous API dump to compare against current one, when generating the change log RST file.
2022-06-17Revert "TEST COMMIT: API doc generation changes."Bastien Montagne
This reverts commit 52b93c423dc0db774dbcfb656702ecc01f8d6818.
2022-06-17Cleanup: deduplicate generating transform matrices in curves brushesJacques Lucke
2022-06-17Cleanup: simplify Add Curves brushJacques Lucke
2022-06-17TEST COMMIT: API doc generation changes.Bastien Montagne
This commit is intended to be reverted within a few minutes. commit 9442d8ef0f255d3c18b610b42aff71229904aaee Author: Bastien Montagne <bastien@blender.org> Date: Wed Jun 15 15:43:13 2022 +0200 Py API Doc: add runtime changelog generation to `sphinx_doc_gen.py`. Optionally use `sphinx_changelog_gen.py` to dump current version of the API in a JSON file, and use closest previous one listed in given index file to create a changelog RST page for Sphinx. commit f7fb537078641d2e2de015c08554f5281ce9debd Author: Bastien Montagne <bastien@blender.org> Date: Wed Jun 15 15:36:19 2022 +0200 Py API Doc: refactor changelog generation script. Main change is to make it use JSON format for its dump files, instead of some Python code. It also introduces an index for those API dump files, mapping a blender version to the relevant file path. This is then used to automatically the most recent (version-number wise) previous API dump to compare against current one, when generating the change log RST file.
2022-06-17Revert "TEST COMMIT: API doc generation changes."Bastien Montagne
This reverts commit 510f3fe9a977798d44e81add078944745c1585bf.
2022-06-17Curves: refactor Add brushJacques Lucke
This splits out the code that samples points on a surface and the code that initializes new curves. This code will be reused by D15134. Differential Revision: https://developer.blender.org/D15216
2022-06-17Cleanup: Simplify syntax in curves draw cache fileHans Goudey
Also remove some unnecessary logic and change a variable name.
2022-06-17LibOverride: Handle dependencies in both directions in partial override cases.Bastien Montagne
When creating etc. a liboverride based on a partial hierarchy pre-selection (e.g: override hierarchy on the rig object of a character), now all linked data also using that rig (e.g. all meshes deformed by that armature) will also automatically be overridden. This si achieved by following dependencies in the reversed order (from used IDs to using IDs) when we find one tagged for override.
2022-06-17BKE_main: Relations: Add `TO`/`FROM` variants of processed flags.Bastien Montagne
In some cases, it can be usefull to distinguish when an entry has been processed in which direction (`to` when handling ID pointers used by the entry, `from` when handling ID using this entry). Previous `MAINIDRELATIONS_ENTRY_TAGS_PROCESSED` tag is now a combination of the two new ones.
2022-06-17Cleanup: add verbose logging category names instead of numbersBrecht Van Lommel
And use them more consistently than before.
2022-06-17Cleanup: replace uint4 by AttributeMap structBrecht Van Lommel