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-07-01Merge branch 'asset-uuid--archived' into asset-engine--archivedasset-engine--archivedJulian Eisel
2020-07-01Merge branch 'master' into asset-uuid--archivedasset-uuid--archivedJulian Eisel
2020-06-30Sculpt: Pose Brush option to affect loose partsPablo Dobarro
This option allows posing meshes with different disconnected elements using the Pose Brush. This is achieved by doing the following: - Creating an ID per vertex that stores the connected component of that vertex. - By using those IDs, one fake topology connection is created per vertex to the nearest vertex in a different ID. The maximum distance to create that connection is determined by the "Max Element Distance" property. These fake connectivity neighbors are used in the Sculpt API functions iterators, so all the algorithms of the Pose Brush can run without modifications as if everything was part of the same mesh. In order to make this work, the "Connected only" property of the Pose Brush needs to be disabled. This will add an extra performance cost to the Pose Brush and its preview. To achieve optimal results, max element distance should be as low as possible. Reviewed By: sergey, campbellbarton Differential Revision: https://developer.blender.org/D7282
2020-06-30LibOverride: Add concept of 'embedded'/'virtual' override.Bastien Montagne
IDs like embedded ones (master collections, root node trees) cannot be linked, and thus cannot be real override themselves. Since they are managed by their owner ID, that one will also have the overrides for their locally edited properties. We still need a way to mark them as overridden though, for various UI and override-internal purposes, this is done using a new ID flag. Note that since Shae Keys are not linkable, and their pointers are not editable in RNA, they are also considered as embedded from override point of view.
2020-06-30Cleanup: LibOverride: Replace raw pointers checks by proper macros.Bastien Montagne
This is cleaner, but also crucial to avoid weird issues when behaviors of those checks are modified...
2020-06-29UI: Add shortcuts for modifier panelsHans Goudey
The shortcuts act on the modifier with its panel under the mouse. The following shortcuts are enabled by default: - Remove modifier: X, Delete - Apply modifier: Ctrl A - Duplicate modifier: Shift D More shortcuts can be added in the keymap. Each panel can now store a custom data RNA pointer, and a new function is added to get the custom data for the panel under the cursor. This custom data could be used to refactor the "List Panel System" to generalize it and integrate it further with RNA. The same functionality will be added in further commits where it applies to constraints, grease pencil modifiers, and effects. Differential Revision: https://developer.blender.org/D8031
2020-06-27Docs: correct invalid doxygen params & referencesCampbell Barton
2020-06-26Refactor: use new api for expand in blenloaderJacques Lucke
This is part of T76372.
2020-06-26Refactor: use new api for lib linking id propertiesJacques Lucke
2020-06-26Refactor: use new api for lib linking gpencil, palette, key, simulation, ipo ↵Jacques Lucke
and library
2020-06-26Refactor: use new api for lib linking hair, pointclout, volume, material, ↵Jacques Lucke
texture and image
2020-06-26Refactor: use new api for lib linking curve, mesh, cachefiles, armature and ↵Jacques Lucke
vfont
2020-06-26Refactor: use new api for lib linking sound, text, camera, light, latt and mballJacques Lucke
2020-06-26Refactor: use new api for lib linking movieclip, world, lightprobe, speaker, ↵Jacques Lucke
paint curve and brush
2020-06-26Refactor: use new api for lib linking linestyle, object, nodetree and actionJacques Lucke
2020-06-26Refactor: use new api for lib linking collection, scene and workspacesJacques Lucke
2020-06-25Fix T78238: issue loading existing .blend files with Optix viewport denoiserBrecht Van Lommel
Also add additional validation to ensure the denoiser is supported before trying to use it.
2020-06-25Cleanup: spellingCampbell Barton
2020-06-24Cycles: add denoising settings to the render propertiesBrecht Van Lommel
Enabling render and viewport denoising is now both done from the render properties. View layers still can individually be enabled/disabled for denoising and have their own denoising parameters. Note that the denoising engine also affects how denoising data passes are output even if no denoising happens on the render itself, to make the passes compatible with the engine. This includes internal refactoring for how denoising parameters are passed along, trying to avoid code duplication and unclear naming. Ref T76259
2020-06-23Refactor: use new api for lib linking mask, windowmanager and screenJacques Lucke
This is part of T76372.
2020-06-23Refactor: move more modifier specific code out of readfile.cJacques Lucke
2020-06-23Refactor: move blenloader code of bevel modifierJacques Lucke
2020-06-23Refactor: move blenloader code of curve profile to blenkernelJacques Lucke
2020-06-23Refactor: move blenloader code of surface deform modifierJacques Lucke
2020-06-23Refactor: move more blenloader code into modifier filesJacques Lucke
2020-06-23Sculpt Vertex Colors: Initial implementationPablo Dobarro
Sculpt Vertex Colors is a painting system that runs inside sculpt mode, reusing all its tools and optimizations. This provides much better performance, easier to maintain code and more advanced features (new brush engine, filters, symmetry options, masks and face sets compatibility...). This is also the initial step for future features like vertex painting in Multires and brushes that can sculpt and paint at the same time. This commit includes: - SCULPT_UNDO_COLOR for undo support in sculpt mode - SCULPT_UPDATE_COLOR and PBVH flags and rendering - Sculpt Color API functions - Sculpt capability for sculpt tools (only enabled in the Paint Brush for now) - Rendering support in workbench (default to Sculpt Vertex Colors except in Vertex Paint) - Conversion operator between MPropCol (Sculpt Vertex Colors) and MLoopCol (Vertex Paint) - Remesher reprojection in the Voxel Remehser - Paint Brush and Smear Brush with color smoothing in alt-smooth mode - Parameters for the new brush engine (density, opacity, flow, wet paint mixing, tip scale) implemented in Sculpt Vertex Colors - Color Filter - Color picker (uses S shortcut, replaces smooth) - Color selector in the top bar Reviewed By: brecht Maniphest Tasks: T72866 Differential Revision: https://developer.blender.org/D5975
2020-06-23Fix mistake in bevel versioningHans Goudey
Use the correct modifier struct name
2020-06-23EEVEE: Motion Blur: Add accumulation motion blur for better precisionClément Foucault
This revisit the render pipeline to support time slicing for better motion blur. We support accumulation with or without the Post-process motion blur. If using the post-process, we reuse last step next motion data to avoid another scene reevaluation. This also adds support for hair motion blur which is handled in a similar way as mesh motion blur. The total number of samples is distributed evenly accross all timesteps to avoid sampling weighting issues. For this reason, the sample count is (internally) rounded up to the next multiple of the step count. Only FX Motion BLur: {F8632258} FX Motion Blur + 4 time steps: {F8632260} FX Motion Blur + 32 time steps: {F8632261} Reviewed By: jbakker Differential Revision: https://developer.blender.org/D8079
2020-06-23Bevel: Refactor profile type input to use an enumHans Goudey
This will allow the easier addition of a constant radius mode in the future and some changes in the UI to mirror the recent similar change from "Only Vertices" to the "Affect" enum.
2020-06-23Cleanup: rename 'name' to 'filepath' for DNA typesCampbell Barton
Using 'name' for the full path of a file reads badly, especially when id.name is used in related code.
2020-06-23Cleanup: rename Library.filepath to filepath_absCampbell Barton
Make it clear that this is the absolute path, allow the 'name' to be renamed to 'filepath'. Rename is safe since this is only for run-time.
2020-06-19UI: ShaderFx Drag and Drop, Layout UpdatesHans Goudey
This patch implements the list panel system D7490 for grease pencil shader effects. It also moves their drawing to a callback in ShaderFxTypeInfo in line with the extensible architecture refactoring goal T75724. The implementation is basically exactly the same as for the modifier patch (9b099c86123fc82). Thanks to Matias Mendiola (@mendio) for helping to develop the layout changes. Differential Revision: https://developer.blender.org/D7985
2020-06-19UI: Grease Pencil Modifier Drag and Drop, Layout ChangesHans Goudey
This patch implements the list panel system D7490 for grease pencil modifiers. It also moves their drawing to a callback in GpencilModifierTypeInfo in line with the extensible architecture refactoring goal T75724. This also adds the "set_error" function for grease pencil modifiers, which hadn't been copied from mesh modifiers yet. The implementation is basically exactly the same as for the modifier patch (9b099c86123fc82). Thanks to Matias Mendiola (mendio) for providing mockups for many of the layout changes. Differential Revision: https://developer.blender.org/D7978
2020-06-19UI: Drag and Drop Constraints, Layout UpdatesHans Goudey
This patch implements the list panel system D7490 for constraints. In this case the panels are still defined in Python. The layouts are also updated to use subpanels and the a more organized single column layout. There may be more tweaks necessary for the layouts. Reviewed By: Severin, billreynish, Mets Differential Revision: https://developer.blender.org/D7499
2020-06-19EEEVEE: Object Motion Blur: Initial ImplementationClément Foucault
This adds object motion blur vectors for EEVEE as well as better noise reduction for it. For TAA reprojection we just compute the motion vector on the fly based on camera motion and depth buffer. This makes possible to store another motion vector only for the blurring which is not useful for TAA history fetching. Motion Data is saved per object & per geometry if using deformation blur. We support deformation motion blur by saving previous VBO and modifying the actual GPUBatch for the geometry to include theses VBOs. We store Previous and Next frame motion in the same motion vector buffer (RG for prev and BA for next). This makes non linear motion blur (like rotating objects) less prone to outward/inward blur. We also improve the motion blur post process to expand outside the objects border. We use a tile base approach and the max size of the blur is set via a new render setting. We use a background reconstruction method that needs another setting (Background Separation). Sampling is done using a fixed 8 dithered samples per direction. The final render samples will clear the noise like other stochastic effects. One caveat is that hair particles are not yet supported. Support will come in another patch. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D7297
2020-06-19Cloth: allow forces to act parallel to cloth.Alexander Gavrilov
Currently all force effectors can only act on cloth when the force is perpendicular to the surface. This makes sense for wind, but not for other forces; and the user may want even wind to have some friction. This changes effector code to output two force vectors - although you of course can pass the same pointer for both. The force is split between the two outputs based on a new per-effector setting. Differential Revision: https://developer.blender.org/D8017
2020-06-19Writefile: move file flags to BlendFileWriteParamsCampbell Barton
This removes G_FILE_HISTORY, G_FILE_SAVE_COPY & G_FILE_USERPREFS. Using file-flags made logic harder to follow since it's not so clear which flags are expected to be in G.fileflags & which are meant to be set and passed as arguments, these are shared between read & write functions too. Add BlendFileWriteParams so options which don't need to be stored aren't mixed up with flags that are stored for reuse.
2020-06-18Python API: path mapping options for library writing functionCampbell Barton
When "Relative Remap" option was added, the intention was only to remap paths that were already relative. However it remapped all paths. This was reported as T62612 and fixed recently, however some Python script authors depended on the old behavior. For users, it's reasonable to use the existing operators to make paths absolute/relative. For scripts however it's useful to be able to write out individual data-blocks with the ability to make all paths relative. Now `bpy.data.libraries.write()` takes a path_remap argument which can be `NONE/RELATIVE/RELATIVE_ALL/ABSOLUTE` allowing the script author to choose how paths are handled when writing out data-blocks. Addresses T77768.
2020-06-18Cleanup: redundant parenthesisCampbell Barton
2020-06-16Refactor: move .blend read/write of mesh deform modifier to MOD_meshdeform.cJacques Lucke
2020-06-16Cleanup: remove unnecessary indirection for .blend read/write of curvemappingJacques Lucke
2020-06-16Refactor: Move curvemapping .blend read/write to blenkernelJacques Lucke
This is necessary so that it can be accessed from `blendWrite` and `blendRead` callbacks from modifiers.
2020-06-16Merge branch 'asset-uuid' into asset-engineJulian Eisel
2020-06-16Merge branch 'master' into asset-uuidJulian Eisel
2020-06-15Refactor: use new blenloader api for laplacian deform modifierJacques Lucke
2020-06-15Blenloader: call blendRead and blendWrite of modifiers when availableJacques Lucke
This is part of T76372.
2020-06-15Fix (unreported) critical mistake in Collection liblink code in readfile.c.Bastien Montagne
Prelimenary step to fix T77460. Not sure how or when that thing was done, but since that call walks around collections relationships, it's an utterly critical violation of liblinking principles (code here should never, ever 'get outside' of its own ID scope). This was wroking so far only because code called through this function (`BKE_collection_parent_relations_rebuild`) was only following parents pointers (in `BKE_collection_find_cycle()`), which would be either valid or non-existent. But next commit is going to change that to also check collection's objects instancing of other collections.
2020-06-13Merge branch 'asset-uuid' into asset-engineJulian Eisel
2020-06-13Merge branch 'master' into asset-uuidJulian Eisel
2020-06-12Cloth: implement support for a hydrostatic pressure gradient.Alexander Gavrilov
When a fluid is put under influence of gravity or acceleration, it forms an internal pressure gradient, which causes observable effects like buoyancy. Since now cloth has support for simulating pressure changes caused by fluid compression or expansion, it makes sense to also support the effects of gravity. This is intended for better simulation of objects filled or surrounded by fluids, especially when constrained by collisions or pinned vertices, and should result in more realistic shapes. Obviously, this doesn't actually simulate fluid dynamics; instead it is assumed that the fluid immediately adapts to changes in the shape or acceleration of the object without friction or turbulence, and instantly reaches a new static equilibrium. Differential Revision: https://developer.blender.org/D6442