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-02-04PyAPI: correct docstringCampbell Barton
2021-02-03BPY: allow `bpy.data.libraries.load()` to filter out non-asset data-blocks.Bastien Montagne
Differential Revision: https://developer.blender.org/D10237
2020-12-15Asset System: Various changes to previews in preparation for Asset BrowserJulian Eisel
* Support defining (not necessarily rendering) icons in threads. Needed so the File Browser can expose file previews with an icon-id to scripts. ** For that, ported `icons.c` to C++, to be able to use scope based mutex locks (cleaner & safer code). Had to do some cleanups and minor refactoring for that. * Added support for ImBuf icons, as a decent way for icons to hold the file preview buffers. * Tag previews as "unfinished" while they render in a thread, for the File Browser to dynamically load previews as they get finished. * Better handle cases where threaded preview generation is requested, but the ID type doesn't support it (fallback to single threaded). This is for general sanity of the code (as in, safety and cleanness) * Enabled asset notifier for custom preview loading operator, was just disabled because `NC_ASSET` wasn't defined in master yet. Part of the first Asset Browser milestone. Check the #asset_browser_milestone_1 project milestone on developer.blender.org. Differential Revision: https://developer.blender.org/D9719 Reviewed by: Bastien Montagne, Brecht Van Lommel
2020-12-15Asset System: Data-block asset metadata storage, reading and APIJulian Eisel
Asset metadata is what turns a regular data-block into an asset. It is a small data-structure, but a key part of the technical design of the asset system. The design foresees that asset data-blocks store an `ID.asset_data` pointer of type `AssetMetaData`. This data **must not** have dependencies on other data-blocks or data-block data, it must be an independent unit. That way we can read asset-metadata from .blends without reading anything else from the file. The Asset Browser will use this metadata (together with the data-block name, preview and file path) to represent assets in the file list. Includes: * New `ID.asset_data` for asset metadata. * Asset tags, description and custom properties. * BKE code to manage asset meta-data and asset tags. * Code to read asset data from files, without reading IDs. * RNA for asset metadata (including tags) Part of the first Asset Browser milestone. Check the #asset_browser_milestone_1 project milestone on developer.blender.org. Differential Revision: https://developer.blender.org/D9716 Reviewed by: Bastien Montagne, Brecht Van Lommel
2020-12-08Cleanup: Use guarded allocator for data-block names returned from file readingJulian Eisel
Direcly using the C library allocator functions is usually avoided in favor of our guarded allocator. It's more useful when debugging.
2020-09-29DNA: use better type for SDNA->structsJacques Lucke
The data layout remains exactly the same.. This change just gives all the elements in `SDNA->structs` names, making it more comfortable to work with the data. Reviewers: campbellbarton Differential Revision: https://developer.blender.org/D8926
2020-08-07Cleanup: Blenloader, Clang-Tidy else-after-return fixesSybren A. Stüvel
This addresses warnings from Clang-Tidy's `readability-else-after-return` rule in the `source/blender/blenloader` module. No functional changes.
2020-07-06Runtime cache preservation during undo: add support for nodes and embedded IDs.Bastien Montagne
2020-07-03Clang-Tidy: enable readability-named-parameterJacques Lucke
2020-07-03Move Scene's cache management during undo to new system.Bastien Montagne
2020-07-03Move volume to new cache management system for undo.Bastien Montagne
2020-07-03Move bSound cache handling during undo to new system.Bastien Montagne
2020-07-03Readfile/Undo: initial refactor of cache preservation code.Bastien Montagne
Main goal here is to have better specificity using cache keys, to avoid same memroy address being re-used messing up with cache pointers restoration after undo had to re-read a data-block. Once all caches handling are ported to this new system, it should fix random issues like the one reported in T76989. Part of D8183, refactoring how we preserve caches across undo steps in readfile code.
2020-05-25Fix T73164: Undo does not always properly clear no-more-used library data.Bastien Montagne
Solution is actually very simple, and even makes existing code simpler: just write all lib IDs when storing and undo step. That way we do not have to guess which indirectly used library should be kept or not after an undo step reading.
2020-03-19Cleanup/refactor: remove BKE_idcode, in favour of BKE_idtype.Bastien Montagne
Mpving utils from idcode to idtype proved to be somewhat painful for some reasons, but now all looks good. Had to add a fake/empty shell for the special snowflake too, `ID_LINK_PLACEHOLDER/INDEX_ID_NULL`...
2020-03-19Cleanup: `make format` after SortedIncludes changeDalai Felinto
2020-03-18Objects: add Volume object type, and prototypes for Hair and PointCloudBrecht Van Lommel
Only the volume object is exposed in the user interface. It is based on OpenVDB internally. Drawing and rendering code will follow in another commit. https://wiki.blender.org/wiki/Source/Objects/Volume https://wiki.blender.org/wiki/Reference/Release_Notes/2.83/Volumes Hair and PointCloud object types are hidden behind a WITH_NEW_OBJECT_TYPES build option. These are unfinished, and included only to make it easier to cooperate on development in the future and avoid tricky merges. https://wiki.blender.org/wiki/Source/Objects/New_Object_Types Ref T73201, T68981 Differential Revision: https://developer.blender.org/D6945
2020-03-17Add experimental global undo speedup.Bastien Montagne
The feature is hidden behind an experimental option, you'll have to enable it in the preferences to try it. This feature is not yet considered fully stable, crashes may happen, as well as .blend file corruptions (very unlikely, but still possible). In a nutshell, the ideas behind this code are to: * Detect unchanged IDs across an undo step. * Reuse as much as possible existing IDs memory, even when its content did change. * Re-use existing depsgraphs instead of building new ones from scratch. * Store accumulated recalc flags, to avoid needless re-compute of things that did not change, when the ID itself is detected as modified. See T60695 and D6580 for more technical details.
2019-06-12Cleanup: spelling in commentsCampbell Barton
2019-04-29Cleanup: comments (long lines) in misc librariesCampbell Barton
2019-04-22Cleanup: style, use braces for blenloaderCampbell Barton
2019-04-21Cleanup: comments (long lines) in blenloaderCampbell Barton
2019-04-17ClangFormat: apply to source, most of internCampbell Barton
Apply clang format as proposed in T53211. For details on usage and instructions for migrating branches without conflicts, see: https://wiki.blender.org/wiki/Tools/ClangFormat
2019-03-12Fix wrong memory handling in own rB93633efe69ca.Bastien Montagne
`BLO_library_read_struct()` actually takes care for us of nearly everything, makes things much simpler...
2019-03-11Fix (unreported) broken ID previews reading.Bastien Montagne
Recent changes to blendfile reading adding deferred reading of actual data broke it, we cannot use the nifty `bhead + 1` to access data anymore, since there is no guaranty that that block hass been fully read. Note that there is still one case in `read_file_thumbnail()`, however loading of blendfile preview itself seems to be working fine... Maybe @campbellbarton can double check that point (or knows of hands whether it is OK there)?
2019-03-08Cleanup: use plural names for Main listsCampbell Barton
Convention was not to but after discussion on 918941483f7e we agree its best to change the convention. Names now mostly follow RNA. Some exceptions: - Use 'nodetrees' instead of 'nodegroups' since the struct is called NodeTree. - Use 'gpencils' instead of 'grease_pencil' since 'gpencil' is a common abbreviation in the C code. Other exceptions: - Leave 'wm' as it's a list of one. - Leave 'ipo' as is for versioning.
2019-02-27DNA: rename Lamp -> LightCampbell Barton
- BKE_lamp -> BKE_light - Main.lamp -> light
2019-02-22Missed last commitCampbell Barton
Harmless but not renamed as intended.
2019-02-22Cleanup: rename readfile API functionsCampbell Barton
- blo_bhead_first (was blo_firstbhead) - blo_bhead_next (was blo_nextbhead) - blo_bhead_prev (was blo_prevbhead) - blo_bhead_id_name (was bhead_id_name) - blo_filedata_free (was blo_freefiledata) - blo_filedata_from_file (was blo_openblenderfile) - blo_filedata_from_memory (was blo_openblendermemory) - blo_filedata_from_memfile (was blo_openblendermemory)
2019-02-18doxygen: add newline after \fileCampbell Barton
While \file doesn't need an argument, it can't have another doxy command after it.
2019-02-06Cleanup: remove redundant doxygen \file argumentCampbell Barton
Move \ingroup onto same line to be more compact and make it clear the file is in the group.
2019-02-01Cleanup: remove redundant, invalid info from headersCampbell Barton
BF-admins agree to remove header information that isn't useful, to reduce noise. - BEGIN/END license blocks Developers should add non license comments as separate comment blocks. No need for separator text. - Contributors This is often invalid, outdated or misleading especially when splitting files. It's more useful to git-blame to find out who has developed the code. See P901 for script to perform these edits.
2019-01-26Cleanup: remove redundant BKE/BLI/BIF headersCampbell Barton
2018-12-12Merge branch 'master' into blender2.8Campbell Barton
2018-12-12Cleanup: use colon separator after parameterCampbell Barton
Helps separate variable names from descriptive text. Was already used in some parts of the code, double space and dashes were used elsewhere.
2018-11-30Cleanup: styleCampbell Barton
2018-11-30Cleanup: styleCampbell Barton
2018-11-22Merge branch 'master' into blender2.8Campbell Barton
2018-11-22Fix T57989: File loaded as startupCampbell Barton
The file contents was used to check if the file was a startup file. Now pass in an argument from startup loading code instead.
2018-07-10Eevee: LightCache: Initial ImplementationClément Foucault
This separate probe rendering from viewport rendering, making possible to run the baking in another thread (non blocking and faster). The baked lighting is saved in the blend file. Nothing needs to be recomputed on load. There is a few missing bits / bugs: - Cache cannot be saved to disk as a separate file, it is saved in the DNA for now making file larger and memory usage higher. - Auto update only cubemaps does update the grids (bug). - Probes cannot be updated individually (considered as dynamic). - Light Cache cannot be (re)generated during render.
2018-06-29Cleanup: trailing newlinesCampbell Barton
2018-06-17Cleanup: trailing space for blenloaderCampbell Barton
2017-03-15Load user-preferences before startup fileCampbell Barton
Internal change needed for template support. Loading the user preferences first so it's possible for preferences to control startup behavior. In general it's useful to load preferences before data-files, so we know security settings for eg.
2016-06-21Cleanup: hide debug print behind proper debug defines instead of using ↵Bastien Montagne
comments...
2016-06-21Fix T48412: Blender 2.77a crashes on Undo in some specific multi-level ↵Bastien Montagne
linked libraries cases. Good old dead-brain stupid error when iterating over a linked list from which you remove some items...
2016-02-29Minor optimization: avoid 2x hash, adding to setCampbell Barton
2015-10-12Cleanup: BLO: move func doc comments to definitions of functions.Bastien Montagne
Follows our conventions and makes include file itself much cleaner.
2015-10-12Fix T34446: Make Local on linked mesh object: object gets removed if redo ↵Bastien Montagne
function is used. Root of the issue is that we do not re-read lib data blocks and ID placholders (ID_ID bheads) in undo context (in `blo_read_file_internal`), because `BLO_read_from_memfile` copies lib datablocks and Main data directly from oldmain. The idea being, linked data do not change from undo/redo. This is valid as long as linked data was not changed by the undo step - but if some was deleted or localized, it will be missing from oldmain, leading to data loss (note that does not only concern objects, all linkable data types can be affected, at least in theory). This commit addresses that issue by carefully mixing reuse of needed data from oldmain, and "normal" re-reading of missing one. Makes us swimming in some rather dark waters, and gives a rather non-easy-to-follow code, but it seems to work quite well, and only other solution would be to get rid of that optimization (not re-reading all libs on undo/redo), which is not acceptable. Also, thanks to @carlosdp for initial investigation of the issue. Differential Revision: https://developer.blender.org/D1485
2015-08-10Data previews: add preview to Object, Group and Scene.Bastien Montagne
This commit does not add anything yet to users, it’s purely internal one. Useful commit is next. ;)
2015-06-03Make reading previews from .blend file more robust.Bastien Montagne
Hit a case here where rect pointer was not NULL, when h & w were both zero... Shall not happen, but better not crash on such cases!