diff options
author | Antonioya <blendergit@gmail.com> | 2019-04-15 11:32:06 +0300 |
---|---|---|
committer | Antonioya <blendergit@gmail.com> | 2019-04-15 11:32:25 +0300 |
commit | 240940c58ca3ce65e4bbceebea71dd9d1c2c08bc (patch) | |
tree | 97a9c60a7c2e059cef2541667ade5e00c70c21f5 /source/blender/blenloader | |
parent | 7c79455297d818a94aab2a9be5807b4d9ca43827 (diff) |
GPencil: New Dots gradient
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.
Diffstat (limited to 'source/blender/blenloader')
-rw-r--r-- | source/blender/blenloader/intern/versioning_280.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/source/blender/blenloader/intern/versioning_280.c b/source/blender/blenloader/intern/versioning_280.c index ce2345b44db..41b1627e873 100644 --- a/source/blender/blenloader/intern/versioning_280.c +++ b/source/blender/blenloader/intern/versioning_280.c @@ -3110,6 +3110,33 @@ void blo_do_versions_280(FileData *fd, Library *UNUSED(lib), Main *bmain) } } } + + /* init grease pencil brush gradients */ + if (!DNA_struct_elem_find(fd->filesdna, "BrushGpencilSettings", "float", "gradient_f")) { + for (Brush *brush = bmain->brushes.first; brush; brush = brush->id.next) { + if (brush->gpencil_settings != NULL) { + BrushGpencilSettings *gp = brush->gpencil_settings; + gp->gradient_f = 1.0f; + gp->gradient_s[0] = 1.0f; + gp->gradient_s[1] = 1.0f; + } + } + } + + /* init grease pencil stroke gradients */ + if (!DNA_struct_elem_find(fd->filesdna, "bGPDstroke", "float", "gradient_f")) { + for (bGPdata *gpd = bmain->gpencils.first; gpd; gpd = gpd->id.next) { + for (bGPDlayer *gpl = gpd->layers.first; gpl; gpl = gpl->next) { + for (bGPDframe *gpf = gpl->frames.first; gpf; gpf = gpf->next) { + for (bGPDstroke *gps = gpf->strokes.first; gps; gps = gps->next) { + gps->gradient_f = 1.0f; + gps->gradient_s[0] = 1.0f; + gps->gradient_s[1] = 1.0f; + } + } + } + } + } } { |