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-08-12GPencil: Move merge similar materials code to BKEAntonio Vazquez
This is required in other places and need to be shared.
2020-08-07Code Style: use "#pragma once" in source directoryJacques Lucke
This replaces header include guards with `#pragma once`. A couple of include guards are not removed yet (e.g. `__RNA_TYPES_H__`), because they are used in other places. This patch has been generated by P1561 followed by `make format`. Differential Revision: https://developer.blender.org/D8466
2020-06-19Fix T77997: GPencil insert keyframe on timeline doen't update viewportAntonio Vazquez
The reason was the datablock is changed but it was not tagged for depsgraph refresh. In some cases it could be possible to tag several times the same datablock, but as this is not the case all the times and the number of tags is always very small, it doesn't worth a complex code to keep a memory list of the datablocks to tag.
2020-06-03Fix T77156: GPencil view layer filter by layer not workingAntonio Vazquez
This was removed by error during the refactor done in 2.83. Differential Revision: https://developer.blender.org/D7909 Reviewers: @fclem
2020-04-05Cleanup: macro hygiene, parenthesize argumentsCampbell Barton
2020-03-19GPencil: Cleanup - Split BKE_gpencil.h geometry functions into ↵Antonio Vazquez
BKE_gpencil_geom.h This split prepare the code for future geometry functions.
2020-03-16Fix T61234 Mirroring Grease Pencil keyframes in the Dopesheet failsSybren A. Stüvel
`ANIM_animdata_update()` did not sort grease pencil frames. A pre-existing comment stated this wouldn't be necessary as `posttrans_gpd_clean()` already does this. However, this is only applicable when the change is performed via the transform system. The mirror operator doesn't call `posttrans_gpd_clean()`, invalidating the assumption in the comment. I moved the sorting code into `BKE_gpencil_layer_frames_sort()`, which is now called from both `ANIM_animdata_update()` and `posttrans_gpd_clean()`.
2020-03-14Cleanup: sort file lists & struct declatationsCampbell Barton
2020-03-09Cleanup: GreasePencil: Move to IDTypeInfo and remove unused BKE API.Bastien Montagne
2020-03-09GPencil: Refactor of Draw Engine, Vertex Paint and all internal functionsAntonio Vazquez
This commit is a full refactor of the grease pencil modules including Draw Engine, Modifiers, VFX, depsgraph update, improvements in operators and conversion of Sculpt and Weight paint tools to real brushes. Also, a huge code cleanup has been done at all levels. Thanks to @fclem for his work and yo @pepeland and @mendio for the testing and help in the development. Differential Revision: https://developer.blender.org/D6293
2020-03-04Refactor ID make local to use a single flag parameter.Bastien Montagne
Instead of using anonymous booleans flags, also allows to keep the same behavior in all cases, without needing special handling from calling code for our beloved oddballs object proxies...
2020-03-02Cleanup: make remaining blenkernel headers work in C++Jacques Lucke
2019-12-03Fix T72134: Adaptive UVs does not affect strokes that are already drawnAntonio Vazquez
Now when change the setting the strokes are recalculated. To do this, it was necessary to move the UV recalc to BKE module in order to share with Draw Engine. If the recalc it was done in draw engine, the factor was only calculated for evaluated version and there was a problem when draw a new sytroke. Now, the RNA parameter recalc the original datablock instead of tag for be calculated in Draw Engine.
2019-11-14GPencil MultiStroke modifierYimingWu
This patch includes a modifiers that developed for NPR rendering. - MultiStroke modifier that generates multiple strokes around the original ones. Differential Revision: https://developer.blender.org/D5795
2019-09-28GPencil: Fix compiler warningAntonio Vazquez
2019-09-10GPencil: New Simplify Tint optionAntonio Vazquez
This is useful to disable all layers tint in one step and it will be used for future operators.
2019-09-07Fix T69597: Changing Grease Pencil Layer in Dopesheet unlocks all layersAntonio Vazquez
The Dopesheet was unlocked all layers because it was using the same logic used in UI panel, but this was wrong.
2019-09-03GPencil: Fix unreported autolock layers using DopesheetAntonio Vazquez
When select a layer in Dopesheet, the autolock layer was not working. Now the Dopesheet code calls the function for autolock. Also some code cleanup to move the logic to new function.
2019-08-31Fix T66452: Convert Curve to Grease Pencil StrokesAntonio Vazquez
This commit adds support to convert curves to Grease Pencil strokes and create the materials too. Also, there is a new python API. This API is required by the modified SVG import addon to create strokes( see T67065). All curves selected in one operation are converted in the same Grease Pencil object.
2019-08-30GPencil: Use default material when slot material is emptyAntonio Vazquez
When a material slot is empty, the default material is used. The default color used is Gray to get a good contrast in dense scenes with dark and white background. Reviewers: brecht, dfelinto, mendio, pepeland Differential Revision: https://developer.blender.org/D5625
2019-08-25Cleanup: redundant struct declarationsCampbell Barton
2019-08-24Cleanup: use eval as a suffixCampbell Barton
Follow conversion already used in most places.
2019-08-24Fix T66924 : Move GPencil Modifiers evaluation to DepsgraphAntonio Vazquez
Before, the evaluation of modifers were done in draw manager. The reason of the old design was grease pencil was designed before depsgraph was in place. This commit moves this logic to depsgraph to follow general design and reduce Draw Manager complexity. Also, this is required in order to use modifiers in Edit modes. Really, there is nothing really new in the creation of derived data, only the logic has been moved to depsgraph, but the main logic is the same. In order to get a reference to the original stroke and points, a pointer is added to Runtime data as part of the evaluated data. These pointers allow to know and use the original data. As the modifiers now are evaluated in Depsgraph, the evaluated stroke is usable in Edit modes, so now it's possible to work with the evaluated version instead to use a "ghost" of the final image over the original geometry as work today. Reviewed By: brecht Differential Revision: https://developer.blender.org/D5470
2019-08-08GPencil: New Simplify modifier mode Sample and operatorAntonioya
This mode simplify the stroke doing a resampling of the points and generate new geometry at the distance defined. Sample function developed by @NicksBest New Resample Stroke operator This operator recreates the stroke geometry with a predefined length between points. The operator uses the same code used in Simplify modifier. Reviewers: @mendio
2019-08-08Fix T67545: GPencil - New Merge by Distance operatorAntonioya
Merge points when the distance is less than a predefined value. The method to interpolate the position created a wrong merge. Now, always the secondary point is merged with the first one (merge at first), except the last point.
2019-08-02GPencil: New function to dissolve points in strokeAntonio Vazquez
This function will be used for new operators.
2019-07-31Add operator for removing unused material slotsLukas Stockner
Reviewers: campbellbarton, brecht Reviewed By: brecht Subscribers: brecht Differential Revision: https://developer.blender.org/D4991
2019-06-30GPencil: Improve Cyclic operator to generate geometryAntonioya
Now, when close a geometry with cyclic is possible generate new geometry for the gap. The cyclic operator now supports multiframe edition too. Before only worked with active frame. Also added the corresponding missing menu options and the new F keymap. All these features were missing, pending of the fix of the alpha glitches in stroke already done.
2019-06-12Fix T65741: Removing a GPencil Object's Material Slot deletes the strokes ↵Antonioya
assigned to it This was a design decision, but now we have decided to change it using the active material for the strokes using deleted material. If the material slot is empty a new material is created to keep the strokes visible.
2019-04-17ClangFormat: apply to source, most of internCampbell Barton
Apply clang format as proposed in T53211. For details on usage and instructions for migrating branches without conflicts, see: https://wiki.blender.org/wiki/Tools/ClangFormat
2019-04-09Cleanup: BKE_gpencil namingCampbell Barton
- The ambiguous term 'handle' was used where 'ensure' is typically used (get or add when missing). - Rename `current` to `active`, all `current` functions which were also ensuring. - Clarify what is being operated on, using `BKE_gpencil_object_*` for objects, `BKE_gpencil_brush_*` for brushes.
2019-03-25GPencil: Only brushes with pinned materials have materialsAntonioya
Using GP_BRUSH_MATERIAL_PINNED to switch between active material and brush material, instead of updating all brushes on active material changes. This will allow brushes to have no material and therefore to not inflate the user count. This fix T62465. Patch contributed by @matc Reviewers: @brecht @antoniov @billreynish @mendio
2019-03-19Cleanup: remove unused for gpencil bounds calculationCampbell Barton
2019-02-26GP: Draw: Stroke TrimCharlie Jolly
New edit mode operator and post-processing brush option. Trim works on a single GP stroke. It removes trailing points before and after the first intersection (or loop) nearest to the start of the stroke.
2019-02-23Cleanup: move variable declarations to headersCampbell Barton
Quiet undeclared variable warning.
2019-02-18doxygen: add newline after \fileCampbell Barton
While \file doesn't need an argument, it can't have another doxy command after it.
2019-02-06Cleanup: manually apply changes missed last commitCampbell Barton
Automatic edits failed for indented comment blocks, removed indentation & adjusted.
2019-02-06Cleanup: remove redundant doxygen \file argumentCampbell Barton
Move \ingroup onto same line to be more compact and make it clear the file is in the group.
2019-02-02Cleanup: remove author/date info from doxy headersCampbell Barton
2019-02-01Cleanup: remove redundant, invalid info from headersCampbell Barton
BF-admins agree to remove header information that isn't useful, to reduce noise. - BEGIN/END license blocks Developers should add non license comments as separate comment blocks. No need for separator text. - Contributors This is often invalid, outdated or misleading especially when splitting files. It's more useful to git-blame to find out who has developed the code. See P901 for script to perform these edits.
2019-01-28Cleanup: sort forward declarations of enum & structCampbell Barton
Done using: source/tools/utils_maintenance/c_sort_blocks.py
2019-01-15Cleanup: commas at the end of enumsCampbell Barton
Without this clang-format may wrap them onto a single line.
2019-01-11GP: New Cutter, Constraints and Segment selectionAntonioya
This commit groups a set of new tools that were tested in grease pencil object branch before moving to master. We decide to do all the development in a separated branch because it could break master during days or weeks before the new tools were ready to deploy. The commit includes: - New Cutter tool to trim strokes and help cleaning up drawings. - New set of constraints and guides to draw different types of shapes. All the credits for this development goes to Charlie Jolly (@charlie), thanks for your help! - Segment selection mode to select strokes between intersections. - New operator to change strokes cap mode. - New option to display only keyframed frames. This option is very important when fill strokes with color. - Multiple small fixes and tweaks. Thanks to @pepeland and @mendio for their ideas, tests, reviews and support. Note: Still pending the final icons for Cutter in Toolbar and Segment Selection in Topbar. @billreynish could help us here?
2018-12-25GP: Remove duplicate code moving to single functionAntonioya
2018-11-20GP: Refactor drawing engine to single VBOAntonioya
This is part of T57829. Reduce the number of batches used to only one by shader type. This reduces GPU overhead and increase a lot the FPS. As the number of batches is small, the time to allocate and free memory was reduced in 90% or more. Also the code has been simplified and all batch management has been removed because this is not necessary. Now, all shading groups are created after all vertex buffer data for all strokes has been created using DRW_shgroup_call_range_add(). All batch cache data has been moved to the Object runtime struct and not as before where some parts (derived data) were saved inside GPD datablock. For particles, now the code is faster and cleaner and gets better FPS. Thanks to Clément Foucault for his help and advices to improve speed.
2018-11-13Merge branch 'master' into blender2.8Campbell Barton
2018-11-13GP: box/lasso support for select-operationsCampbell Barton
This adds support for more adbvanced select operations matching 3D view select operators. Also de-duplicate box/lasso select code.
2018-10-28GP: Refactor Instance modifier and rename to ArrayAntonioya
The old name Instance was logic when the modifier created new object instances, but now works equal to mesh Array modifier, so the old name was not logic and must be Array. Also added a Object to use as offset similar to mesh Array modifier.
2018-10-09GP: Improve center object in viewport when press .Antonioya
Before when press . (view_select) the object was centered at the dummy, but now it's centered with the strokes bounding box size. Also fixed some problems in edit mode when the object origin was not in view origin.
2018-09-24Merge branch 'master' into blender2.8Brecht Van Lommel