Compare commits
13 Commits
temp-sprea
...
temp-gpenc
Author | SHA1 | Date | |
---|---|---|---|
f63927a115 | |||
b5f43723cc | |||
a1bb3f420d | |||
10ffafc741 | |||
41a786b6ff | |||
0691c3d640 | |||
f63859c285 | |||
b34fac9ebf | |||
01cd78ef67 | |||
99617351e6 | |||
bcf9a62ca2 | |||
5819faf42b | |||
0ad695285a |
Submodule release/datafiles/locale updated: 8f5a0e027f...8a05b618f0
Submodule release/scripts/addons updated: 33eae7da67...67f1fbca14
Submodule release/scripts/addons_contrib updated: eae381b698...ef6ef414d2
@@ -206,6 +206,21 @@ void gpencil_modifier_curve_panel_draw(const bContext *UNUSED(C), Panel *panel)
|
||||
uiTemplateCurveMapping(layout, ptr, "curve", 0, false, false, false, false);
|
||||
}
|
||||
|
||||
void gpencil_modifier_fading_draw(const bContext *UNUSED(C), Panel *panel)
|
||||
{
|
||||
PointerRNA *ptr = gpencil_modifier_panel_get_property_pointers(panel, NULL);
|
||||
|
||||
uiLayout *layout = panel->layout;
|
||||
uiLayoutSetPropSep(layout, true);
|
||||
|
||||
bool fading_enabled = RNA_boolean_get(ptr, "use_fading");
|
||||
uiItemR(layout, ptr, "object", 0, NULL, ICON_CUBE);
|
||||
uiLayout *sub = uiLayoutColumn(layout, true);
|
||||
uiItemR(sub, ptr, "fading_start", 0, NULL, ICON_NONE);
|
||||
uiItemR(sub, ptr, "fading_end", 0, IFACE_("End"), ICON_NONE);
|
||||
uiItemR(layout, ptr, "fading_end_factor", 0, NULL, ICON_NONE);
|
||||
}
|
||||
|
||||
/**
|
||||
* Draw modifier error message.
|
||||
*/
|
||||
|
@@ -37,6 +37,8 @@ void gpencil_modifier_masking_panel_draw(Panel *panel, bool use_material, bool u
|
||||
void gpencil_modifier_curve_header_draw(const bContext *UNUSED(C), Panel *panel);
|
||||
void gpencil_modifier_curve_panel_draw(const bContext *UNUSED(C), Panel *panel);
|
||||
|
||||
void gpencil_modifier_fading_draw(const bContext *UNUSED(C), Panel *panel);
|
||||
|
||||
void gpencil_modifier_panel_end(struct uiLayout *layout, PointerRNA *ptr);
|
||||
|
||||
struct PointerRNA *gpencil_modifier_panel_get_property_pointers(struct Panel *panel,
|
||||
|
@@ -50,6 +50,8 @@
|
||||
#include "BKE_screen.h"
|
||||
|
||||
#include "DEG_depsgraph.h"
|
||||
#include "DEG_depsgraph_build.h"
|
||||
#include "DEG_depsgraph_query.h"
|
||||
|
||||
#include "UI_interface.h"
|
||||
#include "UI_resources.h"
|
||||
@@ -87,6 +89,39 @@ static void copyData(const GpencilModifierData *md, GpencilModifierData *target)
|
||||
tgmd->curve_intensity = BKE_curvemapping_copy(gmd->curve_intensity);
|
||||
}
|
||||
|
||||
static float give_opacity_fading_factor(OpacityGpencilModifierData *mmd,
|
||||
Object *ob_this,
|
||||
float *pos,
|
||||
bool apply_obmat)
|
||||
{
|
||||
float factor_depth = 1;
|
||||
|
||||
if (((mmd->flag & GP_OPACITY_FADING) == 0) || ((mmd->object) == NULL)) {
|
||||
return factor_depth;
|
||||
}
|
||||
|
||||
float gvert[3];
|
||||
if (apply_obmat) {
|
||||
mul_v3_m4v3(gvert, ob_this->obmat, pos);
|
||||
}
|
||||
float dist = len_v3v3(mmd->object->obmat[3], gvert);
|
||||
float fading_max = MAX2(mmd->fading_start, mmd->fading_end);
|
||||
float fading_min = MIN2(mmd->fading_start, mmd->fading_end);
|
||||
|
||||
/* Better with ratiof() function from line art. */
|
||||
if (dist > fading_max) {
|
||||
factor_depth = 0;
|
||||
}
|
||||
else if (dist <= fading_max && dist > fading_min) {
|
||||
factor_depth = (fading_max - dist) / (fading_max - fading_min);
|
||||
}
|
||||
else {
|
||||
factor_depth = 1;
|
||||
}
|
||||
|
||||
return factor_depth;
|
||||
}
|
||||
|
||||
/* opacity strokes */
|
||||
static void deformStroke(GpencilModifierData *md,
|
||||
Depsgraph *UNUSED(depsgraph),
|
||||
@@ -125,7 +160,6 @@ static void deformStroke(GpencilModifierData *md,
|
||||
for (int i = 0; i < gps->totpoints; i++) {
|
||||
bGPDspoint *pt = &gps->points[i];
|
||||
MDeformVert *dvert = gps->dvert != NULL ? &gps->dvert[i] : NULL;
|
||||
|
||||
/* Stroke using strength. */
|
||||
if (mmd->modify_color != GP_MODIFY_COLOR_FILL) {
|
||||
/* verify vertex group */
|
||||
@@ -141,6 +175,9 @@ static void deformStroke(GpencilModifierData *md,
|
||||
factor_curve *= BKE_curvemapping_evaluateF(mmd->curve_intensity, 0, value);
|
||||
}
|
||||
|
||||
float factor_depth = give_opacity_fading_factor(mmd, ob, &pt->x, true);
|
||||
factor_curve = interpf(mmd->factor, mmd->fading_end_factor, factor_depth);
|
||||
|
||||
if (def_nr < 0) {
|
||||
if (mmd->flag & GP_OPACITY_NORMALIZE) {
|
||||
pt->strength = factor_curve;
|
||||
@@ -169,7 +206,12 @@ static void deformStroke(GpencilModifierData *md,
|
||||
|
||||
/* Fill using opacity factor. */
|
||||
if (mmd->modify_color != GP_MODIFY_COLOR_STROKE) {
|
||||
|
||||
gps->fill_opacity_fac = mmd->factor;
|
||||
|
||||
float factor_depth = give_opacity_fading_factor(mmd, ob, ob->obmat[3], true);
|
||||
gps->fill_opacity_fac = interpf(mmd->factor, mmd->fading_end_factor, factor_depth);
|
||||
|
||||
CLAMP(gps->fill_opacity_fac, 0.0f, 1.0f);
|
||||
}
|
||||
}
|
||||
@@ -204,6 +246,16 @@ static void foreachIDLink(GpencilModifierData *md, Object *ob, IDWalkFunc walk,
|
||||
OpacityGpencilModifierData *mmd = (OpacityGpencilModifierData *)md;
|
||||
|
||||
walk(userData, ob, (ID **)&mmd->material, IDWALK_CB_USER);
|
||||
walk(userData, ob, (ID **)&mmd->object, IDWALK_CB_NOP);
|
||||
}
|
||||
|
||||
static void updateDepsgraph(GpencilModifierData *md, const ModifierUpdateDepsgraphContext *ctx)
|
||||
{
|
||||
OpacityGpencilModifierData *mmd = (OpacityGpencilModifierData *)md;
|
||||
if (mmd->object != NULL) {
|
||||
DEG_add_object_relation(ctx->node, mmd->object, DEG_OB_COMP_TRANSFORM, "Opacity Modifier");
|
||||
}
|
||||
DEG_add_object_relation(ctx->node, ctx->object, DEG_OB_COMP_TRANSFORM, "Opacity Modifier");
|
||||
}
|
||||
|
||||
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
|
||||
@@ -231,6 +283,20 @@ static void panel_draw(const bContext *UNUSED(C), Panel *panel)
|
||||
gpencil_modifier_panel_end(layout, ptr);
|
||||
}
|
||||
|
||||
static void fading_header_draw(const bContext *UNUSED(C), Panel *panel)
|
||||
{
|
||||
uiLayout *layout = panel->layout;
|
||||
|
||||
PointerRNA *ptr = gpencil_modifier_panel_get_property_pointers(panel, NULL);
|
||||
|
||||
uiItemR(layout, ptr, "use_fading", 0, NULL, ICON_NONE);
|
||||
}
|
||||
|
||||
static void fading_panel_draw(const bContext *C, Panel *panel)
|
||||
{
|
||||
gpencil_modifier_fading_draw(C, panel);
|
||||
}
|
||||
|
||||
static void mask_panel_draw(const bContext *UNUSED(C), Panel *panel)
|
||||
{
|
||||
PointerRNA *ptr = gpencil_modifier_panel_get_property_pointers(panel, NULL);
|
||||
@@ -269,6 +335,8 @@ static void panelRegister(ARegionType *region_type)
|
||||
{
|
||||
PanelType *panel_type = gpencil_modifier_panel_register(
|
||||
region_type, eGpencilModifierType_Opacity, panel_draw);
|
||||
PanelType *fading_panel_type = gpencil_modifier_subpanel_register(
|
||||
region_type, "fading", "", fading_header_draw, fading_panel_draw, panel_type);
|
||||
PanelType *mask_panel_type = gpencil_modifier_subpanel_register(
|
||||
region_type, "mask", "Influence", NULL, mask_panel_draw, panel_type);
|
||||
gpencil_modifier_subpanel_register(
|
||||
@@ -292,7 +360,7 @@ GpencilModifierTypeInfo modifierType_Gpencil_Opacity = {
|
||||
/* initData */ initData,
|
||||
/* freeData */ freeData,
|
||||
/* isDisabled */ NULL,
|
||||
/* updateDepsgraph */ NULL,
|
||||
/* updateDepsgraph */ updateDepsgraph,
|
||||
/* dependsOnTime */ NULL,
|
||||
/* foreachIDLink */ foreachIDLink,
|
||||
/* foreachTexLink */ NULL,
|
||||
|
@@ -47,6 +47,8 @@
|
||||
#include "BKE_screen.h"
|
||||
|
||||
#include "DEG_depsgraph.h"
|
||||
#include "DEG_depsgraph_build.h"
|
||||
#include "DEG_depsgraph_query.h"
|
||||
|
||||
#include "UI_interface.h"
|
||||
#include "UI_resources.h"
|
||||
@@ -132,6 +134,29 @@ static void deformStroke(GpencilModifierData *md,
|
||||
}
|
||||
|
||||
float curvef = 1.0f;
|
||||
|
||||
float factor_depth = 1;
|
||||
if (mmd->flag & GP_THICK_FADING) {
|
||||
if (mmd->object) {
|
||||
float gvert[3];
|
||||
mul_v3_m4v3(gvert, ob->obmat, &pt->x);
|
||||
float dist = len_v3v3(mmd->object->obmat[3], gvert);
|
||||
float fading_max = MAX2(mmd->fading_start, mmd->fading_end);
|
||||
float fading_min = MIN2(mmd->fading_start, mmd->fading_end);
|
||||
|
||||
/* Better with ratiof() function from line art. */
|
||||
if (dist > fading_max) {
|
||||
factor_depth = 0;
|
||||
}
|
||||
else if (dist <= fading_max && dist > fading_min) {
|
||||
factor_depth = (fading_max - dist) / (fading_max - fading_min);
|
||||
}
|
||||
else {
|
||||
factor_depth = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ((mmd->flag & GP_THICK_CUSTOM_CURVE) && (mmd->curve_thickness)) {
|
||||
/* Normalize value to evaluate curve. */
|
||||
float value = (float)i / (gps->totpoints - 1);
|
||||
@@ -148,6 +173,9 @@ static void deformStroke(GpencilModifierData *md,
|
||||
weight *= curvef;
|
||||
}
|
||||
|
||||
float fac_begin = mmd->flag & GP_THICK_NORMALIZE ? 1 : mmd->thickness_fac;
|
||||
target *= interpf(fac_begin, mmd->fading_end_factor, factor_depth);
|
||||
|
||||
pt->pressure = interpf(target, pt->pressure, weight);
|
||||
|
||||
CLAMP_MIN(pt->pressure, 0.0f);
|
||||
@@ -175,6 +203,16 @@ static void foreachIDLink(GpencilModifierData *md, Object *ob, IDWalkFunc walk,
|
||||
ThickGpencilModifierData *mmd = (ThickGpencilModifierData *)md;
|
||||
|
||||
walk(userData, ob, (ID **)&mmd->material, IDWALK_CB_USER);
|
||||
walk(userData, ob, (ID **)&mmd->object, IDWALK_CB_NOP);
|
||||
}
|
||||
|
||||
static void updateDepsgraph(GpencilModifierData *md, const ModifierUpdateDepsgraphContext *ctx)
|
||||
{
|
||||
ThickGpencilModifierData *mmd = (ThickGpencilModifierData *)md;
|
||||
if (mmd->object != NULL) {
|
||||
DEG_add_object_relation(ctx->node, mmd->object, DEG_OB_COMP_TRANSFORM, "Thickness Modifier");
|
||||
}
|
||||
DEG_add_object_relation(ctx->node, ctx->object, DEG_OB_COMP_TRANSFORM, "Thickness Modifier");
|
||||
}
|
||||
|
||||
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
|
||||
@@ -197,6 +235,20 @@ static void panel_draw(const bContext *UNUSED(C), Panel *panel)
|
||||
gpencil_modifier_panel_end(layout, ptr);
|
||||
}
|
||||
|
||||
static void fading_header_draw(const bContext *UNUSED(C), Panel *panel)
|
||||
{
|
||||
uiLayout *layout = panel->layout;
|
||||
|
||||
PointerRNA *ptr = gpencil_modifier_panel_get_property_pointers(panel, NULL);
|
||||
|
||||
uiItemR(layout, ptr, "use_fading", 0, NULL, ICON_NONE);
|
||||
}
|
||||
|
||||
static void fading_panel_draw(const bContext *C, Panel *panel)
|
||||
{
|
||||
gpencil_modifier_fading_draw(C, panel);
|
||||
}
|
||||
|
||||
static void mask_panel_draw(const bContext *UNUSED(C), Panel *panel)
|
||||
{
|
||||
gpencil_modifier_masking_panel_draw(panel, true, true);
|
||||
@@ -206,6 +258,8 @@ static void panelRegister(ARegionType *region_type)
|
||||
{
|
||||
PanelType *panel_type = gpencil_modifier_panel_register(
|
||||
region_type, eGpencilModifierType_Thick, panel_draw);
|
||||
PanelType *fading_panel_type = gpencil_modifier_subpanel_register(
|
||||
region_type, "fading", "", fading_header_draw, fading_panel_draw, panel_type);
|
||||
PanelType *mask_panel_type = gpencil_modifier_subpanel_register(
|
||||
region_type, "mask", "Influence", NULL, mask_panel_draw, panel_type);
|
||||
gpencil_modifier_subpanel_register(region_type,
|
||||
@@ -233,7 +287,7 @@ GpencilModifierTypeInfo modifierType_Gpencil_Thick = {
|
||||
/* initData */ initData,
|
||||
/* freeData */ freeData,
|
||||
/* isDisabled */ NULL,
|
||||
/* updateDepsgraph */ NULL,
|
||||
/* updateDepsgraph */ updateDepsgraph,
|
||||
/* dependsOnTime */ NULL,
|
||||
/* foreachIDLink */ foreachIDLink,
|
||||
/* foreachTexLink */ NULL,
|
||||
|
@@ -184,6 +184,8 @@
|
||||
.layer_pass = 0, \
|
||||
.hardeness = 1.0f, \
|
||||
.curve_intensity = NULL, \
|
||||
.fading_end = 10.0f, \
|
||||
.fading_end_factor = 0.2f, \
|
||||
}
|
||||
|
||||
#define _DNA_DEFAULT_SimplifyGpencilModifierData \
|
||||
@@ -251,6 +253,8 @@
|
||||
.thickness_fac = 1.0f, \
|
||||
.thickness = 30, \
|
||||
.layer_pass = 0, \
|
||||
.fading_end = 10.0f, \
|
||||
.fading_end_factor = 0.2f, \
|
||||
}
|
||||
|
||||
#define _DNA_DEFAULT_TimeGpencilModifierData \
|
||||
|
@@ -177,9 +177,14 @@ typedef struct ThickGpencilModifierData {
|
||||
float thickness_fac;
|
||||
/** Absolute thickness overide. */
|
||||
int thickness;
|
||||
/** Fading reference object */
|
||||
struct Object *object;
|
||||
/** Start/end distances of the fading effect. */
|
||||
float fading_start;
|
||||
float fading_end;
|
||||
float fading_end_factor;
|
||||
/** Custom index for passes. */
|
||||
int layer_pass;
|
||||
char _pad[4];
|
||||
struct CurveMapping *curve_thickness;
|
||||
} ThickGpencilModifierData;
|
||||
|
||||
@@ -191,6 +196,7 @@ typedef enum eThickGpencil_Flag {
|
||||
GP_THICK_NORMALIZE = (1 << 4),
|
||||
GP_THICK_INVERT_LAYERPASS = (1 << 5),
|
||||
GP_THICK_INVERT_MATERIAL = (1 << 6),
|
||||
GP_THICK_FADING = (1 << 7),
|
||||
} eThickGpencil_Flag;
|
||||
|
||||
typedef struct TimeGpencilModifierData {
|
||||
@@ -283,9 +289,16 @@ typedef struct OpacityGpencilModifierData {
|
||||
int flag;
|
||||
/** Main Opacity factor. */
|
||||
float factor;
|
||||
/** Fading controlling object */
|
||||
int _pad0;
|
||||
struct Object *object;
|
||||
/** Start/end distances of the fading effect. */
|
||||
float fading_start;
|
||||
float fading_end;
|
||||
float fading_end_factor;
|
||||
/** Modify stroke, fill or both. */
|
||||
char modify_color;
|
||||
char _pad[3];
|
||||
char _pad1[3];
|
||||
/** Custom index for passes. */
|
||||
int layer_pass;
|
||||
|
||||
@@ -301,6 +314,7 @@ typedef enum eOpacityGpencil_Flag {
|
||||
GP_OPACITY_INVERT_MATERIAL = (1 << 5),
|
||||
GP_OPACITY_CUSTOM_CURVE = (1 << 6),
|
||||
GP_OPACITY_NORMALIZE = (1 << 7),
|
||||
GP_OPACITY_FADING = (1 << 8),
|
||||
} eOpacityGpencil_Flag;
|
||||
|
||||
typedef struct ArrayGpencilModifierData {
|
||||
|
@@ -342,6 +342,8 @@ static void greasepencil_modifier_object_set(Object *self,
|
||||
RNA_GP_MOD_OBJECT_SET(Armature, object, OB_ARMATURE);
|
||||
RNA_GP_MOD_OBJECT_SET(Lattice, object, OB_LATTICE);
|
||||
RNA_GP_MOD_OBJECT_SET(Mirror, object, OB_EMPTY);
|
||||
RNA_GP_MOD_OBJECT_SET(Opacity, object, OB_EMPTY);
|
||||
RNA_GP_MOD_OBJECT_SET(Thick, object, OB_EMPTY);
|
||||
|
||||
# undef RNA_GP_MOD_OBJECT_SET
|
||||
|
||||
@@ -886,6 +888,38 @@ static void rna_def_modifier_gpencilthick(BlenderRNA *brna)
|
||||
RNA_def_property_ui_text(prop, "Thickness Factor", "Factor to multiply the thickness with");
|
||||
RNA_def_property_update(prop, 0, "rna_GpencilModifier_update");
|
||||
|
||||
prop = RNA_def_property(srna, "use_fading", PROP_BOOLEAN, PROP_NONE);
|
||||
RNA_def_property_boolean_sdna(prop, NULL, "flag", GP_THICK_FADING);
|
||||
RNA_def_property_ui_text(prop, "Fading", "Fading effect");
|
||||
RNA_def_property_update(prop, 0, "rna_GpencilModifier_update");
|
||||
|
||||
/* Distance reference object */
|
||||
prop = RNA_def_property(srna, "object", PROP_POINTER, PROP_NONE);
|
||||
RNA_def_property_ui_text(prop, "Object", "Object used as distance reference");
|
||||
RNA_def_property_pointer_funcs(prop, NULL, "rna_ThickGpencilModifier_object_set", NULL, NULL);
|
||||
RNA_def_property_flag(prop, PROP_EDITABLE | PROP_ID_SELF_CHECK);
|
||||
RNA_def_property_override_flag(prop, PROPOVERRIDE_OVERRIDABLE_LIBRARY);
|
||||
RNA_def_property_update(prop, 0, "rna_GpencilModifier_dependency_update");
|
||||
|
||||
prop = RNA_def_property(srna, "fading_start", PROP_FLOAT, PROP_NONE);
|
||||
RNA_def_property_float_sdna(prop, NULL, "fading_start");
|
||||
RNA_def_property_ui_range(prop, 0, 1000.0, 1.0, 2);
|
||||
RNA_def_property_ui_text(prop, "Fading Start", "Start distance of fading effect");
|
||||
RNA_def_property_update(prop, 0, "rna_GpencilModifier_update");
|
||||
|
||||
prop = RNA_def_property(srna, "fading_end", PROP_FLOAT, PROP_NONE);
|
||||
RNA_def_property_float_sdna(prop, NULL, "fading_end");
|
||||
RNA_def_property_ui_range(prop, 0, 1000.0, 1.0, 2);
|
||||
RNA_def_property_ui_text(prop, "Fading End", "End distance of fading effect");
|
||||
RNA_def_property_update(prop, 0, "rna_GpencilModifier_update");
|
||||
|
||||
prop = RNA_def_property(srna, "fading_end_factor", PROP_FLOAT, PROP_NONE);
|
||||
RNA_def_property_float_sdna(prop, NULL, "fading_end_factor");
|
||||
RNA_def_property_range(prop, 0.0, FLT_MAX);
|
||||
RNA_def_property_ui_range(prop, 0.0, 10.0, 0.1, 3);
|
||||
RNA_def_property_ui_text(prop, "End Factor", "Fading end thickness factor");
|
||||
RNA_def_property_update(prop, 0, "rna_GpencilModifier_update");
|
||||
|
||||
prop = RNA_def_property(srna, "pass_index", PROP_INT, PROP_NONE);
|
||||
RNA_def_property_int_sdna(prop, NULL, "pass_index");
|
||||
RNA_def_property_range(prop, 0, 100);
|
||||
@@ -1375,6 +1409,38 @@ static void rna_def_modifier_gpencilopacity(BlenderRNA *brna)
|
||||
RNA_def_property_ui_text(prop, "Hardness", "Factor of stroke hardness");
|
||||
RNA_def_property_update(prop, 0, "rna_GpencilModifier_update");
|
||||
|
||||
prop = RNA_def_property(srna, "use_fading", PROP_BOOLEAN, PROP_NONE);
|
||||
RNA_def_property_boolean_sdna(prop, NULL, "flag", GP_OPACITY_FADING);
|
||||
RNA_def_property_ui_text(prop, "Fading", "Fading effect");
|
||||
RNA_def_property_update(prop, 0, "rna_GpencilModifier_update");
|
||||
|
||||
/* Distance reference object */
|
||||
prop = RNA_def_property(srna, "object", PROP_POINTER, PROP_NONE);
|
||||
RNA_def_property_ui_text(prop, "Object", "Object used as distance reference");
|
||||
RNA_def_property_pointer_funcs(prop, NULL, "rna_OpacityGpencilModifier_object_set", NULL, NULL);
|
||||
RNA_def_property_flag(prop, PROP_EDITABLE | PROP_ID_SELF_CHECK);
|
||||
RNA_def_property_override_flag(prop, PROPOVERRIDE_OVERRIDABLE_LIBRARY);
|
||||
RNA_def_property_update(prop, 0, "rna_GpencilModifier_dependency_update");
|
||||
|
||||
prop = RNA_def_property(srna, "fading_start", PROP_FLOAT, PROP_NONE);
|
||||
RNA_def_property_float_sdna(prop, NULL, "fading_start");
|
||||
RNA_def_property_ui_range(prop, 0, 1000.0, 1.0, 2);
|
||||
RNA_def_property_ui_text(prop, "Fading Start", "Start distance of fading effect");
|
||||
RNA_def_property_update(prop, 0, "rna_GpencilModifier_update");
|
||||
|
||||
prop = RNA_def_property(srna, "fading_end", PROP_FLOAT, PROP_NONE);
|
||||
RNA_def_property_float_sdna(prop, NULL, "fading_end");
|
||||
RNA_def_property_ui_range(prop, 0, 1000.0, 1.0, 2);
|
||||
RNA_def_property_ui_text(prop, "Fading End", "End distance of fading effect");
|
||||
RNA_def_property_update(prop, 0, "rna_GpencilModifier_update");
|
||||
|
||||
prop = RNA_def_property(srna, "fading_end_factor", PROP_FLOAT, PROP_NONE);
|
||||
RNA_def_property_float_sdna(prop, NULL, "fading_end_factor");
|
||||
RNA_def_property_range(prop, 0.0, FLT_MAX);
|
||||
RNA_def_property_ui_range(prop, 0.0, 10.0, 0.1, 3);
|
||||
RNA_def_property_ui_text(prop, "End Factor", "Fading end thickness factor");
|
||||
RNA_def_property_update(prop, 0, "rna_GpencilModifier_update");
|
||||
|
||||
prop = RNA_def_property(srna, "pass_index", PROP_INT, PROP_NONE);
|
||||
RNA_def_property_int_sdna(prop, NULL, "pass_index");
|
||||
RNA_def_property_range(prop, 0, 100);
|
||||
|
Submodule source/tools updated: 7011d02c29...5cf2fc3e5d
Reference in New Issue
Block a user