[Bf-blender-cvs] [30780a4238f] greasepencil-object: GP Modifier: Set up stubs for geometry modifiers too
Joshua Leung
noreply at git.blender.org
Sat Nov 4 05:48:16 CET 2017
Commit: 30780a4238f7254ab035737b1a42f3661b82e2c4
Author: Joshua Leung
Date: Tue Oct 31 17:29:25 2017 +1300
Branches: greasepencil-object
https://developer.blender.org/rB30780a4238f7254ab035737b1a42f3661b82e2c4
GP Modifier: Set up stubs for geometry modifiers too
===================================================================
M source/blender/blenkernel/intern/gpencil_modifier.c
===================================================================
diff --git a/source/blender/blenkernel/intern/gpencil_modifier.c b/source/blender/blenkernel/intern/gpencil_modifier.c
index cb70a8212bc..f2afcee7134 100644
--- a/source/blender/blenkernel/intern/gpencil_modifier.c
+++ b/source/blender/blenkernel/intern/gpencil_modifier.c
@@ -764,6 +764,13 @@ bool BKE_gpencil_has_geometry_modifiers(Object *ob)
{
ModifierData *md;
for (md = ob->modifiers.first; md; md = md->next) {
+ const ModifierTypeInfo *mti = modifierType_getInfo(md->type);
+
+ if (mti->generateStrokes) {
+ return true;
+ }
+
+ // XXX: Remove
if (md->type == eModifierType_GpencilDupli) {
return true;
}
@@ -778,7 +785,7 @@ void BKE_gpencil_stroke_modifiers(Object *ob, bGPDlayer *gpl, bGPDframe *UNUSED(
bGPdata *gpd = ob->data;
bool is_edit = GPENCIL_ANY_EDIT_MODE(gpd);
- int id = 0;
+ int id = 0; // XXX: Remove
for (md = ob->modifiers.first; md; md = md->next) {
if (((md->mode & eModifierMode_Realtime) && ((G.f & G_RENDER_OGL) == 0)) ||
((md->mode & eModifierMode_Render) && (G.f & G_RENDER_OGL)))
@@ -842,10 +849,18 @@ void BKE_gpencil_geometry_modifiers(Object *ob, bGPDlayer *gpl, bGPDframe *gpf)
if (((md->mode & eModifierMode_Realtime) && ((G.f & G_RENDER_OGL) == 0)) ||
((md->mode & eModifierMode_Render) && (G.f & G_RENDER_OGL)))
{
+ const ModifierTypeInfo *mti = modifierType_getInfo(md->type);
+
if (((md->mode & eModifierMode_Editmode) == 0) && (is_edit)) {
continue;
}
+ if (mti->generateStrokes) {
+ EvaluationContext eval_ctx = {0}; /* XXX */
+ mti->generateStrokes(md, &eval_ctx, ob, gpl, gpf, id);
+ }
+
+ // XXX: The following lines need to all be converted to modifier callbacks...
switch (md->type) {
// Array
case eModifierType_GpencilDupli:
More information about the Bf-blender-cvs
mailing list