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-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-06Cleanup: Rename ARegion variables from ar to regionJulian Eisel
The old convention was easy to confuse with ScrArea. Part of https://developer.blender.org/T74432. This is mostly a batch rename with some manual fixing. Only single word variable names are changed, no prefixed/suffixed names. Brecht van Lommel and Campbell Barton both gave me a green light for this convention change. Also ran clan clang format on affected files.
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.
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-09-14Cleanup: use const args, variablesCampbell Barton
2019-08-25GPencil: Show edit points in Sculpt only if mask is enabledAntonio Vazquez
If the masks are disabled, the edit points must not visible.
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-07-30Fix T65691: GPencil Drawing long strokes turn invisibleAntonioya
There was a fixed limit to the number of points available in a buffer stroke. Now, the array is expanded as needed using a predefined number of points for each expansion, instead to add one by one. This is done to reduce the number of times the memory allocation is required. As part of the fix, some variables have been renamed to reflect better their use.
2019-06-27Cleanup: GPencil remove DRW_ prefix for internal functions.Antonioya
The prefix DRW_ must be used only for modules inside Draw Manager and not in the Engines.
2019-05-14GPencil: Rename property Follow Drawing Path to AlignmentAntonioya
The old name was not clear and with new options the new name is more easy to understand.
2019-05-14Fix T64441: GPencil textures weird rotationAntonioya
New option to disable the follow drawing path. Before it had only a switch property, now there is a list of options. Modes: Path: Follows drawing stroke and rotate with object. Object: Only follows object rotation. None: Don't rotate.
2019-05-09GPencil: Lock rotation of texturesAntonioya
By default the texture is locked and only the box is aligned when Follow Drawing Path is enabled. Before, when the Follow was disabled, the texture was always aligned to top and it was not affected by object rotation. Now, the texture always is rotated with object rotation.
2019-05-01Cleanup: comments (long lines) in drawCampbell Barton
2019-04-24GPencil: Add small offset to follow the drawing path for single pointsAntonioya
The offset added allows to generate a vector to determine direction. This direction will be used when rotate the object to rotate texture. The solution is not 100% perfect, but it's far better that having an unpredictable rotation.
2019-04-18GPencil: Fix Drawing Path follow error while drawingAntonioya
The strokes was aligned to drawing path only when the stroke was completed. Now, the stroke is aligned while drawing too.
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-15GPencil: New Dots gradientAntonioya
This commit adds support for drawing Dots strokes with a gradient factor to get artistic effects like watercolor. Currently, the option is only supported by Dots materials, and in the future will be added to line strokes, but now there is a limitation on drawing engine and we will keep disabled on Line materials. Also, added the option to align Dots and Boxes strokes textures aligned with the drawing path to get more fluid strokes.
2019-03-17GPencil: Changes in Fill and new 3D Cursor View PlaneAntonioya
This commit groups several options that were tested in grease pencil branch: - Changes to fill algorithms and improves, specially in small areas and stroke corners. New options has been added in order to define how the fill is working and internally there are optimizations in detect the small areas in the extremes. Kudos to @charlie for coding this fill improvements. - New 3D cursor view plane option. Now it's possible to lock the drawing plane to the 3D cursor and use the 3D cursor orientation. This allows more flexibility when you are drawing and reduce the need to create geometry to draw over surfaces. - Canvas Grid now can be locked to 3D cursor. - New option to reproject stroke using 3D cursor. - Small tweaks and fixes. Changes reviewed by @pepeland and @mendio
2019-03-15Cleanup: indentation, wrappingCampbell Barton
Mostly functions wrapping args, not confirming to our style guide.
2019-03-11GPencil: Fix unreported UV error when use subdivide modifierAntonioya
When the subdivide modifier was used, the UV was not recalculated and the texture of the stroke was wrong.
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: 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-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-26Cleanup: draw manager headersCampbell Barton
2019-01-21Cleanup: trailing spaceCampbell Barton
2019-01-20Fix T60677: GP vertex groups get messed up, when deleting a groupAntonioya
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?
2019-01-11GP: Reduce memory reallocation in multiedit modeAntonioya
There was a problem counting the number of points for edit points and lines. Now the total size is used allocating the VBO size and not the stroke size.
2018-12-28GP: Rename GP_STROKE_RECALC_CACHE to GP_STROKE_RECALC_GEOMETRYAntonioya
The GP_STROKE_RECALC_CACHE identifier was changed to GP_STROKE_RECALC_GEOMETRY because the previous name was confusing and could be confused with the recalculation of the Draw Manager cache.
2018-12-17GP: Change Primitive manipulator to secondary Gizmo colorAntonioya
2018-12-17GP: Change Primitive manipulator colorAntonioya
2018-12-15GP: New Curve primitive and other primitive improvementsAntonioya
This commit adds support for new curve tool and adds more functionalities to the existing primitives, including new handles, editing, stroke thickness curve, noise, preview of the real stroke, etc. Thanks to @charlie for his great contribution to this improvement.
2018-12-13GP: Cleanup const variablesAntonioya
2018-11-263D View: remove 3D cursorCampbell Barton
Use 3D cursor from the scene (was previously used for local-view).
2018-11-21Fix T57975: Drawing with Onion Skin enabled crash BlenderAntonioya
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-04Cleanup: style, use ARRAY_SET_ITEMS macroCampbell Barton
2018-11-04GP: Reorganize Canvas GridAntonioya
Now the grid is always controlled by the topbar selector and not in the canvas panel. To have two places to define orientation was confuse. The orientation by default (no lock) is always to view plane.
2018-10-09GP: New Canvas offset parametersAntonioya
Now the canvas can me moved in X/Y axis.
2018-10-08GP: New automatic adaptative UVs parameterAntonioya
Now by default the UVs are calculated with a fixed size and this makes easier to add patterns for drawings like Manga. Before, the texture changed depending of the stroke size.
2018-10-05GP: Cleanup names and codeAntonioya
2018-10-05GP: Move grid parameters to GP object data levelAntonioya
The grid now can be configured by object because this helps to identify objects and allows to define diferent grid parameters for each objects. Also added a color option.
2018-10-03GP: Allow canvas grid with different scales in X/YAntonioya
Now it's possible create rectangular shapes and disable the subdivisions to get only a rectangle
2018-10-03GP: Allow 0 subdivisions for canvas gridAntonioya
2018-09-14GP: Fix T56802 - Add/Delete Vertex Group crashesAntonioya
2018-09-04Fix T56682: GP Edit mode, deselected vertices not visibleAntonioya
2018-09-02Cleanup: comment blocksCampbell Barton
2018-08-27GP: replace custom API w/ BKE_deform APICampbell Barton
2018-08-26GP: Reduce weight paint data memory footprintAntonioya
Before, the weight data array was created always, but now only is added when a weight value is assigned. This change was suggested by algorithm, and both agreed it was good idea.
2018-08-15GP: Redesign logic of drawing engine for object instance supportAntonioya
The initial design assumed that there was only one object for each unique name, but that was not the case when instances were created. Now, instances are supported and speed has been greatly improved when repetitions are used. As a result of this change, the option to create objects has been removed in the Instances modifier. This option was strange and was also against Blender's design rules, since a modifier should never create objects. The old functionality of the modifier can be achieved with instances. Also, several memory leakage problems that were not previously detected have been eliminated, and especially in the grid and in the drawing process Onion Skin is not supported in multi-user datablocks. Support this, makes incompatible with instances. We need find a solution in the long term, but now it's better keep disabled and make instances work. Anyway, the new instances makes unnecessary to use muli-user datablocks.