31 {
eShaderFxType_Blur,
"FX_BLUR", ICON_SHADERFX,
"Blur",
"Apply Gaussian Blur to object"},
36 "Apply different tint effects"},
47 "Apply sinusoidal deformation"},
48 {0,
nullptr, 0,
nullptr,
nullptr},
58 {0,
nullptr, 0,
nullptr,
nullptr}};
63 {0,
nullptr, 0,
nullptr,
nullptr}};
71 {0,
nullptr, 0,
nullptr,
nullptr}};
79 {0,
nullptr, 0,
nullptr,
nullptr}};
83# include <fmt/format.h>
96 return &RNA_ShaderFxBlur;
98 return &RNA_ShaderFxColorize;
100 return &RNA_ShaderFxWave;
102 return &RNA_ShaderFxPixel;
104 return &RNA_ShaderFxRim;
106 return &RNA_ShaderFxShadow;
108 return &RNA_ShaderFxSwirl;
110 return &RNA_ShaderFxFlip;
112 return &RNA_ShaderFxGlow;
117 return &RNA_ShaderFx;
120 return &RNA_ShaderFx;
123static void rna_ShaderFx_name_set(
PointerRNA *
ptr,
const char *value)
126 char oldname[
sizeof(gmd->
name)];
144static std::optional<std::string> rna_ShaderFx_path(
const PointerRNA *
ptr)
147 char name_esc[
sizeof(gmd->
name) * 2];
150 return fmt::format(
"shader_effects[\"{}\"]", name_esc);
161 rna_ShaderFx_update(bmain, scene,
ptr);
179# define RNA_FX_OBJECT_SET(_type, _prop, _obtype) \
180 static void rna_##_type##ShaderFx_##_prop##_set( \
181 PointerRNA *ptr, PointerRNA value, ReportList * ) \
183 _type##ShaderFxData *tmd = (_type##ShaderFxData *)ptr->data; \
184 shaderfx_object_set((Object *)ptr->owner_id, &tmd->_prop, _obtype, value); \
187RNA_FX_OBJECT_SET(Shadow,
object,
OB_EMPTY);
188RNA_FX_OBJECT_SET(Swirl,
object,
OB_EMPTY);
190# undef RNA_FX_OBJECT_SET
281 {0,
"HORIZONTAL", 0,
"Horizontal",
""},
282 {1,
"VERTICAL", 0,
"Vertical",
""},
283 {0,
nullptr, 0,
nullptr,
nullptr}};
388 prop,
"Blur",
"Number of pixels for blurring rim (set to 0 to disable)");
405 {0,
"HORIZONTAL", 0,
"Horizontal",
""},
406 {1,
"VERTICAL", 0,
"Vertical",
""},
407 {0,
nullptr, 0,
nullptr,
nullptr}};
479 prop,
"Blur",
"Number of pixels for blurring shadow (set to 0 to disable)");
567 prop,
"Glow Under",
"Glow only areas with alpha (not supported with Regular blend mode)");
void BKE_animdata_fix_paths_rename_all(struct ID *ref_id, const char *prefix, const char *oldName, const char *newName)
void id_lib_extern(ID *id)
void BKE_shaderfx_unique_name(struct ListBase *shaders, struct ShaderFxData *fx)
char * STRNCPY(char(&dst)[N], const char *src)
size_t BLI_str_escape(char *__restrict dst, const char *__restrict src, size_t dst_maxncpy) ATTR_NONNULL(1
#define STRNCPY_UTF8(dst, src)
#define BLT_I18NCONTEXT_ID_ID
#define BLT_I18NCONTEXT_ID_GPENCIL
void DEG_id_tag_update(ID *id, unsigned int flags)
void DEG_relations_tag_update(Main *bmain)
@ eShaderFxGlowMode_Luminance
@ eShaderFxGlowMode_Color
@ eShaderFxColorizeMode_Custom
@ eShaderFxColorizeMode_GrayScale
@ eShaderFxColorizeMode_Transparent
@ eShaderFxColorizeMode_Duotone
@ eShaderFxColorizeMode_Sepia
@ FX_SWIRL_MAKE_TRANSPARENT
@ eShaderFxRimMode_Multiply
@ eShaderFxRimMode_Normal
@ eShaderFxRimMode_Overlay
@ eShaderFxRimMode_Subtract
@ eShaderFxRimMode_Divide
@ FX_PIXEL_FILTER_NEAREST
@ PROPOVERRIDE_OVERRIDABLE_LIBRARY
void RNA_def_property_boolean_sdna(PropertyRNA *prop, const char *structname, const char *propname, int64_t booleanbit)
void RNA_def_struct_name_property(StructRNA *srna, PropertyRNA *prop)
void RNA_def_struct_refine_func(StructRNA *srna, const char *refine)
void RNA_define_lib_overridable(const bool make_overridable)
void RNA_def_struct_path_func(StructRNA *srna, const char *path)
void RNA_def_property_string_funcs(PropertyRNA *prop, const char *get, const char *length, const char *set)
void RNA_def_property_ui_text(PropertyRNA *prop, const char *name, const char *description)
void RNA_def_property_ui_icon(PropertyRNA *prop, int icon, int consecutive)
void RNA_def_struct_ui_text(StructRNA *srna, const char *name, const char *description)
void RNA_def_property_int_default(PropertyRNA *prop, int value)
void RNA_def_property_enum_items(PropertyRNA *prop, const EnumPropertyItem *item)
void RNA_def_struct_sdna(StructRNA *srna, const char *structname)
void RNA_def_property_array(PropertyRNA *prop, int length)
void RNA_def_property_range(PropertyRNA *prop, double min, double max)
void RNA_def_property_update(PropertyRNA *prop, int noteflag, const char *func)
PropertyRNA * RNA_def_property(StructOrFunctionRNA *cont_, const char *identifier, int type, int subtype)
StructRNA * RNA_def_struct(BlenderRNA *brna, const char *identifier, const char *from)
void RNA_def_property_clear_flag(PropertyRNA *prop, PropertyFlag flag)
void RNA_def_property_pointer_funcs(PropertyRNA *prop, const char *get, const char *set, const char *type_fn, const char *poll)
void RNA_def_property_enum_sdna(PropertyRNA *prop, const char *structname, const char *propname)
void RNA_def_struct_ui_icon(StructRNA *srna, int icon)
void RNA_def_property_translation_context(PropertyRNA *prop, const char *context)
void RNA_def_property_flag(PropertyRNA *prop, PropertyFlag flag)
void RNA_def_property_float_sdna(PropertyRNA *prop, const char *structname, const char *propname)
void RNA_def_property_ui_range(PropertyRNA *prop, double min, double max, double step, int precision)
void RNA_def_property_int_sdna(PropertyRNA *prop, const char *structname, const char *propname)
void RNA_def_property_boolean_negative_sdna(PropertyRNA *prop, const char *structname, const char *propname, int64_t booleanbit)
void RNA_def_property_override_flag(PropertyRNA *prop, PropertyOverrideFlag flag)
static void rna_def_shader_fx_wave(BlenderRNA *brna)
static void rna_def_shader_fx_glow(BlenderRNA *brna)
static void rna_def_shader_fx_flip(BlenderRNA *brna)
static void rna_def_shader_fx_pixel(BlenderRNA *brna)
static void rna_def_shader_fx_swirl(BlenderRNA *brna)
void RNA_def_shader_fx(BlenderRNA *brna)
static void rna_def_shader_fx_blur(BlenderRNA *brna)
static void rna_def_shader_fx_colorize(BlenderRNA *brna)
static const EnumPropertyItem rna_enum_shaderfx_colorize_modes_items[]
const EnumPropertyItem rna_enum_object_shaderfx_type_items[]
static void rna_def_shader_fx_rim(BlenderRNA *brna)
static void rna_def_shader_fx_shadow(BlenderRNA *brna)
static const EnumPropertyItem rna_enum_glow_blend_modes_items[]
static const EnumPropertyItem rna_enum_shaderfx_rim_modes_items[]
static const EnumPropertyItem rna_enum_shaderfx_glow_modes_items[]
void WM_main_add_notifier(uint type, void *reference)