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
2020-02-10Cleanup/refactor: Rename `BKE_library` files to `BKE_lib`.Bastien Montagne
Note that `BKE_library.h`/`library.c` were renamed to `BKE_lib_id.h`/`lib_id.c` to avoid having a too generic name here. Part of T72604.
2020-02-10Cleanup: spellingCampbell Barton
2020-02-07Cleanup: Rename `BKE_library_idmap` file to `BKE_main_idmap`Bastien Montagne
Part of T72604: > Proposal: BKE_library and BKE_main API naming: prefixes conventions
2020-02-07Fix crash when linking.Bastien Montagne
Stupid mistake in yesterday's own refactoring of readfile code...
2020-02-06Readfile: refactor/factorize more handling of common ID data.Bastien Montagne
- Move handling of private ID data (nodetree and master_collection) under generic ID code. This shortens code a bit, but mostly avoids having to modify all type-specific callback functions if/when we have to add generic processing to IDs there. - Seriously factorize `expand_xxx` area, in the same way we were already doing in `direct_link_xxx` and `lib_link_xxx` areas. Note that this actually also fixes some bugs (at least, potential ones), like e.g. missing call to expand_id() for our beloved 'private ID' (nodetrees & co), in current master code... Differential Revision: https://developer.blender.org/D6764
2020-02-06Merge branch 'blender-v2.82-release'Antonio Vazquez
2020-02-06Cleanup: Fix commentAntonio Vazquez
2020-02-06Merge branch 'blender-v2.82-release'Antonio Vazquez
2020-02-06Fix T64058: GPencil - Ensure object mode if linking from a libraryAntonio Vazquez
If the linked or append grease pencil object was added to the scene, the original file could have the datablock status in a different mode, so it's necessary to be sure is in object mode. Differential Revision: https://developer.blender.org/D6759
2020-02-05Refactor readfile's liblink code.Bastien Montagne
Liblink specific ID type function was so far running a loop over all IDs of relevant type, unlike almost any other 'ID-callback-like' functions in Blender, which usually let the looping controll to calling code. The latter approach is more convinient when one want to add generic (i.e. type-agnostic) code, since it typically only has to change code in one place (caller function) instead of tens of places (all the callback functions). This commit also changes/sanitizes a few things that had nothing to do in main liblink code, like mesh conversion from tessfaces to polys (which can be done in after-linking versionning code), or scenes' cycles detection/check regarding background 'set' scenes. Reviewed By: brecht Differential Revision: https://developer.blender.org/D6727
2020-02-05T73589: Code Quality: Renaming on BKE_material.hAntonio Vazquez
Old Name New Name ========= ========= init_def_material BKE_materials_init BKE_material_gpencil_default_free BKE_materials_exit test_object_materials BKE_object_materials_test test_all_objects_materials BKE_objects_materials_test_all give_matarar BKE_object_material_array give_totcolp BKE_object_material_num give_current_material_p BKE_object_material_get_p give_current_material BKE_object_material_get assign_material BKE_object_material_assign assign_matarar BKE_object_material_array_assign give_matarar_id BKE_id_material_array give_totcolp_id BKE_id_material_num assign_material_id BKE_id_material_assign clear_matcopybuf BKE_material_copybuf_clear free_matcopybuf BKE_material_copybuf_free copy_matcopybuf BKE_material_copybuf_copy paste_matcopybuf BKE_material_copybuf_paste BKE_material_init_gpencil_settings BKE_gpencil_material_attr_init BKE_material_add_gpencil BKE_gpencil_material_add BKE_material_gpencil_get BKE_gpencil_material BKE_material_gpencil_default_get BKE_gpencil_material_default BKE_material_gpencil_settings_get BKE_gpencil_material_settings
2020-02-05Readfile: Proper fix for `recalc` flags clearing in non-real IDsBastien Montagne
In current `readfile.c` code we have that: https://developer.blender.org/diffusion/B/browse/master/source/blender/blenloader/intern/readfile.c$3523 This is unconditionally clearing nodetree's recalc flags, and was added by rB81a762e79f83 ages ago. Thing is, in main ID read code we only clear that flag when **not** in undo context. This proposed change intends to properly handle those cases, by moving `id.recalc` flags clearing from `read_libblock()` to `direct_link_id()`, which is also called for all 'local' IDs (ntrees and master collections currently). I’d expect that change to be straightforward (and maybe even fixing some odd undocumented bugs), however there is no .blend file testcases associated with changes in rB81a762e79f83, so wouldn’t mind that to be double checked before it goes to master. Reviewed By: brecht Differential Revision: https://developer.blender.org/D6711
2020-01-29Merge branch 'blender-v2.82-release'Philipp Oeser
Merge conflict in source/blender/gpu/GPU_texture.h
2020-01-29UI: Info Editor Visual ChangesHarley Acheson
Changes to Info Editor making it easier to read. Only visual changes, no functional changes. Differential Revision: https://developer.blender.org/D6491 Reviewed by Julian Eisel
2020-01-29Fix T73054: Add DNA defaults for pose_ik_segmentsPablo Dobarro
This fixes the crash with pose_ik_segments = 0 in old files. Some files were saved with the property set to 0, so the versioning code won't work in that cases. I also changed that to fix the crash in those files. Reviewed By: brecht Maniphest Tasks: T73054 Differential Revision: https://developer.blender.org/D6663
2020-01-28Merge branch 'blender-v2.82-release'Bastien Montagne
2020-01-28Partially fix & comment about bad handling of `wrong_id` in `read_libblock()`.Bastien Montagne
Not fully fixing it for now since I do not see an easy way to remove freed pointer from libmap, and it does not seem to be an actual, practical issue currently, but eeek...
2020-01-27Cleanup: removed unused derivedDeform and derivedFinalBrecht Van Lommel
2020-01-27Cleanup: remove unused partial visibility code, weird indentationBrecht Van Lommel
2020-01-22UI: Hide empty Tool-Header in Rendering workspace (Image Editor)Julian Eisel
Fixes T71509
2020-01-22VSE: Tool system integrationRichard Antalik
Add toolbar to sequencer regions. A bit of refactoring has to be done in RNA space. Currently there is only cut tool implemented to serve as template for anybody who would like to add more.
2020-01-18Weight Paint: implement a red shade for bones with locked weights.Alexander Gavrilov
Blender supports locking vertex groups to prevent changes to the weights. However, as mentioned in comments for D3837, it is hard to use this because there is no interface for locking in 3D View. This adds a red shade to bones that are associated with a locked weight group during weight paint mode, as the first step to adding such interface. The next step is adding a pie menu for lock/unlock. Differential Revision: https://developer.blender.org/D6533
2020-01-16Minor correction to previous commitJulian Eisel
2020-01-16Fix failing asserts in versioning with some pre 2.5 filesJulian Eisel
Old pre 2.5 files may have had non active spaces stored that doen't have a header. The 2.5 versioning only added headers for active spaces, not inactive (so invisible) ones. Newer versioning code assumed there to always be a header though. Inserted a version patch to make sure there's always a header now. Fixes error reported to Debian, https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=949035.
2020-01-16Merge branch 'blender-v2.82-release'Bastien Montagne
2020-01-16Fix T73125: Crash when opening a file containing a Line Style.Bastien Montagne
Dummy typo in rB2e6159a4.
2020-01-16Merge branch 'blender-v2.82-release'Lukas Stockner
2020-01-16Fix T73133: UDIM texture count in Eevee is limited by OpenGLLukas Stockner
Based on @fclem's suggestion in D6421, this commit implements support for storing all tiles of a UDIM texture in a single 2D array texture on the GPU. Previously, Eevee was binding one OpenGL texture per tile, quickly running into hardware limits with nontrivial UDIM texture sets. Workbench meanwhile had no UDIM support at all, as reusing the per-tile approach would require splitting the mesh by tile as well as texture. With this commit, both Workbench as well as Eevee now support huge numbers of tiles, with the eventual limits being GPU memory and ultimately GL_MAX_ARRAY_TEXTURE_LAYERS, which tends to be in the 1000s on modern GPUs. Initially my plan was to have one array texture per unique size, but managing the different textures and keeping everything consistent ended up being way too complex. Therefore, we now use a simpler version that allocates a texture that is large enough to fit the largest tile and then packs all tiles into as many layers as necessary. As a result, each UDIM texture only binds two textures (one for the actual images, one for metadata) regardless of how many tiles are used. Note that this rolls back per-tile GPUTextures, meaning that we again have per-Image GPUTextures like we did before the original UDIM commit, but now with four instead of two types. Reviewed By: fclem Differential Revision: https://developer.blender.org/D6456
2020-01-15Fix T70965: Undo crash with specific fileJulian Eisel
Not sure how the WorkSpaceLayout.screen pointer could end up being NULL, but apparently that happens, or at least happened with older files. Rather than just adding NULL-checks, prefer not keeping around those invalid layouts at all.
2020-01-14Cleanup: added 'Versioning code until next subversion bump goes here'Sybren A. Stüvel
The `do_versions_after_linking_280()` function was missing a placeholder for the newly added versioning code. I copied the comments from the `blo_do_versions_280()` function. No functional changes.
2020-01-14Fix T72625: Outliner visibility keying doesn't carry over from 2.79bSybren A. Stüvel
During development of Blender 2.80 the `Object.hide` property was removed, and later reintroduced in rB5e968a996a53 as `Object.hide_viewport`. Of course there are some technical details missing in this summary, but this is the view that's given in the 2.80 release notes. FCurves on `Object.hide` weren't updated in versioning code, resulting in the property no longer being animated. This commit corrects the RNA path of such FCurves.
2020-01-07Sculpt: Pose Brush with Inverse KinematicsPablo Dobarro
This commits introduces the pose_ik_segments brush property in the Pose Brush. When increasing the IK segments count, the brush generates more segments and weights associations following the topology of the mesh. When moving the brush, these segments are transformed using an IK solver and they are used to deform the mesh. When pressing Ctrl, the brush controls the segments' roll rotation instead of using the IK solver. The brush falloff controls how much rotation is propagated from the first to the last segment in the chain. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D6389
2020-01-06Fix crash opening specific filesSergey Sharybin
For some reason socket flag and actual presence of link got out of sync. Check for link to be present prior to access it. Fixes crash opening file from T48684.
2019-12-30Sculpt: Add color alpha controls to the brush cursorPablo Dobarro
Previously the alpha was hardcoded to 0.7. Now it is possible to control the cursor alpha by changing the alpha color of the cursor color property. New alpha default is 0.9. This, with the new saturated colors, should make the cursor more visible on highdpi screens. I also removed the cache location preview as it is too visible right now with the new alpha and color values. Reviewed By: billreynish Differential Revision: https://developer.blender.org/D6433
2019-12-24Cleanup: correct filenames in commentsCampbell Barton
2019-12-20ID Management: Improve speed of code used when creating/renaming and ID.Bastien Montagne
This commit affects `id_sort_by_name()` and `check_for_dupid()` helper: * Add a new parameter, `ID *id_sorting_hint`, to `id_sort_by_name()`, and when non-NULL, check if we can insert `id` immediately before or after it. This can dramatically reduce time spent in that function. * Use loop over whole list in `check_for_dupid()` to also define the likely ID pointer that will be neighbor with our new one. This gives another decent speedup to all massive addition cases: | Number and type of names of IDs | old code | new code | speed improvement | | -------------------------------- | -------- | -------- | ----------------- | | 40K, mixed (14k rand, 26k const) | 39s | 33s | 18% | | 40K, fully random | 51s | 42s | 21% | | 40K, fully constant | 40s | 34s | 18% | Combined with the previous commits, this makes massive addition of IDs more than twice as fast as previously.
2019-12-20Cleanup: spellingCampbell Barton
2019-12-17Fluid: Fix that maps old smoke and fluid modifiers to new manta modifierSebastián Barschkis
2019-12-17Cleanup: spellingCampbell Barton
2019-12-16Mantaflow [Part 6]: Updates in /blender/sourceSebastián Barschkis
A collection of smaller changes that are required in the /blender/source files. A lot of them are also due to variable renaming. Reviewed By: sergey Maniphest Tasks: T59995 Differential Revision: https://developer.blender.org/D3855
2019-12-13Cleanup: unused function, spellingCampbell Barton
2019-12-13Cleanup: clang-formatCampbell Barton
2019-12-12Add support for tiled images and the UDIM naming schemeLukas Stockner
This patch contains the work that I did during my week at the Code Quest - adding support for tiled images to Blender. With this patch, images now contain a list of tiles. By default, this just contains one tile, but if the source type is set to Tiled, the user can add additional tiles. When acquiring an ImBuf, the tile to be loaded is specified in the ImageUser. Therefore, code that is not yet aware of tiles will just access the default tile as usual. The filenames of the additional tiles are derived from the original filename according to the UDIM naming scheme - the filename contains an index that is calculated as (1001 + 10*<y coordinate of the tile> + <x coordinate of the tile>), where the x coordinate never goes above 9. Internally, the various tiles are stored in a cache just like sequences. When acquired for the first time, the code will try to load the corresponding file from disk. Alternatively, a new operator can be used to initialize the tile similar to the New Image operator. The following features are supported so far: - Automatic detection and loading of all tiles when opening the first tile (1001) - Saving all tiles - Adding and removing tiles - Filling tiles with generated images - Drawing all tiles in the Image Editor - Viewing a tiled grid even if no image is selected - Rendering tiled images in Eevee - Rendering tiled images in Cycles (in SVM mode) - Automatically skipping loading of unused tiles in Cycles - 2D texture painting (also across tiles) - 3D texture painting (also across tiles, only limitation: individual faces can not cross tile borders) - Assigning custom labels to individual tiles (drawn in the Image Editor instead of the ID) - Different resolutions between tiles There still are some missing features that will be added later (see T72390): - Workbench engine support - Packing/Unpacking support - Baking support - Cycles OSL support - many other Blender features that rely on images Thanks to Brecht for the review and to all who tested the intermediate versions! Differential Revision: https://developer.blender.org/D3509
2019-12-11Docs: expand comments in versioning codeCampbell Barton
Help ensure we update all necessary areas when version bumping.
2019-12-11Fix T72340: Version bump for recent Userdef changesHarley Acheson
Updates blender subversion in order to properly handle recent userdef theme changes. Differential Revision: https://developer.blender.org/D6388 Reviewed by Campbell Barton
2019-12-09Add the ability to create internal springs to the cloth simSebastian Parborg
This can be used to make closed surfaces behave more like a soft body. Reviewed By: Jacques Lucke Differential Revision: http://developer.blender.org/D5788
2019-12-07Shaders: noise and wave distortion now work uniformly instead of diagonallyBartosz Moniewski
Previously Noise and Wave texture nodes would use noise functions within a [0,1] range for distortion effects. We either add or subtract noise from coordinates, never do both at same time. This led to the texture drastically shifting on the diagonal axis of a plane / cube. This behavior makes the Distortion input hard to control or animate. Capabilities of driving it with other texture are also limited, diagonal shifting is very apparent. This was fixed by offsetting the noise function to a signed range and making it zero-centered. This way noise is uniformly added and subtracted from coordinates. Texture pattern sticks to main coordinates which makes it way easier to control. This change is not strictly backwards compatible, there is versioning to ensure the scale of the distortion remains similar, but the particular pattern can be a little different. Differential Revision: https://developer.blender.org/D6177
2019-12-07UI: Custom Face Orientation ColorsHarley Acheson
Adds theme settings to allow change of front and back faces of the Face Orientation overlay Differential Revision: https://developer.blender.org/D6262 Reviewed by Jeroen Bakker
2019-12-06Draw: Removal of MultiSample BuffersJeroen Bakker
Multisample buffers were used for smooth line drawing. As we now have an algorithm that doesn't need the multisample buffers we can remove them. The user preference for viewport multi_sampling is replaced by single toggle overlay `use_overlay_smooth_wire`. By default this setting is enabled as the new drawing is really quick (<1ms) and uses zero hacks. Reviewed By: fclem Differential Revision: https://developer.blender.org/D6367
2019-12-04GPencil: Add Opacity y Onion switch to DopesheetAntonio Vazquez
Add new icons and panels Grease Pencil Dopesheet to manage layers without having the properties panel visible. Also, the icons are in the same order in Dopesheet, Layers and Material list to keep consistency. As the number of columns for icons is limited to 3 and we also need use a factor, I have impleted the change using slider area. Also, the slider option is enabled by default for 2D Template. See T72026 for more info. Reviewed By: mendio, pepeland, billreynish Differential Revision: https://developer.blender.org/D6328