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
path: root/source
AgeCommit message (Collapse)Author
2021-05-18Cleanup: use const casts in mathutils APICampbell Barton
2021-05-18PyAPI: allow any vector sequence for poly_3d_calc(..)Campbell Barton
Previously only vectors were accepted for the second point argument: mathutils.interpolate.poly_3d_calc()
2021-05-18Merge branch 'blender-v2.93-release'Campbell Barton
2021-05-18Fix T88026: Repeated switch to rendered viewport crashesCampbell Barton
Resolve ownership ambiguity with shared physics pointers. Previously, LIB_ID_CREATE_NO_MAIN allowed pointer sharing with the source ID so physics caches can be shared between original and evaluated data: (Object.soft.shared & Object.rigidbody_object.shared). This only worked properly for LIB_TAG_COPIED_ON_WRITE ID's, as LIB_TAG_NO_MAIN can be used in situations where the original ID's lifetime limited by it's original data. This commit adds `LIB_ID_COPY_SET_COPIED_ON_WRITE` so ID's only share memory with original data for ID's evaluated in the depsgraph. For all other uses, a full copy of physics data is made. Ref D11228#287094
2021-05-18Cleanup: clang-formatCampbell Barton
2021-05-18Merge branch 'blender-v2.93-release'Pablo Dobarro
2021-05-18Fix T88230: Properly handle Face Set visibility in Expand Face Sets editingPablo Dobarro
Expand is not expected to update the visibility state of the PBVH, only the Face Sets IDs. If visibility updates are made accidentally, PBVH rendering breaks. In order for this to work properly, the following fixes are needed: - Expand should always check for active component before attempting to modify a Face Set ID - Expand should always check the visibility state on original_face_sets, as it is the array that contains the visiblilty state that corresponds with the current state used for PBVH rendering. This implies that after any modification done by Expand, the visibility state of ss->face_sets and expand_cache->original_face_sets should match (like in any other tool that does not modify visibility). - Expand should never modify the Face Set ID of a poly that is hidden in expand_cache->original_face_sets. - When deleting an ID, hidden Face Sets should be skipped when picking IDs for content filling. This avoids introducing hidden IDs back into the visible geometry even after updating its visibility state. Reviewed By: JulienKaspar, JacquesLucke Maniphest Tasks: T88230 Differential Revision: https://developer.blender.org/D11243
2021-05-17Collada import: use black for Base Color when missing <diffuse>Gaia Clary
Treat a missing <diffuse> the same as a black diffuse color. The easiest way to see this bug is with a Collada shader like ``` <constant> <emission> <color sid="emission">1 0 0 1</color> </emission> </constant> ``` The Collada spec says this should be just ``` color = <emission> ``` ie. red everywhere. The importer slots the red into the Principled Emission socket, but since it leaves the Base Color as the default off-white, this is added to red, and the material looks white-pink in the light and red only in the shadows. Putting black in the Base Color makes it look red everywhere. D10939 will also eliminate the much-less-noticeable specular term for this case. Reviewed By: gaiaclary Differential Revision: https://developer.blender.org/D10941
2021-05-17Merge branch 'blender-v2.93-release'Brecht Van Lommel
2021-05-17refactor: minor changes to previous commitGaia Clary
- rename boolean is_zero by more descriptive has_specularity - add some clarifying comments (and TODO)
2021-05-17Collada import: respect zero-specularityScurest
Collada shaders with black <specular> should import with Specular=0. (A missing <specular> is the same as black.) The general specular conversion is hard, but this case is common and easy. Fixes the specular for all <constant>/<lambert> shaders, and <blinn>/<phong> shaders with black/omitted <specular>. Before this they all looked too "shiny". Reviewed By: gaiaclary Differential Revision: https://developer.blender.org/D10939
2021-05-17Fix T86278: vertex color baking not working with modifiersBrecht Van Lommel
As in the old Blender Internal baking code, this still relies on there being a good mapping to the original vertices.
2021-05-17Mathutils: add a Matrix.LocRotScale constructor for combining channels.Alexander Gavrilov
Combining location, rotation and scale channels into a matrix is a standard task, so while it is easily accomplished by constructing and multiplying 3 matrices, having a standard utility allows for more clear code. The new constructor builds a 4x4 matrix from separate location, rotation and scale values. Rotation can be represented as a 3x3 Matrix, Quaternion or Euler value, while the other two inputs are vectors. Unneeded inputs can be replaced with None. Differential Revision: https://developer.blender.org/D11264
2021-05-17File List: micro optimization in the icon previewGermano Cavalcante
No real functional changes. When `i` is zero, `filelist_cache_previews_push` was called twice with the same icon. This caused the preview to be computed twice when only once is needed.
2021-05-17Cleanup: reduce indentation in filelist_cache_previews_pushGermano Cavalcante
2021-05-17Merge branch 'blender-v2.93-release'Antonio Vazquez
2021-05-17GPencil: Fix unreported error exporting to PDF/SVG with animated cameraAntonio Vazquez
Before, the camera parameters were calculated only for first frame. If the camera is animated, these values need to be recalculated in order to get the new camera view position and export the strokes as expected. Also fixed the export of PDF when the view is not in camera view. PDF export, needs to be done in camera view.
2021-05-17Geometry Nodes: update callbacks with 2 new socket typesWannes Malfait
2021-05-17UI: use non-linear slidersHenrik Dick
* Boolean Modifier > Fast > Overlap Threshold (Logarithmic). * Remesh Modifier > Voxel > Voxel Size (Logarithmic). * Sculpt > Dyntopo > Detail Size (Cubic). Ref D9074
2021-05-17UI: add non-linear slider supportHenrik Dick
This patch introduces non linear sliders. That means, that the movement of the mouse doesn't map linearly to the value of the slider. The following changes have been made. - Free logarithmic sliders with maximum range of (`0 <= x < inf`) - Logarithmic sliders with correct value indication bar. - Free cubic sliders with maximum range of (`-inf < x < inf`) - Cubic sliders with correct value indication bar. Cubic mapping has been added as well, because it's used for brush sizes in other applications (Krita for e.g.). To make a slider have a different scale type use following line in RNA: `RNA_def_property_ui_scale_type(prop, PROP_SCALE_LOGARITHMIC);` or: `RNA_def_property_ui_scale_type(prop, PROP_SCALE_CUBIC);` Test the precision, step size and soft-min if you change the scale type of a property as it will feel very different and may need tweaking. Ref D9074
2021-05-17Cleanup: remove commented code, use function to access header regionCampbell Barton
2021-05-17Cleanup: missing declaration warningCampbell Barton
2021-05-17Cleanup: clang-formatCampbell Barton
2021-05-17Cleanup: Fix missing-braces warning on Linux / GCCCampbell Barton
2021-05-16Cleanup: Fix missing-braces warning on macOS ClangAnkit Meel
2021-05-16Cleanup: Fix inconsistent-missing-override warningAnkit Meel
macOS Clang
2021-05-16Cleanup: Improve commentsHans Goudey
2021-05-16Cleanup: Use helper functionHans Goudey
Use the `CurveEval` function introduced in the last commit.
2021-05-16Splines: Convenience methods for point offsets of multiple splinesHans Goudey
Since spline data is stored separately for each spline, the data often needs to be flattened into a separate array. It's helpful to have the necessarily-sequential part of that split off into a separate method. I've found myself using functions like these in quite a few places.
2021-05-15XR Controller Support Step 1: Internal Abstractions for OpenXR ActionsPeter Kim
Adds internal API for creating and managing OpenXR actions at the GHOST and WM layers. Does not bring about any changes for users since XR action functionality is not yet exposed in the Python API (will be added in a subsequent patch). OpenXR actions are a means to communicate with XR input devices and can be used to retrieve button/pose states or apply haptic feedback. Actions are bound to device inputs via a semantic path binding (https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#semantic-path-interaction-profiles), which serves as an XR version of keymaps. Main features: - Abstraction of OpenXR action management functions to GHOST-XR, WM-XR APIs. - New "xr_session_start_pre" callback for creating actions at appropriate point in the XR session. - Creation of name-identifiable action sets/actions. - Binding of actions to controller inputs. - Acquisition of controller button states. - Acquisition of controller poses. - Application of controller haptic feedback. - Carefully designed error handling and useful error reporting (e.g. action set/action name included in error message). Reviewed By: Julian Eisel Differential Revision: http://developer.blender.org/D10942
2021-05-15Cleanup: silence unused parameter warningsGermano Cavalcante
Introduced in rB48fa029dd11b.
2021-05-15Merge branch 'blender-v2.93-release'Clément Foucault
2021-05-15Fix T88204 EEVEE: Animated world light doesnt work during renderClément Foucault
This was a bug uncovered by rB50782df42586. Previously, the lightcache was always discarded between redraw and forced to be updated again. Now we check for update inside the render loop making it compatible with accumulation motion blur and long exposure.
2021-05-15Merge branch 'blender-v2.93-release'Clément Foucault
2021-05-15EEVEE: Depth of Field: Fix tile artifacts in mixed focus regionsClément Foucault
This was caused by the slight focus gather not being wide enough for small radii. Now the cast to int will properly round the radius to the nearest integer. This is related to T86244 Black Artefacts in EEVEE on Transparent BSDF
2021-05-15Fix T85845 EEVEE: Depth Of Field: Artifacts with slight out of focusClément Foucault
This was caused by the bokeh LUT being sampled outside the valid range. But `texelFetch` is only valid if the sample actually exists. This lead to undefined behavior. The fix is to increase `DOF_MAX_SLIGHT_FOCUS_RADIUS` (which just offsets the LUT along the X=Y axis) to avoid any sample outside the defined range.
2021-05-15GPencil: Add parameter removed by error in previous commitAntonio Vazquez
This fix the compiler warning too.
2021-05-15Merge branch 'blender-v2.93-release'Philipp Oeser
2021-05-15RigidBodies: Clarify usage of the custom density in the calculate massPhilipp Oeser
operator This is only used when the preset is set to 'Custom', make that clear in the tooltip and disable editing the value if another preset is used. Issue came up in T88155. Maniphest Tasks: T88155 Differential Revision: https://developer.blender.org/D11210
2021-05-15Merge branch 'blender-v2.93-release'Philipp Oeser
2021-05-15Fix T88188: Keyframing Vertex Mass in Cloth Simulation doesn't have anyPhilipp Oeser
effect The way it is now, `ClothVertex->mass` is setup once for the clothObject and then reused if it already exists [so does not change across frames/ steps] which happens in`cloth_from_object` / `do_init_cloth`, where `SIM_cloth_solver_init` / `SIM_mass_spring_set_vertex_mass` are called and set up masses in `Implicit_Data`. Seems possible to update `ClothVertex->mass` every step in `do_step_cloth`, however it seems more involved to update the masses in `Implicit_Data` there as well. The masses from `Implicit_Data` are accessed in many places, so it would be mandatory to have these masses kept up-to-date (and even then it is unclear if the solver was designed to work with these animated or if there are assumptions about this being stable across the sim). So propose to remove the (broken/not implemented) animation capabilities on the property instead. Maniphest Tasks: T88188 Differential Revision: https://developer.blender.org/D11225
2021-05-15Cleanup: Update / improve commentsHans Goudey
2021-05-14Cleanup: Move attribute code to attribute headerHans Goudey
This code in the geometry set header was not directly related to geometry sets, it makes more sense in the attribute access header. This makes it clearer that code for geometry components uses attribute code, rather than the other way around. It also allows adding more functionality to `BKE_attribute_access.hh` that depends on these things without including `BKE_geometry_set.hh` there.
2021-05-14Fix T88262: Curve to mesh crash with vector last segmentHans Goudey
The code incorrectly used the size of the second to last segment rather than the last segment's size. That was a problem when the last segment is a vector segment but the second to last isn't. I also used the opportunity to slightly refactor the control point offsets cache, making it one longer so it also contains information about the size of the last segment, simplifying other code.
2021-05-14Merge branch 'blender-v2.93-release'Philipp Oeser
2021-05-14Fix T88234: Crash with Eevee when shader displacement socket connection is mutedPhilipp Oeser
In {rB266cd7bb82ce}, support for muting links was added. It might be debatable if we define a shader as "having" displacement even if the link is muted, but after said commit, shader_has_displacement() would return true but still leave the returned node as NULL. Now also return false if the link is muted (otherwise the caller would need to additionally check the returned node as well.) Maniphest Tasks: T88234 Differential Revision: https://developer.blender.org/D11256
2021-05-14Merge branch 'blender-v2.93-release'Philipp Oeser
Conflicts: source/blender/editors/object/object_add.c
2021-05-14GPencil: Refactor Append operatorsAntonio Vazquez
Now the operators work like other areas of Blender using the list of selected objects. Also, the name has been changed to: ```Layers: - Copy Layer to Selected - Copy All Layers to Selected Materials: - Copy Material to Selected - Copy All Materials to Selected``` Reviewed By: mendio, pablovazquez, pepeland Differential Revision: https://developer.blender.org/D11216
2021-05-14Python GPU: New 'platform' moduleGermano Cavalcante
This module exposes the platform utils defined in the GPU module in C. This will be useful for porting existing code with `bgl` to `gpu`. Reviewed By: fclem, brecht, campbellbarton Maniphest Tasks: T80730 Part of D11147
2021-05-14Python GPU: New 'capabilities' moduleGermano Cavalcante
This module exposes the capabilities defined in the GPU module in C. This will be useful for porting existing code in `bgl` to `gpu`. Reviewed By: fclem, brecht, campbellbarton Maniphest Tasks: T80730 Part of D11147