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-10-28Sequencer: support basic selection & delete from previewsCampbell Barton
Expose select & strip menus and shortcuts for sequencer preview.
2021-10-27Docs: add docstring for wmWindowManger.winactiveCampbell Barton
Also justify rounding up font width.
2021-10-27Revert "Revert "Eevee: support accessing custom mesh attributes""Germano Cavalcante
This reverts commit e7fedf6dba5fe2ec39260943361915a6b2b8270a. And also fix a compilation issue on windows. Differential Revision: https://developer.blender.org/D12969
2021-10-26Revert "Eevee: support accessing custom mesh attributes"Ray Molenkamp
This reverts commit 03013d19d16704672f9db93bc62547651b6a5cb8. This commit broke the windows build pretty badly and I don't feel confident landing the fix for this without review. Will post a possible fix in D12969 and we'll take it from there.
2021-10-26Eevee: support accessing custom mesh attributesKévin Dietrich
This adds generic attribute rendering support for meshes for Eevee and Workbench. Each attribute is stored inside of the `MeshBufferList` as a separate VBO, with a maximum of `GPU_MAX_ATTR` VBOs for consistency with the GPU shader compilation code. Since `DRW_MeshCDMask` is not general enough, attribute requests are stored in new `DRW_AttributeRequest` structures inside of a convenient `DRW_MeshAttributes` structure. The latter is used in a similar manner as `DRW_MeshCDMask`, with the `MeshBatchCache` keeping track of needed, used, and used-over-time attributes. Again, `GPU_MAX_ATTR` is used in `DRW_MeshAttributes` to prevent too many attributes being used. To ensure thread-safety when updating the used attributes list, a mutex is added to the Mesh runtime. This mutex will also be used in the future for other things when other part of the rendre pre-processing are multi-threaded. `GPU_BATCH_VBO_MAX_LEN` was increased to 16 in order to accommodate for this design. Since `CD_PROP_COLOR` are a valid attribute type, sculpt vertex colors are now handled using this system to avoid to complicate things. In the future regular vertex colors will also use this. From this change, bit operations for DRW_MeshCDMask are now using uint32_t (to match the representation now used by the compiler). Due to the difference in behavior for implicit type conversion for scalar types between OpenGL and what users expect (a scalar `s` is converted to `vec4(s, 0, 0, 1)` by OpenGL, vs. `vec4(s, s, s, 1)` in Blender's various node graphs) , all scalar types are using a float3 internally for now, which increases memory usage. This will be resolved during or after the EEVEE rewrite as properly handling this involves much deeper changes. Ref T85075 Reviewed By: fclem Maniphest Tasks: T85075 Differential Revision: https://developer.blender.org/D12969
2021-10-26LineArt: Trimming edges right at the image borderYimingWu
This option allows the edge to end right at the border instead of extending beyond. Useful when having multiple camera setup where you want the border to be clean. Also moved overscan option down inside "Composition" sub panel so it makes more sense. Reviewed By: Antonio Vazquez (antoniov) Differential Revision: https://developer.blender.org/D12126
2021-10-26LineArt: Custom CameraYimingWu
Allows line art camera to be different from scene active camera, useful when baking multiple shots in different angle as well as for motion graphics effect. Reviewed By: Antonio Vazquez (antoniov) Differential Revision: https://developer.blender.org/D12047
2021-10-26LineArt: Stroke offset towards camera.YimingWu
Allows the user to turn off in_front option for grease pencil object and offset strokes towards camera to allow depth interaction of the rest of the scene. Reviewed By: Antonio Vazquez (antoniov) Differential Revision: https://developer.blender.org/D12046
2021-10-26Geometry Nodes: support viewing field values in spreadsheetJacques Lucke
The viewer node has been expanded to have a field input next to the geometry input. When both are connected (by ctrl+shift clicking on a node) the spreadsheet will show the evaluated field on the geometry. The operator to link to the viewer has become a bit smarter. It automatically detects if it should link to the geometry or field input. In the future some more smartness could be added, such as automatically relinking the "right" geometry when viewing a field. Internally, there are two major changes: * Refactor of what happens when ctrl+shift clicking on a node to link to a viewer. The behavior of the geometry nodes viewer is a bit more complex than that of the compositor viewers. The behavior in compositing nodes should not have changed. Any change should be reported as a bug (and then we can decide if it's worse than before or if it needs fixing). * Evaluation, display and caching of fields in the spreadsheet editor. Differential Revision: https://developer.blender.org/D12938
2021-10-26XR Controller Support Step 5: NavigationPeter Kim
Adds navigation transforms (pose, scale) to the XR session state that will be applied to the viewer/controller poses. By manipulating these values, a viewer can move through the VR viewport without the need to physically walk through it. Add-ons can access these transforms via Python (XrSessionState.navigation_location/rotation/scale) to use with custom operators. Also adds 3 new VR navigation operators that will be exposed to users as default actions in the VR Scene Inspection add-on. While all three of these operators have custom properties that can greatly influence their behaviors, for now these properties will not be accessible by users from the UI. However, other add-ons can still set these custom properties if they desire. 1). Raycast-based teleport Moves the user to a location pointed at on a mesh object. The result can optionally be constrained to specific axes, for example to achieve "elevation snapping" behavior by constraining to the Z-axis. In addition, one can specify an interpolation factor and offset. Credit to KISKA for the elevation snapping concept. 2). "Grab" navigation Moves the user through the viewport by pressing inputs on one or two held controllers and applying deltas to the navigation matrix based on the displacement of these controllers. When inputs on both controllers are pressed at the same time (bimanual interaction), the user can scale themselves relative to the scene based on the distance between the controllers. Also supports locks for location, rotation, and scale. 3). Fly navigation Navigates the viewport by pressing a button and moving/turning relative to navigation space or the VR viewer or controller. Via the operator's properties, one can select from a variety of these modes as well as specify the min/max speed and whether to lock elevation. Reviewed By: Severin Differential Revision: https://developer.blender.org/D11501
2021-10-25Assets: Snapping with visual feedback while draggingGermano Cavalcante
The drag and drop feature of objects in 3D View has been modified to include: - Snap the object being dragged. - Visual feedback through a box and the placement tool grid. Maniphest Tasks: T90198 Differential Revision: https://developer.blender.org/D12912
2021-10-25Assets: Add Author field to asset metadataJulian Eisel
This is information you'd typically want to be visible in the UI. It's optional of course, so if not relevant, it can just remain unset.
2021-10-25Assets/IDs: Don't generate previews for object types with no real geometryJulian Eisel
Object types like empties, cameras or lamps will just end up as empty preview images. We can think about ways to visualize them still, but meanwhile, don't create such an empty preview. Differential Revision: https://developer.blender.org/D10334 Reviewed by: Bastien Montagne, Sybren Stüvel
2021-10-25Geometry Nodes: new Image Texture nodeJacques Lucke
This adds a new image texture node for geometry nodes. It does not reuse the same node that is used in shading, because we want to be able to expose the image and frame as sockets. There is a known update issue when a movie or image sequence is used. That will be fixed separately (also see D12957). Currently, the image socket is just a pointer to an Image ID data block. This can contain single images but also movies and image sequences. In the future, the definition of an image socket can be expanded to include images that are generated from scratch in the node tree. For more details read the discussion in D12827. Some of the code is a direct port from cycles and should be cleaned up a bit in the future. For example `image_cubic_texture_lookup`. For still images, the frame input is ignored. Otherwise, the frame has to be in a valid range for the node to work. In the future we may add e.g. automatic looping functionality. Differential Revision: https://developer.blender.org/D12827
2021-10-22Geometry Nodes: add Boolean and Integer Input nodesDorian
These nodes just output a single value of their respective types, making it possible to control multiple inputs with the same value. Differential Revision: https://developer.blender.org/D12932
2021-10-22Fix T90638: Inconsistent object data behavior when link-duplicating collections.Bastien Montagne
Camera, lattice and speaker object types were missing there own proper `USER_DUP_` flags, leading to not properly handling duplication of their object data. NOTE: We could probably simply opions here, by using categories (like 'GEOMETRY', 'SHADING', etc.) instead of exact object types. But this is beyond bugfix scope.
2021-10-21Node Editor: Introduce color overlay and dashed wires theme settingPablo Vazquez
This patch includes code from D9891 and D12754, so credit goes to Juanfran and Dalai. I updated the patches to work with `master` and with the new overlay toggle. The reason to include both changes as part of one patch is that the dimmed dashed lines work much better together with colored wires. Theme setting for dash opacity: {F11370574, size=full} {F11286177, size=full, autoplay, loop} {F11149912, size=full} For adding the overlay I used `SpaceImageOverlay` as reference, although I'm not familiar with this code so there might be mistakes. Reviewed By: #user_interface, HooglyBoogly Differential Revision: https://developer.blender.org/D12886
2021-10-21VSE: Add 2D cursor overlay optionRichard Antalik
Since 2D cursor will be used rarely in VSE and it is adding visual noise, it will be hidden by default. Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D12933
2021-10-20Cleanup: Remove unused file-list array info membersJulian Eisel
2021-10-20Cleanup: use elem macrosCampbell Barton
2021-10-20Cleanup: spelling in commentsCampbell Barton
2021-10-19Geometry Nodes: Fields version of the raycast nodeHans Goudey
This patch includes an updated version of the raycast node that uses fields instead of attributes for inputs instead of outputs. This makes the node's UI much clearer. It should be faster too, since the evaluation system for fields provides multi-threading. The source position replaces the input geometry (since this node is evaluated in the context of a geometry like the other field nodes). Thanks to @guitargeek for an initial version of this patch. Differential Revision: https://developer.blender.org/D12638
2021-10-19Cleanup: use 'e' prefix for enum typesCampbell Barton
2021-10-18Cleanup: internal sequencer naming for overlaysCampbell Barton
- Rename RNA SpaceSeq.show_strip_overlay to show_overlays matching the 3D View, the term "strip" was misleading as this is used for the preview as well. - Rename various RNA overlay settings to overlay_frame since "Frame Offset" is a specific feature, avoid having both Editor.show_overlay and SpaceSeq.show_overlays. - Rename Editing `over_*` -> `overlay_frame_*` in DNA, as well as flags.
2021-10-18Cleanup: spelling in commentsCampbell Barton
2021-10-17UI: Visual style update to panelsPablo Vazquez
Back in Blender 2.30, the GUI project brought panels into Blender among other important visual updates. For the first time it was possible to move the wall of buttons around. Providing a clear separation between sections (it even allowed the grouping of panels in tabs!) During the 2.5 redesign, the separation between panels became a line on top of each panel, and panels received theme settings for background and header colors. The default theme used the same color for both. In 2.8 the background color of panels was different from headers in the default theme, so the separator line was removed. While the separator line wasn't elegant (only on top, non-themeable, hard-coded emboss effect), it provided a sort of separation between panels. This patch solves the panels-separation by simply adding a margin space around them (not visible in default theme yet). Even though the margin reduces the width of the working area slightly, it makes room for the upcoming always-visible scrollbars. Other adjustments: * Use arrow icon instead of triangle to collapse/expand * Use rounded corners to match the rest of the UI (editor corners, nodes, etc). {F10953929, size=full} Margin on panels makes use of the `style->panelouter` property that hasn't been used in a while. Also slight tweaks to `boxspace` and `templatespace` style properties so they are multiples of 2 and operations on them round better. There is technically no need to update the themes for them to work, so no theme changes are included in this patch. {F10953931, size=full} {F10953933, size=full} {F10953934, size=full} {F10954003, size=full} ---- A new theme setting under Style controls the roundness of all panels (added it to Style instead of ThemeSpace because I think controlling the panel roundness per editor is a bit overkill): {F11091561, size=full, autoplay, loop} Reviewed By: HooglyBoogly Differential Revision: https://developer.blender.org/D12814
2021-10-16Fix nonnull-compare warning in DNA_view3d_types.hJesse Yurkovich
Was introduced in rB93a8fd1249f
2021-10-16Geometry Nodes: Rotate Euler: Use "Local" instead of "Point"Jarrett Johnson
Since points aren't relevant in function nodes, replace all mentions of it with "local" to illustrate rotations done in local-space instead. Differential Revision: https://developer.blender.org/D12881
2021-10-15Geometry Nodes: Fields transfer attribute nodeHans Goudey
This commit adds an updated version of the old attribute transfer node. It works like a function node, so it works in the context of a geometry, with a simple data output. The "Nearest" mode finds the nearest element of the specified domain on the target geometry and copies the value directly from the target input. The "Nearest Face Interpolated" finds the nearest point on anywhere on the surface of the target mesh and linearly interpolates the value on the target from the face's corners. The node also has a new "Index" mode, which can pick data from specific indices on the target geometry. The implicit default is to do a simple copy from the target geometry, but any indices could be used. It is also possible to use a single value for the index to to retrieve a single value from an attribute at a certain index. Differential Revision: https://developer.blender.org/D12785
2021-10-15Cleanup: Commonize code for checking scene lights/world settingsJesse Yurkovich
There were several places attempting to check to see if scene lights and world were enabled for display. This tries to find a common place for both of these to reduce duplication. Honestly, I couldn't find a really good spot for these and settled on DRW_engine. It's not the best spot since they're not strictly drawing related, but let's start here. Reviewed By: fclem Differential Revision: https://developer.blender.org/D12658
2021-10-14Cleanup: remove historic reference from makesdna.cCampbell Barton
We have mostly removed information about original authors, as this information isn't so useful.
2021-10-14Cleanup: pass the sizeof(..) as the second arg for array allocationCampbell Barton
By argument naming and convention this is the intended argument order.
2021-10-12XR Controller Support Step 4: Controller DrawingPeter Kim
Addresses T77127 (Controller Drawing). Adds VR controller visualization and custom drawing via draw handlers. Add-ons can draw to the XR surface (headset display) and mirror window by adding a View3D draw handler of region type 'XR' and draw type 'POST_VIEW'. Controller drawing and custom overlays can be toggled individually as XR session options, which will be added in a future update to the VR Scene Inspection add-on. For the actual drawing, the OpenXR XR_MSFT_controller_model extension is used to load a glTF model provided by the XR runtime. The model's vertex data is then used to create a GPUBatch in the XR session state. Finally, this batch is drawn via the XR surface draw handler mentioned above. For runtimes that do not support the controller model extension, a a simple fallback shape (sphere) is drawn instead. Reviewed By: Severin, fclem Differential Revision: https://developer.blender.org/D10948
2021-10-12Geometry Nodes: Add Color input nodeCharlie Jolly
Adds a color input node with picker. Differential Revision: https://developer.blender.org/D12793
2021-10-11Cycles: restore Christensen-Burley SSSBrecht Van Lommel
There is not enough time before the release to improve Random Walk to handle all cases this was used for, so restore it for now. Since there is no more path splitting in cycles-x, this can increase noise in non-flat areas for the sample number of samples, though fewer rays will be traced also. This is fundamentally a trade-off we made in the new design and why Random Walk is a better fit. However the importance resampling we do now does help to reduce noise. Differential Revision: https://developer.blender.org/D12800
2021-10-11Geometry Nodes: Add Nodes to Get/Set Built-in AttributesJohnny Matthews
This commit implements T91780, adding nodes to get and set builtin attributes. Individual set nodes are used so that the values can be exposed for direct editing, which is useful for attributes like shade smooth and spline resolution. Individual input nodes are used to allow reusing nodes for multiple components, and to allow grouping multiple outputs conceptually in the same node in the future. Input Nodes - Radius - Curve Tilt - Curve Handle Positions - Is Shade Smooth - Spline Resolution - Is Spline Cyclic 'Set' Nodes - Curve Radius - Point Radius - Curve Tilt - Curve Handle Positions - Is Shade Smooth - Spline Resolution - Is Spline Cyclic Using hardcoded categories is necessary to add separators to the node menu. Differential Revision: https://developer.blender.org/D12687
2021-10-11Geometry Nodes: Separate and Delete Geometry for fieldsWannes Malfait
Delete Geometry: This adds a copy of the old node in the legacy folder and updates the node to work with fields. The invert option is removed, because it is something that should be very easy with fields, and to be consistent with other nodes which have a selection. There is also a dropdown to select the domain, because the domain can't be determined from the field input. When the domain does not belong on any of the components an info message is displayed. Separate Geometry: A more general version of the old Point Separate node. The "inverted" output is the same as using the delete geometry node. Differential Revision: https://developer.blender.org/D12574
2021-10-09Geometry Nodes: Align Euler to Vector NodeJarrett Johnson
This commit introduces the Align Euler to Vector function node which rotates to a body into a given direction. The node replaces the legacy "Align Rotation to Vector" node, which only worked on an attribute named `rotation` internally. The "Euler" in the name is meant to make it clearer that the rotation isn't interchangeable with a regular vector. Addresses T91374. Differential Revision: https://developer.blender.org/D12726
2021-10-09VSE: rename flag for Frame Overlay featureRichard Antalik
Rename `SEQ_EDIT_OVERLAY_SHOW` to `SEQ_EDIT_USE_FRAME_OVERLAY` to avoid confusion between `SEQ_SHOW_OVERLAY` of `SpaceSeq.flag`
2021-10-08Sequencer: add option to toggle gizmosCampbell Barton
Use shortcut matching the 3D view & popover in the header
2021-10-08Cleanup: remove deprecated SEQ_DRAW_SEQUENCE valueCampbell Barton
While drawing cleared this value (as part of temporary fix from 2009), this was still being checked until recently. Remove this value in versioning code. Also clear unused text space flag.
2021-10-07Cleanup: Rename enum valuesHans Goudey
This makes the diff for adding a new version of the attribute transfer node slightly smaller.
2021-10-07Sequencer: 2D cursor for the preview & transformCampbell Barton
- Use 2D cursor in the preview space using shortcuts matching the UV editor and 3D view. - Add Cursor tool, cursor transform. - Support for cursor and bound-box pivot. - Add pivot pie menu.
2021-10-06Cleanup: spelling in commentsCampbell Barton
2021-10-04Cleanup: Replace macro with functionHans Goudey
2021-10-04Cleanup: rename eRegionType -> eRegion_TypeCampbell Barton
Match eSpace_Type.
2021-10-03Geometry Nodes: Add Rotate Euler NodeJarrett Johnson
This commit introduces the Rotate Euler function node which modifies an input euler rotation. The node replaces the "Point Rotate" node. Addresses T91375. Differential Revision: https://developer.blender.org/D12531
2021-10-01Tracking: Sort motion tracking tracks by start and end framesJohan Walles
Enable sorting motion tracking tracks by start / end times. Help identifying what cases reconstructed camera jumps, based on information about whether any track starts/ends at the frame. Based on revision eb0eb54d9644c5139ef139fee1e14da35c4fab7e. {F10563305} Reviewed By: sergey Differential Revision: https://developer.blender.org/D12621
2021-09-30VSE: Add ASC CDL color correction methodJosef Raschen
Add Offset/Slope/Power controls to the color balance modifier. This is already available in compositor. Reviewed By: sergey, ISS Differential Revision: https://developer.blender.org/D12575
2021-09-30Cleanup: remove unused SpaceImage.curtileCampbell Barton