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-03-06Cleanup: spellingCampbell Barton
2020-03-06Fix using wrong property name for preserve face sets when remeshingPablo Dobarro
Spotted by Roel Koster in the initial face set commit.
2020-03-06Nodes: fix writing socket default values to fileJacques Lucke
Previously, `writedata` was used to store `bNodeSocket->default_value`. There are a couple of issues with that: * Breaks if someone tries to load the file on a big endian system (afaik). * There is a `/* do not use for structs */` comment on `writedata`. * Depends on `MEM_allocN_len` which should be avoided in my opinion. * Now it is more apparent, that this should be handled by callbacks as well. The part in `readfile.c` should work just fine still. I could also do a case distinction there, but the code would be the same for every case for now. Just `sock->default_value = newdataadr(fd, sock->default_value);`. This might change, if we want to store more complex socket type specific data that does not fit into a single struct. Differential Revision: https://developer.blender.org/D7039 Reviewers: brecht
2020-03-06CodeCleanup: Added View3DShading enumsJeroen Bakker
Added the core enums that workbench draw engine uses.
2020-03-06Cleanup: Brush: Move to IDTypeInfo, and remove unused BKE API.Bastien Montagne
2020-03-06Cleanup: ShapeKey: Move to IDTypeInfo and remove unused BKE API.Bastien Montagne
2020-03-06Nodes: Support storing socket link limits in bNodeSocketTypeJacques Lucke
Currently the link limit of sockets is stored in bNodeSocket->limit. This allows for a lot of flexibility, but is also very redundant. In every case I've had to deal with so far, it would have "more correct" to set the link limit per socket type and not per socket. I did not enforce this constraint yet, because the link limit is exposed in the Python API, which I did not want to break here. In the future it might even make sense to only support only three kinds of link limits: a) no links, b) at most one link, c) an arbitrary number links links. The other link limits usually don't work well with tools (e.g. which link should be removed when a new one is connected?) and is not used in practice. However, that is for another day. Eventually, I would like to get rid of bNodeSocket->limit completely and replace it either with fixed link limits or a callback in bNodeSocketType. This patch consists of three parts: **1. Support defining link limit in socket type** This introduces a new `nodeSocketLinkLimit` function that serves as an indirection to hide where the link limit of a socket is defined. **2. Define link limits for builtin sockets on socket type** Data sockets: one input, many outputs Virtual sockets: one input, one output Undefined sockets: many inputs, many outputs (to avoid that links are removed when the type of the socket is not known) **3. Remove `bNodeSocketTemplate->limit`** This wasn't used anymore after the second commit. Removing it simplifies socket definitions in hundreds of places and removes a lot of redundancy. Differential Revision: https://developer.blender.org/D7038 Reviewers: brecht
2020-03-06CodeCleanup: move include statements before extern "C"Jeroen Bakker
Mistake on recent changes that would fail when used in CPP.
2020-03-06Fix memory leak in the colorio fallback implementation.Sebastian Parborg
We would previously not store the transforms that were added to the group transform node. This would lead to pointer to allocated memory being lost and not freed.
2020-03-06Fluid: Added missing UI options for effector objectsSebastián Barschkis
UI was missing some of the new functionality introduced in a5c4a44df67e.
2020-03-06CodeCleanup: Use eDrawTypeJeroen Bakker
This patch will make use of the eDrawType where it was used as a variable or parameter name. The eObjectDrawType was renamed to eDrawType as it is also used by `View3DShading.type`.
2020-03-06Cleanup: move camera, lights, world to IDTypeInfoBrecht Van Lommel
2020-03-06CodeCleanup: Added enums to opengl render functionsJeroen Bakker
Motivation the functions get 3 different kind of flag parameters (ImBuf, DrawType, OffscreenRendering) the naming of the flags were not clear, leading to mistakes and unnecessary time spend debugging.
2020-03-06Cleanup: remove MLOOPUV_EDGESELPhilipp Oeser
This was not set anywhere, code relies on MLOOPUV_VERTSEL everywhere. BMLoopUV.select_edge was never returning True and wasnt updating uv select state when set manually. Afaict, there were no official Addons using this from python. Resolves T65836 Maniphest Tasks: T65836 Differential Revision: https://developer.blender.org/D6772
2020-03-06Attempt to fix build errors on macOSJulian Eisel
Mistake in 5be0e3430d13
2020-03-06Animation: improved error handling when adding/deleting keyframesSybren A. Stüvel
There are two ways in which adding/deleting keyframes can fail, but only one of those was handled. The other would be shown as a successful add/delete of -2 keyframes.
2020-03-06Cleanup: Animation, renamed and clarified 'success' variableSybren A. Stüvel
The `ANIM_apply_keyingset()` returns a value that indicates the number of changed channels (if nonnegative) or an error state (negative). In the places where the return value was actually used, this value was stored in a badly named variable.
2020-03-06Cleanup: Library: Move to IDTypeInfo, and remove unused BKE API.Bastien Montagne
2020-03-06Cleanup: Object: remove unused BKE API.Bastien Montagne
2020-03-06Cleanup: Scene: New IDTypeInfo, and remove unused API from BKE.Bastien Montagne
2020-03-06Fix T73254: Drivers with the object.dimension variable are not updatedSybren A. Stüvel
This fixes an issue where drivers using `object.dimension` only add a dependency on `GEOMETRY` to the depsgraph, whereas they should also depend on `TRANSFORM`. This patch adds a new no-op operation that depends on the geometry and transform components to the Parameters component. An alternative implementation would be to have `RNANodeQuery::construct_node_identifier` return multiple node identifiers. However, this would spread throughout the depsgraph code and unnecessarily force many other functions to either return or handle multiple nodes where in 99.999% of the time a single node would suffice. The new `DIMENSIONS` node is added for each object. An upcoming patch will go over all no-op operation nodes and remove them from the depsgraph. Since this is a more dangerous operation, it'll be reviewed separately. Differential Revision: https://developer.blender.org/D7031
2020-03-06Fluid: Cleanup naming for emmission bounding boxSebastián Barschkis
Since the bounding boxes are now also being used for effector objects, there needs to be a better name for them. Instead of calling them EmissionMap, which caters only to emission objects, they will now be called FluidObjectBB.
2020-03-06Keymap: ignore repeat events for transform actionsCampbell Barton
Resolves T54297
2020-03-06CodeCleanup: eevee_materials Use Struct AssignmentsJeroen Bakker
2020-03-06Cleanup: typo in function namePhilipp Oeser
contect -> context
2020-03-06GHOST/Keymap: support for detecting repeat eventsCampbell Barton
- Keymap items now have 'repeat' boolean which can be set to make keymap items respond to key repeat events or not. - Support for X11 & WIN32 (not macOS currently). This allows for the possibility to perform actions while a key is held and finish the action upon release. Thanks to @Severin for review and WIN32 support.
2020-03-06Cleanup: keyframing return argumentsCampbell Barton
- Use 'int' for counters instead of short. - Use 'bool' instead of a counter when only a change is being detected. - Use typed enum for keying set flags. - Include in comments when a negate error code may be returned.
2020-03-06Cleanup: remove unused 'eInsertKeyFlags' from delete API callCampbell Barton
There is no need for an insertion flag in a delete function.
2020-03-06Cleanup: keyframe API naming, high level keyframe APICampbell Barton
- Split 'verify_fcurve' into two functions: ED_action_fcurve_ensure which adds the f-curve if needed. ED_action_fcurve_find which returns NULL when not found. Callers of ED_action_fcurve_find had unused 'group' argument which has been removed. - Rename verify_adt_action to ED_id_action_ensure It had an argument to add data which was always true, remove this instead of splitting in into a separate function.
2020-03-06Cleanup: rename 'verify' to 'ensure' for BKE_image_viewer functionsCampbell Barton
2020-03-06Cleanup: rename 'verify' to 'ensure' for argument nameCampbell Barton
2020-03-06Cleanup: use 'BKE_' prefix for BKE_deform API callsCampbell Barton
- Use 'BKE_object_defgroup' prefix for object functions. - Rename 'defvert_verify_index' to 'defvert_ensure_index' since this adds the group if it isn't found.
2020-03-06Cleanup: use 'r_' prefix for return argumentsCampbell Barton
Also avoid a redundant strlen call.
2020-03-06Cleanup: use BLI_strnlen instead of strlenCampbell Barton
2020-03-06Cleanup: clang-formatCampbell Barton
2020-03-06Cleanup: use MEM_recallocN_idCampbell Barton
2020-03-06Cleanup: spellingCampbell Barton
2020-03-06Cleanup: add decimal values for event types, order by valueCampbell Barton
2020-03-06Cleanup: quiet switch warningsCampbell Barton
2020-03-06Cleanup: redundant-decls warningCampbell Barton
2020-03-06UI: Using Consistent Font Icon in File BrowserHarley Acheson
Use only one font icon in File Browser for all platforms. Correct mistake to allow this icon to be used. Differential Revision: https://developer.blender.org/D7037 Reviewed by Brecht Van Lommel
2020-03-05Sculpt Face SetsPablo Dobarro
Face Sets are the new system to control the visibility state of the mesh in sculpt and paint modes. They are designed to work in modes where brushes are the primary way of interaction and they provide much more control when working with meshes with complex shapes and overlapping surfaces. This initial commit includes: - Sculpt Face Sets data structures and PBVH rendering. - Face Set overlay and opacity controls. - Sculpt Undo support. - Remesher reprojection support. The visibility state of the mesh is also preserved when remeshing. - Automasking and Mesh filter support. - Mask expand operator mode to expand Face Sets (Shift + W) and flood fill areas by connectivity (press Ctrl while expanding). - Sculpt Mode Face Sets and Visibility API. - Sculpt Face Sets creation and visibility management operators. - Operator to randomize the Face Sets colors. - Draw Face Sets brush tool to create and edit the Face Sets. Drawing on the mesh creates a new Face Set. Pressing Ctrl before drawing modifies the Face Set under the brush at the beginning of the stroke. - Updated keymap and menu to work with Face Sets from Sculpt Mode (H to toggle visibility, Alt + H to show all, Shit + H to hide). - Pie menu on the W key with Face common Sets operations. Know limitations: - Multires support. The Face Sets and Visibility API needs to be implemented for Multires. Reviewed By: jbakker, #user_interface, Severin Differential Revision: https://developer.blender.org/D6070
2020-03-05UI: File Browser FavoritesHarley Acheson
Adding more Windows special folder locations, used when browsing or bookmarking. Differential Revision: https://developer.blender.org/D7014 Reviewed by Brecht Van Lommel
2020-03-05UI: Mac File Browser System List ChangesYevgeny Makarov
Nicer icons for File Browser System and Favorites lists on Mac. Differential Revision: https://developer.blender.org/D6398 Reviewed by Brecht Van Lommel
2020-03-05Ghost: Support drawing OpenGL framebuffers into a DirectX 11 bufferJulian Eisel
Adds a minimal DirectX 11 Ghost context, plus some shared DirectX-OpenGL resource interface using the NV_DX_interop2 WGL extension. From what I know, this should be available on modern GPUs. If not, it should fail gracefully. There should be no user visible changes at this point. Needed for DirectX-only OpenXR platforms (e.g. Windows Mixed Reality). I heard there are other use-cases as well though. It's known that this currently fails on some AMD systems, but that seems to be fixable. Most of this comes from the 2019 GSoC project, "Core Support of Virtual Reality Headsets through OpenXR" (https://wiki.blender.org/wiki/User:Severin/GSoC-2019/). Reviewed by: Jeroen Bakker, Ray Molenkam, Brecht van Lommel Differential Revision: https://developer.blender.org/D6190
2020-03-05Fluid: Optimization in mesh generating loopSebastián Barschkis
No need to have three separate loops for vertices, normals and speed vectors. Since all of them loop over the vertex count, a single loop can be used.
2020-03-05Cleanup: Move std::deque to depsgraph_type.hSybren A. Stüvel
Since `std::deque` is used in a few areas of the Depsgraph, and an upcoming patch adds one more, it's time it's considered as "commonly used type". No functional changes.
2020-03-05Add an session-wise uuid integer to IDs.Bastien Montagne
"session-wise" here mean while editing a same .blend file. So creating or opening a new one will reset the uuid counter. This should avoid any overflow in practice. Only IDs added to Main database get an uuid, runtime-only ones are not affected. This is intended to provide undo with a way to find IDs across several 'memory realms' (undo speedup project). No behavior change is expected from this commit itself. Part of T60695. Differential Revision: https://developer.blender.org/D7007
2020-03-05Fix T74393: Cycles crashes when both OSL and Optix Denoising are enabledPatrick Mours
Enabling viewport denoising causes Cycles to use a multi-device, which always returned NULL when asked for OSL memory and would subsequently crash. This fixes that by returning the correct OSL memory pointer from the CPU device in the special viewport denoising multi-device.
2020-03-05Fix T74332: selection sync replacing parent selectionNathan Craddock
Selecting certain child datablocks also selects the parent (e.g. selecting a pose bone selects the armature). The base was selected, but the outliner tree element was left unselected. The subsequent selection sync would then deselect the parent base because it was not flagged as selected in the outliner. This led to issues like T74332 where selecting a pose bone in the outliner did not show drivers in the driver editor unless the armature was explicitly added to the selection afterwards. The solution is to also flag the outliner elements as selected when selecting parent bases. Differential Revision: https://developer.blender.org/D7029