[Bf-blender-cvs] [efa55c157a3] temp-eevee-gpencil-rewrite: New property to define render engine for grease pencil
Antonio Vazquez
noreply at git.blender.org
Tue Oct 5 14:13:41 CEST 2021
Commit: efa55c157a301ff3c4a682090a4fb1af1f5ad329
Author: Antonio Vazquez
Date: Sun Sep 12 20:08:31 2021 +0200
Branches: temp-eevee-gpencil-rewrite
https://developer.blender.org/rBefa55c157a301ff3c4a682090a4fb1af1f5ad329
New property to define render engine for grease pencil
===================================================================
M release/scripts/startup/bl_ui/properties_object.py
M source/blender/draw/intern/DRW_render.h
M source/blender/draw/intern/draw_manager.c
M source/blender/makesdna/DNA_object_types.h
M source/blender/makesrna/intern/rna_object.c
===================================================================
diff --git a/release/scripts/startup/bl_ui/properties_object.py b/release/scripts/startup/bl_ui/properties_object.py
index 81a641a20cf..812c18052b9 100644
--- a/release/scripts/startup/bl_ui/properties_object.py
+++ b/release/scripts/startup/bl_ui/properties_object.py
@@ -407,6 +407,9 @@ class OBJECT_PT_visibility(ObjectButtonsPanel, Panel):
col = layout.column(heading="Grease Pencil")
col.prop(ob, "use_grease_pencil_lights", toggle=False)
+ subcol = layout.column()
+ subcol.prop(ob, "use_grease_pencil_scene_engine", toggle=False)
+ subcol.active = context.scene.render.engine == 'BLENDER_EEVEE'
layout.separator()
col = layout.column(heading="Mask")
col.prop(ob, "is_holdout")
diff --git a/source/blender/draw/intern/DRW_render.h b/source/blender/draw/intern/DRW_render.h
index 8811a9febb9..7cbc74be7e7 100644
--- a/source/blender/draw/intern/DRW_render.h
+++ b/source/blender/draw/intern/DRW_render.h
@@ -696,6 +696,7 @@ bool DRW_object_is_in_edit_mode(const struct Object *ob);
int DRW_object_visibility_in_active_context(const struct Object *ob);
bool DRW_object_is_flat_normal(const struct Object *ob);
bool DRW_object_use_hide_faces(const struct Object *ob);
+bool DRW_object_use_gpencil_engine(const struct Object *ob);
bool DRW_object_is_visible_psys_in_active_context(const struct Object *object,
const struct ParticleSystem *psys);
diff --git a/source/blender/draw/intern/draw_manager.c b/source/blender/draw/intern/draw_manager.c
index 5ae0351cdd3..4f5c7fa054a 100644
--- a/source/blender/draw/intern/draw_manager.c
+++ b/source/blender/draw/intern/draw_manager.c
@@ -271,6 +271,17 @@ bool DRW_object_use_hide_faces(const struct Object *ob)
return false;
}
+bool DRW_object_use_gpencil_engine(const struct Object *ob)
+{
+ BLI_assert((ob->base_flag & BASE_VISIBLE_DEPSGRAPH) != 0);
+
+ if (ob->type == OB_GPENCIL) {
+ return (ob->dtx & OB_USE_GPENCIL_SCENE_ENGINE) == 0;
+ }
+
+ return false;
+}
+
bool DRW_object_is_visible_psys_in_active_context(const Object *object, const ParticleSystem *psys)
{
const bool for_render = DRW_state_is_image_render();
diff --git a/source/blender/makesdna/DNA_object_types.h b/source/blender/makesdna/DNA_object_types.h
index 5a88ce7c9f5..76a9e0dcba9 100644
--- a/source/blender/makesdna/DNA_object_types.h
+++ b/source/blender/makesdna/DNA_object_types.h
@@ -601,6 +601,8 @@ enum {
OB_DRAW_NO_SHADOW_CAST = 1 << 9,
/* Enable lights for grease pencil. */
OB_USE_GPENCIL_LIGHTS = 1 << 10,
+ /* Use Scene Render Engine for grease pencil. */
+ OB_USE_GPENCIL_SCENE_ENGINE = 1 << 11,
};
/* empty_drawtype: no flags */
diff --git a/source/blender/makesrna/intern/rna_object.c b/source/blender/makesrna/intern/rna_object.c
index 99865078cbe..80249922c15 100644
--- a/source/blender/makesrna/intern/rna_object.c
+++ b/source/blender/makesrna/intern/rna_object.c
@@ -3704,6 +3704,15 @@ static void rna_def_object(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Use Lights", "Lights affect grease pencil object");
RNA_def_property_update(prop, NC_OBJECT | ND_DRAW, "rna_GPencil_update");
+ prop = RNA_def_property(srna, "use_grease_pencil_scene_engine", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "dtx", OB_USE_GPENCIL_SCENE_ENGINE);
+ RNA_def_property_boolean_default(prop, false);
+ RNA_def_property_ui_text(
+ prop,
+ "Use Scene Render Engine",
+ "Use the scene render engine to render this object instead of the Grease Pencil engine");
+ RNA_def_property_update(prop, NC_OBJECT | ND_DRAW, "rna_GPencil_update");
+
prop = RNA_def_property(srna, "show_transparent", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "dtx", OB_DRAWTRANSP);
RNA_def_property_ui_text(
More information about the Bf-blender-cvs
mailing list