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
2022-08-23Fix T99524: GPencil not updating when frame num is changedFalk David
When changing the frame_number of a grease pencil frame, the grease pencil object is not updated correctly. The frame stays where it previously was. The fix adds a `property_update` callback to the `frame_number` RNA property. Maniphest Tasks: T99524 Reviewed By: antoniov Differential Revision: https://developer.blender.org/D15394
2022-05-25Cleanup: Add more const'ness to RNA API.Bastien Montagne
This commit makes PointerRNA passed to RNA path API const. Main change was in the `path` callback for RNA structs, and indirectly the `getlength` callback of properties.
2022-03-29Cleanup: Remove commented lines of previous commitAntonio Vazquez
2022-03-29Fix T96799: GPencil `weight_get` API cannot retrieve weightsAntonio Vazquez
The problem was when the stroke had less weights that the total number of vertex groups. The API checked the total number of groups, but this is not required because `BKE_defvert_find_index` returns NULL is the vertex group index does not exist.
2022-03-02Fix T96101: "Remove" button failure on Grease Pencil layer's relation to boneAntonio Vazquez
As the channel was not found, the relation data was not updated. Now, if the bone is removed, the relation is set.
2022-02-11File headers: SPDX License migrationCampbell Barton
Use a shorter/simpler license convention, stops the header taking so much space. Follow the SPDX license specification: https://spdx.org/licenses - C/C++/objc/objc++ - Python - Shell Scripts - CMake, GNUmakefile While most of the source tree has been included - `./extern/` was left out. - `./intern/cycles` & `./intern/atomic` are also excluded because they use different header conventions. doc/license/SPDX-license-identifiers.txt has been added to list SPDX all used identifiers. See P2788 for the script that automated these edits. Reviewed By: brecht, mont29, sergey Ref D14069
2022-02-11Cleanup: clang-formatCampbell Barton
2022-02-10GPencil: Update-on-write using update cacheFalk David
This implements the update cache described in T95401. The cache is currently only used for drawing strokes and sculpting (using the push brush). **Note: Making use of the cache throughout grease pencil will have to be done incrementally in other patches. ** The update cache stores what elements have changed in the original data-block since the last time the eval object was updated. Additionally, the update cache can store multiple updates to the data and minimizes the number of elements that need to be copied. Elements can be tagged using `BKE_gpencil_tag_full_update` and `BKE_gpencil_tag_light_update`. A full update means that the element itself will be copied but also all of the content inside. E.g. when a layer is tagged for a full update, the layer, all the frames inside the layer and all the strokes inside the frames will be copied. A light update means that only the properties of the element are copied without any of the content. E.g. if a layer is tagged with a light update, it will copy the layer name, opacity, transform, etc. When the update cache is in use (e.g. elements have been tagged) then the depsgraph will not trigger a copy-on-write, but an update-on-write. This means that the update cache will be used to determine what elements have changed and then only those elements will be copied over to the eval object. If the update cache is empty or the data block was tagged with a full update, we always fall back to a copy-on-write. Currently, the update cache is only used by the active depsgraph. This is because we need to free the update cache after an update-on-write so it's reset and we need to make sure it is not freed or read by other depsgraphs. Co-authored-by: @yann-lty This patch was contributed by The SPA Studios. Reviewed By: sergey, antoniov, #dependency_graph, pepeland, mendio Maniphest Tasks: T95401 Differential Revision: https://developer.blender.org/D13984
2022-01-31Fix T95336: Wrong tooltip for Show Only on Keyframed checkboxAntonio Vazquez
The "Paint" mode is wrong, must be "Draw"
2021-10-13Fix T92185: GPencil memory leak removing stroke from pythonAntonio Vazquez
The API was not removing the weights, points and traingulation data. Only it was removing the stroke itself.
2021-09-20Fix T91511: GPencil weight_get and Vertex Groups not working at expectedAntonio Vazquez
The API was checking the number of total weights with the first point of the stroke and this was not valid because each point can have different number of weight elemnts,
2021-08-31Fix T90989: Annotation opacity must not be animatableAntonio Vazquez
All props of annotations are not animatable by design and opacity must be equal. As the opacity is reused by gpencil objects, a new prop has been created in order to use different props for annotations and GP objects.
2021-08-09Cleanup/fixes in UI messages.Bastien Montagne
2021-07-03Cleanup: consistent use of tags: NOTE/TODO/FIXME/XXXCampbell Barton
Also use doxy style function reference `#` prefix chars when referencing identifiers.
2021-06-24Cleanup: comment blocks, trailing space in commentsCampbell Barton
2021-06-09Revert "GPencil: Add custom normal entry to bGPDspoint."YimingWu
This reverts commit f546b0800b9121b24b1292f1ec602ed9964d1848.
2021-06-09GPencil: Add custom normal entry to bGPDspoint.YimingWu
Also modified existing utility functions to take care of the new surface normal interpolation and so on. Reviewed By: Antonio Vazquez (antoniov) Differential Revision: https://developer.blender.org/D11543
2021-05-29Docs: Add documentation for 'material_index'Aaron Carlisle
Fixes T88485
2021-05-26GPencil: Cleanup - Conform with RNA naming schemeFalk David
The newly added `disable_masks_viewlayer` RNA property did not conform with the RNA naming scheme. This renames it to `use_viewlayer_masks`.
2021-05-26GPencil: Add option to disable masks in view layerFalk David
This patch adds an option in the Layers > Relations panel called "Disable Masks in Render". When checked, no masks on this layer are included in the render. Example: | {F10087680} | {F10087681} | See T88202 for why this is needed. Reviewed By: antoniov Maniphest Tasks: T88202 Differential Revision: https://developer.blender.org/D11234
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-01GPencil: Auto lock layers, tooltip grammar fixTomasz Kaye
Reviewed By: #grease_pencil, antoniov Differential Revision: https://developer.blender.org/D11136
2021-04-15GPencil: Change UI text and tooltipAntonio Vazquez
The text was not changed in the refactor and had the old text.
2021-03-02UI: Clean up labels and descriptions: "Draw" to "Display"William Reynish
In Blender, we used to use the term 'draw' to refer to information displayed to the user. For version 2.80, it was decided to change these instances to 'display' instead. This was to avoid the ambiguity between end-user drawing tools and display options. From the Oxford English Dictionary: - Draw: produce (a picture or diagram) by making lines and marks on paper with a pencil, pen, etc. - Display: show (data or an image) on a computer, television, or other screen. Therefore, we should use draw when referring to drawing tools for making marks, but use display when referring to information shown/displayed to the user. From a user POV, the computer displays certain information, whereas the user draws a mark. Apparently this change was not implemented consistently, so this patch changes all remaining relevant instances of "draw". Differential Revision: https://developer.blender.org/D10551
2021-02-20Cleanup: Split grease pencil selection index functionsAntonio Vazquez
This makes the code more readable.
2021-02-19GPencil: Interpolate Tools refactorAntonio Vazquez
Following with the changes included to interpolate strokes of different number of points, a full review has been done in the interpolation tools. * Interpolate now is a tool and not an operator. It was not logic to have this tool as a button. * Interpolate tool parameters have been moved to topbar. * Interpolate popover has been removed from topbar and interpolate `Sequence` operator has been moved to grease pencil menu. * Interpolate Sequence now include a Redo panel. * Interpolate tool now allows to select the strokes by pairs. This allows to interpolate any stroke with any stroke and not as before that it was only possible by drawing order. If no stroke is selected, the interpolation is done as before. * Now is possible interpolate again if a previous keyframe exist. Before, it was impossible to interpolate two times in same frame and this made impossible to do the interpolation by groups of frames. * New automatic option to `Flip strokes` if the stroke and end are not in the right position. Also the flip can be set manually for corner cases. * Cleanup of menus related to interpolate. * Fixed some bugs and removed parameters from scene because now all are tool or operator contained. * Some code cleanup and function renames. This commit also includes the some codebase to future implementation of the concept `Vertex Active` that now does not exist in grease pencil.
2021-02-07GPencil: Fix wrong python API for Point weightsAntonio Vazquez
The old property never worked as expected because it was impossible expose the data as props. Now, there are two methods to handle this: weight_get and weight_set Example use: ```import bpy ob = bpy.context.active_object gpd = ob.data gps = gpd.layers[0].frames[0].strokes[0] i = 0 print("Weights\n================================") for pt in gps.points: gps.points.weight_set(vertex_group_index=0, point_index=i, weight=0.5) i +=1 i = 0 for pt in gps.points: weight = gps.points.weight_get(vertex_group_index=0, point_index=i) print(weight) i +=1 ``` Reviewed By: brecht Maniphest Tasks: T84967 Differential Revision: https://developer.blender.org/D10177 b3f989
2021-02-05GPencil: New python API to force stroke triangulation data updateAntonio Vazquez
In some python scripts, the coordinates of the points are manipulated, but there are no way to force the recalculation and need hack to force the refresh. The new api allows to call to the refresh function directly. example: `gp_stroke.points.update()`
2021-01-21GPencil: Make Layer and Frame duplicate functions more flexibleAntonio Vazquez
Now it's possible to copy only part of the data. This will be used in future operators.
2021-01-16GPencil: Add new parameteres to transform layersAntonio Vazquez
When using grease pencil for drawing Storyboards, it's very common to require a transform of the layers. This transform can be done using the offset modifier, but in some cases, the scene requires a lot of modifiers and makes the file hard to work. This new feature adds a transforms Location, Rotation and Scale at Layer level, and allows to transform the layer without using a modifier, keeping the scene more clean. {F9480695} This feature was suggested by @pepeland after receiving feedback from several artists. Also, done some code cleanup and rename some functions to get a better naming. Maniphest Tasks: T83660 Differential Revision: https://developer.blender.org/D9761
2020-12-24UI: Cleanup spelling of compound wordsYevgeny Makarov
Approximately 138 changes in the spelling of compound words and proper names like "Light Probe", "Shrink/Fatten", "Face Map". In many cases, hyphens were used where they aren't correct, like "re-fit". Other common changes include: - "Datablock" -> "data-block" - "Floating point" -> "floating-point" - "Ngons" -> "n-gons" These changes help give the language used in the interface a consistent, more professional feel. Differential Revision: https://developer.blender.org/D9923
2020-12-24Cleanup: Fix capitalization in various UI stringsYevgeny Makarov
Approximately 195 changes of capitalization to conform to MLA title style. UI labels and property names should use MLA title case, while descriptions should be capitalized like regular prose, generally with only the start of a sentence capitalized. Differential Revision: https://developer.blender.org/D9922
2020-12-14Fix missing string escape for RNA path creationCampbell Barton
2020-12-10Cleanup: rename BLI_strescape to BLI_str_escapeCampbell Barton
Prepare for `BLI_str_unescape` which doesn't read well without the separator.
2020-11-13GPencil: Merge GSoC curve edit modeFalk David
Differential Revision: https://developer.blender.org/D8660 This patch is the result of the GSoC 2020 "Editing Grease Pencil Strokes Using Curves" project. It adds a submode to greasepencil edit mode that allows for the transformation of greasepencil strokes using bezier curves. More information about the project can be found here: https://wiki.blender.org/wiki/User:Filedescriptor/GSoC_2020.
2020-09-30Cleanup: use 'use_' prefix for RNA booleansCampbell Barton
Some of the naming was quite misleading.
2020-08-19GPencil: Change default Onion Keyframe mode to ALLAntonio Vazquez
Now by default the selection mode is All keyframes types. Also removed the icon for All option and renamed from `All Types`to `All`. UI review by @pablovazquez
2020-06-19Fix T78024: GPencil - Add missing UV Fill prop to RNAAntonio Vazquez
This was changed in the refactor done in 2.83 and was not included by error.
2020-06-12GPencil: Make accessible via python to keyframe typeAntonio Vazquez
This can be requiered for some add-ons and for some reason this prop was missing in RNA.
2020-05-26Curves: Implement Handles for selected points onlyAntonio Vazquez
When editing a complex curve is very annoying to have all handles at a time. Also, this is a requirement for the current GSoC Edit Grease Pencil using curves. I have seen that this improvement can be used in any other area of blender, so I have decided to publish the option in the overlay panel.. Reviewed By: fclem, #user_interface, billreynish, Severin Differential Revision: https://developer.blender.org/D7754
2020-05-19GPencil: Make is_nofill_stroke property editableAntonio Vazquez
This can be used by some add-ons.
2020-05-13Merge branch 'blender-v2.83-release'Philipp Oeser
2020-05-13Fix T76703: GPencil bone parenting missing dependency updatePhilipp Oeser
Maniphest Tasks: T76703 Differential Revision: https://developer.blender.org/D7715
2020-04-30Merge branch 'blender-v2.83-release'Antonio Vazquez
2020-04-30Fix T76236: GPencil drrawing resetting posed positions with armature after ↵Antonio Vazquez
layer renaming The datablock was not tagged for updating.
2020-04-20Merge branch 'blender-v2.83-release'Bastien Montagne
2020-04-20Various typos fixes in UI messages.Bastien Montagne
2020-04-18Merge branch 'blender-v2.83-release'Antonio Vazquez
2020-04-18GPencil: Disable animation for Onion Custom ColorsAntonio Vazquez
This was forgotten by error. All Onion props must be disabled.
2020-04-18GPencil: Make properties animatableAntonio Vazquez
Make use lights and mask properties animatable.