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-28Cleanup: incorrect spelling of 'manhattan'Campbell Barton
2020-07-25Simulation: cleanup dna dataJacques Lucke
2020-07-23Cleanup: rename Curve.len_wchar to len_char32Campbell Barton
The name was misleading as the length is for char32_t, not wchar_t.
2020-07-22Particles: give emitter its own stateJacques Lucke
High quality emitters need to maintain state themselves. For example, this it needs to remember when it spawned the last particle. This is especially important when the birth rate is changing over time. Otherwise, there will be very visible artifacts. It is quite likely that other components of the simulation need their own state as well. Therefore, I refactored the `SimulationState` type a bit, to make it more extensible. Instead of using hardcoded type numbers, a string is used to identify the state type. Also, instead of having switch statements in many places, there is a new `SimulationStateType` that encapsulates information about how a specific state is created/freed/copied/... I removed the integration with the point cache for now, because it was not used anyway in it's current state.
2020-07-21Bevel: Refactor "Vertex Only" to an enumHans Goudey
This matches the change that was done to the bevel modifier so that the interface for the modifier, the active tool, and the operator are consistent. This commit extends the refactor to the bmesh implementation too, so that the parameters in the implementation don't stray too far from what is exposed. Tests are adjusted and still pass.
2020-07-21Particles: initial object socket and emitter node supportJacques Lucke
Object sockets work now, but only the new Object Transforms and the Particle Mesh Emitter node use it. The emitter does not actually use the mesh surface yet. Instead, new particles are just emitted around the origin of the object. Internally, handles to object data blocks are passed around in the network, instead of raw object pointers. Using handles has a couple of benefits: * The caller of the function has control over which handles can be resolved and therefore limit access to specific data. The set of data blocks that is accessed by a node tree should be known statically. This is necessary for a proper integration with the dependency graph. * When the pointer to an object changes (e.g. after restarting Blender), all handles are still valid. * When an object is deleted, the handle is invalidated without causing crashes. * The handle is just an integer that can be stored per particle and can be cached easily. The mapping between handles and their corresponding data blocks is stored in the Simulation data block.
2020-07-21Cleanup: CodeQuality: Replace OB_DRAWXRAY by OB_DRAW_IN_FRONTClément Foucault
This is to match the option name and to avoid confusion with workbench xray mode.
2020-07-21Cleanup: improve comment for disabled readfile allocation namingCampbell Barton
Also allocate the required amount instead of a fixed size.
2020-07-20Fix T78960: 2.83.2 not opening a 2.82a project correctly.Bastien Montagne
That project cannot be opened correctly ayway, it has recursive collections intanciating themselves... But at least now we have a check at startup to detect and 'fix' those nasty cycles in collections.
2020-07-19Cleanup: spellingCampbell Barton
2020-07-18Correct Blender version after last commitHans Goudey
c08d84748804 incremented the patch version instead of the file subversion for versioning code when adding new options. This commit resets the patch version and instead bumps the file subversion.
2020-07-18UI: Status Bar Statistics and Other OptionsHarley Acheson
Status Bar can show scene statistics, memory usage, version, etc set by context menu. Part two of T75672. Differential Revision: https://developer.blender.org/D7557 Reviewed by Julian Eisel
2020-07-18Simulation: fix memory leakJacques Lucke
2020-07-15Cleanup: spellingCampbell Barton
2020-07-14Cleanup: sort header, cmake pathsCampbell Barton
2020-07-13Cycles: Add control for sun intensity in Sky Texture and change altitude to kmLukas Stockner
Differential Revision: https://developer.blender.org/D8091
2020-07-13Cycles: Add versioning code for the new Sky Texture modelLukas Stockner
Differential Revision: https://developer.blender.org/D8091
2020-07-10Revert "Fix T78296: Performance - Use Binary Search for MDeformWeight"Brecht Van Lommel
This reverts commit 39b525e0f07fa25dcda54226ade789959b642dec and 3121015dceb1d269d79690c8f15c8e1406c9b09f as tests are failing.
2020-07-10Fix T78296: Performance - Use Binary Search for MDeformWeightJeroen Bakker
Use binary search for querying deform weights. Spring 02_020_A.anim.blend on Ryzen 1700X goes from 12.4 to 12.7fps. During profiling it was detected that adding new items to the head was faster than adding to the tail. Reviewed By: Campbell Barton Differential Revision: https://developer.blender.org/D8127
2020-07-09Particles: Create a simulation state for every Particle Simulation nodeJacques Lucke
Every Particle Simulation node has a name (or a path when it is in a node group). This name has to be used in the Simulation modifier on a point cloud to see the particles. Caching has been disabled for now, because it was holding back development a bit. To reset the simulation, go back to frame 1. Currently, there is no way to influence the simulation. There are just some randomly moving points. Changing that is the next step.
2020-07-09Blenloader: make BLO_read_data_address work in C++Jacques Lucke
2020-07-06Cleanup: readfile: remove old deprecated OldNewMap for runtime caches.Bastien Montagne
2020-07-06Runtime cache preservation during undo: add support for nodes and embedded IDs.Bastien Montagne
2020-07-06Fix T78608: Memory leak in Material properties: "Data from SCE".Bastien Montagne
Caused by recent own refactor of cache presevation handling in readfile, EEVEE's lightcache are weird birds that can also be saved in .blend files, need a special handling for those 'persistent' caches...
2020-07-03Clang-tidy: Enable braces-around-statements warningSebastian Parborg
2020-07-03Cleanup: compiler warningBrecht Van Lommel
2020-07-03Fix error in new Hair data type file readingBrecht Van Lommel
2020-07-03Clang-Tidy: enable readability-named-parameterJacques Lucke
2020-07-03Fix utterly broken code regarding GPUtextures of MovieClip in readfile.cBastien Montagne
Treat those as pure runtime code, reset to NULL by reading code, for now. Think those could be handled like Image gputextures (i.e. considered runtime cache and preserved across undo steps), but probably not critical for now.
2020-07-03Move MovieClip to new undo cache management system.Bastien Montagne
2020-07-03UI: Use sliders and [0, 1] ranges in ocean modifierHans Goudey
The ocean modifier has two properties that use a [0, 10] hard min and hard max. The values act as factors though, so it makes more sense to use sliders and a 0 to 1 range. This commit also bumps the file subversion to avoid repeatedly applying the change to the properties' range. Differential Revision: https://developer.blender.org/D8186
2020-07-03Move Scene's cache management during undo to new system.Bastien Montagne
2020-07-03Clang-Tidy: Enable readability-redundant-control-flowHans Goudey
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-03Cleanup: do not use magic values for enums...Bastien Montagne
2020-07-03New undo cache management: Add Image IDs.Bastien Montagne
Some notes: * `Image.cache` acts as some kind of 'main' cache, when it is NULL (could not be restored), other caches should also be cleared. Oddly enough, previous code was not clearing **all** caches, could not find any reason for that behavior, so new code does a full clear. * `imamap` is still used for Node previews from scenes' compositor, however this is actually fully disabled in `direct_link_node()`. * For render slots we cannot use offsetof as third part of the cache key, so we are using a hash of the slot's name instead. As far as I can tell, this fixes T76989: Visual glitches when undo after reload multiple images by script (in Material Preview).
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-07-03Cleanup: Fluid renaming from old 'manta' naming to new 'fluid' namingSebastián Barschkis
Changed variable names from mmd, mds, mfs, and mes to fmd, fds, ffs, and fes. The author of this commits lights a candle for all the merge conflicts this will cause.
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