Changeset View
Changeset View
Standalone View
Standalone View
source/blender/makesrna/intern/rna_shader_fx.c
| Show First 20 Lines • Show All 162 Lines • ▼ Show 20 Lines | static char *rna_ShaderFx_path(PointerRNA *ptr) | ||||
| BLI_strescape(name_esc, gmd->name, sizeof(name_esc)); | BLI_strescape(name_esc, gmd->name, sizeof(name_esc)); | ||||
| return BLI_sprintfN("shader_effects[\"%s\"]", name_esc); | return BLI_sprintfN("shader_effects[\"%s\"]", name_esc); | ||||
| } | } | ||||
| static void rna_ShaderFx_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr) | static void rna_ShaderFx_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr) | ||||
| { | { | ||||
| DEG_id_tag_update(ptr->owner_id, ID_RECALC_GEOMETRY); | DEG_id_tag_update(ptr->owner_id, ID_RECALC_GEOMETRY); | ||||
| WM_main_add_notifier(NC_OBJECT | ND_MODIFIER, ptr->owner_id); | WM_main_add_notifier(NC_OBJECT | ND_SHADERFX, ptr->owner_id); | ||||
| } | } | ||||
| static void rna_ShaderFx_dependency_update(Main *bmain, Scene *scene, PointerRNA *ptr) | static void rna_ShaderFx_dependency_update(Main *bmain, Scene *scene, PointerRNA *ptr) | ||||
| { | { | ||||
| rna_ShaderFx_update(bmain, scene, ptr); | rna_ShaderFx_update(bmain, scene, ptr); | ||||
| DEG_relations_tag_update(bmain); | DEG_relations_tag_update(bmain); | ||||
| } | } | ||||
| Show All 35 Lines | static void rna_def_shader_fx_blur(BlenderRNA *brna) | ||||
| RNA_def_struct_ui_text(srna, "Gaussian Blur Effect", "Gaussian Blur effect"); | RNA_def_struct_ui_text(srna, "Gaussian Blur Effect", "Gaussian Blur effect"); | ||||
| RNA_def_struct_sdna(srna, "BlurShaderFxData"); | RNA_def_struct_sdna(srna, "BlurShaderFxData"); | ||||
| RNA_def_struct_ui_icon(srna, ICON_SHADERFX); | RNA_def_struct_ui_icon(srna, ICON_SHADERFX); | ||||
| prop = RNA_def_property(srna, "size", PROP_FLOAT, PROP_XYZ); | prop = RNA_def_property(srna, "size", PROP_FLOAT, PROP_XYZ); | ||||
| RNA_def_property_float_sdna(prop, NULL, "radius"); | RNA_def_property_float_sdna(prop, NULL, "radius"); | ||||
| RNA_def_property_range(prop, 0.0f, FLT_MAX); | RNA_def_property_range(prop, 0.0f, FLT_MAX); | ||||
| RNA_def_property_ui_text(prop, "Size", "Factor of Blur"); | RNA_def_property_ui_text(prop, "Size", "Factor of Blur"); | ||||
| RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_ShaderFx_update"); | RNA_def_property_update(prop, NC_OBJECT | ND_SHADERFX, "rna_ShaderFx_update"); | ||||
| prop = RNA_def_property(srna, "samples", PROP_INT, PROP_NONE); | prop = RNA_def_property(srna, "samples", PROP_INT, PROP_NONE); | ||||
| RNA_def_property_int_sdna(prop, NULL, "samples"); | RNA_def_property_int_sdna(prop, NULL, "samples"); | ||||
| RNA_def_property_range(prop, 0, 32); | RNA_def_property_range(prop, 0, 32); | ||||
| RNA_def_property_ui_range(prop, 0, 32, 2, -1); | RNA_def_property_ui_range(prop, 0, 32, 2, -1); | ||||
| RNA_def_property_int_default(prop, 4); | RNA_def_property_int_default(prop, 4); | ||||
| RNA_def_property_ui_text(prop, "Samples", "Number of Blur Samples (zero, disable blur)"); | RNA_def_property_ui_text(prop, "Samples", "Number of Blur Samples (zero, disable blur)"); | ||||
| RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_ShaderFx_update"); | RNA_def_property_update(prop, NC_OBJECT | ND_SHADERFX, "rna_ShaderFx_update"); | ||||
| prop = RNA_def_property(srna, "rotation", PROP_FLOAT, PROP_ANGLE); | prop = RNA_def_property(srna, "rotation", PROP_FLOAT, PROP_ANGLE); | ||||
| RNA_def_property_float_sdna(prop, NULL, "rotation"); | RNA_def_property_float_sdna(prop, NULL, "rotation"); | ||||
| RNA_def_property_range(prop, -FLT_MAX, FLT_MAX); | RNA_def_property_range(prop, -FLT_MAX, FLT_MAX); | ||||
| RNA_def_property_ui_text(prop, "Rotation", "Rotation of the effect"); | RNA_def_property_ui_text(prop, "Rotation", "Rotation of the effect"); | ||||
| RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_ShaderFx_update"); | RNA_def_property_update(prop, NC_OBJECT | ND_SHADERFX, "rna_ShaderFx_update"); | ||||
| prop = RNA_def_property(srna, "use_dof_mode", PROP_BOOLEAN, PROP_NONE); | prop = RNA_def_property(srna, "use_dof_mode", PROP_BOOLEAN, PROP_NONE); | ||||
| RNA_def_property_boolean_sdna(prop, NULL, "flag", FX_BLUR_DOF_MODE); | RNA_def_property_boolean_sdna(prop, NULL, "flag", FX_BLUR_DOF_MODE); | ||||
| RNA_def_property_ui_text(prop, "Use as Depth Of Field", "Blur using camera depth of field"); | RNA_def_property_ui_text(prop, "Use as Depth Of Field", "Blur using camera depth of field"); | ||||
| RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_ShaderFx_update"); | RNA_def_property_update(prop, NC_OBJECT | ND_SHADERFX, "rna_ShaderFx_update"); | ||||
| } | } | ||||
| static void rna_def_shader_fx_colorize(BlenderRNA *brna) | static void rna_def_shader_fx_colorize(BlenderRNA *brna) | ||||
| { | { | ||||
| StructRNA *srna; | StructRNA *srna; | ||||
| PropertyRNA *prop; | PropertyRNA *prop; | ||||
| srna = RNA_def_struct(brna, "ShaderFxColorize", "ShaderFx"); | srna = RNA_def_struct(brna, "ShaderFxColorize", "ShaderFx"); | ||||
| RNA_def_struct_ui_text(srna, "Colorize Effect", "Colorize effect"); | RNA_def_struct_ui_text(srna, "Colorize Effect", "Colorize effect"); | ||||
| RNA_def_struct_sdna(srna, "ColorizeShaderFxData"); | RNA_def_struct_sdna(srna, "ColorizeShaderFxData"); | ||||
| RNA_def_struct_ui_icon(srna, ICON_SHADERFX); | RNA_def_struct_ui_icon(srna, ICON_SHADERFX); | ||||
| prop = RNA_def_property(srna, "factor", PROP_FLOAT, PROP_NONE); | prop = RNA_def_property(srna, "factor", PROP_FLOAT, PROP_NONE); | ||||
| RNA_def_property_float_sdna(prop, NULL, "factor"); | RNA_def_property_float_sdna(prop, NULL, "factor"); | ||||
| RNA_def_property_range(prop, 0, 1.0); | RNA_def_property_range(prop, 0, 1.0); | ||||
| RNA_def_property_ui_text(prop, "Factor", "Mix factor"); | RNA_def_property_ui_text(prop, "Factor", "Mix factor"); | ||||
| RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_ShaderFx_update"); | RNA_def_property_update(prop, NC_OBJECT | ND_SHADERFX, "rna_ShaderFx_update"); | ||||
| prop = RNA_def_property(srna, "low_color", PROP_FLOAT, PROP_COLOR); | prop = RNA_def_property(srna, "low_color", PROP_FLOAT, PROP_COLOR); | ||||
| RNA_def_property_range(prop, 0.0, 1.0); | RNA_def_property_range(prop, 0.0, 1.0); | ||||
| RNA_def_property_float_sdna(prop, NULL, "low_color"); | RNA_def_property_float_sdna(prop, NULL, "low_color"); | ||||
| RNA_def_property_array(prop, 4); | RNA_def_property_array(prop, 4); | ||||
| RNA_def_property_ui_text(prop, "Low Color", "First color used for effect"); | RNA_def_property_ui_text(prop, "Low Color", "First color used for effect"); | ||||
| RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_ShaderFx_update"); | RNA_def_property_update(prop, NC_OBJECT | ND_SHADERFX, "rna_ShaderFx_update"); | ||||
| prop = RNA_def_property(srna, "high_color", PROP_FLOAT, PROP_COLOR); | prop = RNA_def_property(srna, "high_color", PROP_FLOAT, PROP_COLOR); | ||||
| RNA_def_property_range(prop, 0.0, 1.0); | RNA_def_property_range(prop, 0.0, 1.0); | ||||
| RNA_def_property_float_sdna(prop, NULL, "high_color"); | RNA_def_property_float_sdna(prop, NULL, "high_color"); | ||||
| RNA_def_property_array(prop, 4); | RNA_def_property_array(prop, 4); | ||||
| RNA_def_property_ui_text(prop, "High Color", "Second color used for effect"); | RNA_def_property_ui_text(prop, "High Color", "Second color used for effect"); | ||||
| RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_ShaderFx_update"); | RNA_def_property_update(prop, NC_OBJECT | ND_SHADERFX, "rna_ShaderFx_update"); | ||||
| prop = RNA_def_property(srna, "mode", PROP_ENUM, PROP_NONE); | prop = RNA_def_property(srna, "mode", PROP_ENUM, PROP_NONE); | ||||
| RNA_def_property_enum_sdna(prop, NULL, "mode"); | RNA_def_property_enum_sdna(prop, NULL, "mode"); | ||||
| RNA_def_property_enum_items(prop, rna_enum_shaderfx_colorize_modes_items); | RNA_def_property_enum_items(prop, rna_enum_shaderfx_colorize_modes_items); | ||||
| RNA_def_property_ui_text(prop, "Mode", "Effect mode"); | RNA_def_property_ui_text(prop, "Mode", "Effect mode"); | ||||
| RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_ShaderFx_update"); | RNA_def_property_update(prop, NC_OBJECT | ND_SHADERFX, "rna_ShaderFx_update"); | ||||
| } | } | ||||
| static void rna_def_shader_fx_wave(BlenderRNA *brna) | static void rna_def_shader_fx_wave(BlenderRNA *brna) | ||||
| { | { | ||||
| StructRNA *srna; | StructRNA *srna; | ||||
| PropertyRNA *prop; | PropertyRNA *prop; | ||||
| static EnumPropertyItem prop_shaderfx_wave_type_items[] = { | static EnumPropertyItem prop_shaderfx_wave_type_items[] = { | ||||
| {0, "HORIZONTAL", 0, "Horizontal", ""}, | {0, "HORIZONTAL", 0, "Horizontal", ""}, | ||||
| {1, "VERTICAL", 0, "Vertical", ""}, | {1, "VERTICAL", 0, "Vertical", ""}, | ||||
| {0, NULL, 0, NULL, NULL}}; | {0, NULL, 0, NULL, NULL}}; | ||||
| srna = RNA_def_struct(brna, "ShaderFxWave", "ShaderFx"); | srna = RNA_def_struct(brna, "ShaderFxWave", "ShaderFx"); | ||||
| RNA_def_struct_ui_text(srna, "Wave Deformation Effect", "Wave Deformation effect"); | RNA_def_struct_ui_text(srna, "Wave Deformation Effect", "Wave Deformation effect"); | ||||
| RNA_def_struct_sdna(srna, "WaveShaderFxData"); | RNA_def_struct_sdna(srna, "WaveShaderFxData"); | ||||
| RNA_def_struct_ui_icon(srna, ICON_SHADERFX); | RNA_def_struct_ui_icon(srna, ICON_SHADERFX); | ||||
| prop = RNA_def_property(srna, "orientation", PROP_ENUM, PROP_NONE); | prop = RNA_def_property(srna, "orientation", PROP_ENUM, PROP_NONE); | ||||
| RNA_def_property_enum_sdna(prop, NULL, "orientation"); | RNA_def_property_enum_sdna(prop, NULL, "orientation"); | ||||
| RNA_def_property_enum_items(prop, prop_shaderfx_wave_type_items); | RNA_def_property_enum_items(prop, prop_shaderfx_wave_type_items); | ||||
| RNA_def_property_ui_text(prop, "Orientation", "Direction of the wave"); | RNA_def_property_ui_text(prop, "Orientation", "Direction of the wave"); | ||||
| RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_ShaderFx_update"); | RNA_def_property_update(prop, NC_OBJECT | ND_SHADERFX, "rna_ShaderFx_update"); | ||||
| prop = RNA_def_property(srna, "amplitude", PROP_FLOAT, PROP_NONE); | prop = RNA_def_property(srna, "amplitude", PROP_FLOAT, PROP_NONE); | ||||
| RNA_def_property_float_sdna(prop, NULL, "amplitude"); | RNA_def_property_float_sdna(prop, NULL, "amplitude"); | ||||
| RNA_def_property_range(prop, 0, FLT_MAX); | RNA_def_property_range(prop, 0, FLT_MAX); | ||||
| RNA_def_property_ui_text(prop, "Amplitude", "Amplitude of Wave"); | RNA_def_property_ui_text(prop, "Amplitude", "Amplitude of Wave"); | ||||
| RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_ShaderFx_update"); | RNA_def_property_update(prop, NC_OBJECT | ND_SHADERFX, "rna_ShaderFx_update"); | ||||
| prop = RNA_def_property(srna, "period", PROP_FLOAT, PROP_NONE); | prop = RNA_def_property(srna, "period", PROP_FLOAT, PROP_NONE); | ||||
| RNA_def_property_float_sdna(prop, NULL, "period"); | RNA_def_property_float_sdna(prop, NULL, "period"); | ||||
| RNA_def_property_range(prop, 0, FLT_MAX); | RNA_def_property_range(prop, 0, FLT_MAX); | ||||
| RNA_def_property_ui_text(prop, "Period", "Period of Wave"); | RNA_def_property_ui_text(prop, "Period", "Period of Wave"); | ||||
| RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_ShaderFx_update"); | RNA_def_property_update(prop, NC_OBJECT | ND_SHADERFX, "rna_ShaderFx_update"); | ||||
| prop = RNA_def_property(srna, "phase", PROP_FLOAT, PROP_NONE); | prop = RNA_def_property(srna, "phase", PROP_FLOAT, PROP_NONE); | ||||
| RNA_def_property_float_sdna(prop, NULL, "phase"); | RNA_def_property_float_sdna(prop, NULL, "phase"); | ||||
| RNA_def_property_range(prop, -FLT_MAX, FLT_MAX); | RNA_def_property_range(prop, -FLT_MAX, FLT_MAX); | ||||
| RNA_def_property_ui_text(prop, "Phase", "Phase Shift of Wave"); | RNA_def_property_ui_text(prop, "Phase", "Phase Shift of Wave"); | ||||
| RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_ShaderFx_update"); | RNA_def_property_update(prop, NC_OBJECT | ND_SHADERFX, "rna_ShaderFx_update"); | ||||
| } | } | ||||
| static void rna_def_shader_fx_pixel(BlenderRNA *brna) | static void rna_def_shader_fx_pixel(BlenderRNA *brna) | ||||
| { | { | ||||
| StructRNA *srna; | StructRNA *srna; | ||||
| PropertyRNA *prop; | PropertyRNA *prop; | ||||
| srna = RNA_def_struct(brna, "ShaderFxPixel", "ShaderFx"); | srna = RNA_def_struct(brna, "ShaderFxPixel", "ShaderFx"); | ||||
| RNA_def_struct_ui_text(srna, "Pixelate Effect", "Pixelate effect"); | RNA_def_struct_ui_text(srna, "Pixelate Effect", "Pixelate effect"); | ||||
| RNA_def_struct_sdna(srna, "PixelShaderFxData"); | RNA_def_struct_sdna(srna, "PixelShaderFxData"); | ||||
| RNA_def_struct_ui_icon(srna, ICON_SHADERFX); | RNA_def_struct_ui_icon(srna, ICON_SHADERFX); | ||||
| prop = RNA_def_property(srna, "size", PROP_INT, PROP_PIXEL); | prop = RNA_def_property(srna, "size", PROP_INT, PROP_PIXEL); | ||||
| RNA_def_property_int_sdna(prop, NULL, "size"); | RNA_def_property_int_sdna(prop, NULL, "size"); | ||||
| RNA_def_property_range(prop, 1, SHRT_MAX); | RNA_def_property_range(prop, 1, SHRT_MAX); | ||||
| RNA_def_property_array(prop, 2); | RNA_def_property_array(prop, 2); | ||||
| RNA_def_property_ui_text(prop, "Size", "Pixel size"); | RNA_def_property_ui_text(prop, "Size", "Pixel size"); | ||||
| RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_ShaderFx_update"); | RNA_def_property_update(prop, NC_OBJECT | ND_SHADERFX, "rna_ShaderFx_update"); | ||||
| prop = RNA_def_property(srna, "use_antialiasing", PROP_BOOLEAN, PROP_NONE); | prop = RNA_def_property(srna, "use_antialiasing", PROP_BOOLEAN, PROP_NONE); | ||||
| RNA_def_property_boolean_negative_sdna(prop, NULL, "flag", FX_PIXEL_FILTER_NEAREST); | RNA_def_property_boolean_negative_sdna(prop, NULL, "flag", FX_PIXEL_FILTER_NEAREST); | ||||
| RNA_def_property_ui_text(prop, "Antialiasing", "Antialiase pixels"); | RNA_def_property_ui_text(prop, "Antialiasing", "Antialiase pixels"); | ||||
| RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_ShaderFx_update"); | RNA_def_property_update(prop, NC_OBJECT | ND_SHADERFX, "rna_ShaderFx_update"); | ||||
| } | } | ||||
| static void rna_def_shader_fx_rim(BlenderRNA *brna) | static void rna_def_shader_fx_rim(BlenderRNA *brna) | ||||
| { | { | ||||
| StructRNA *srna; | StructRNA *srna; | ||||
| PropertyRNA *prop; | PropertyRNA *prop; | ||||
| srna = RNA_def_struct(brna, "ShaderFxRim", "ShaderFx"); | srna = RNA_def_struct(brna, "ShaderFxRim", "ShaderFx"); | ||||
| RNA_def_struct_ui_text(srna, "Rim Effect", "Rim effect"); | RNA_def_struct_ui_text(srna, "Rim Effect", "Rim effect"); | ||||
| RNA_def_struct_sdna(srna, "RimShaderFxData"); | RNA_def_struct_sdna(srna, "RimShaderFxData"); | ||||
| RNA_def_struct_ui_icon(srna, ICON_SHADERFX); | RNA_def_struct_ui_icon(srna, ICON_SHADERFX); | ||||
| prop = RNA_def_property(srna, "offset", PROP_INT, PROP_PIXEL); | prop = RNA_def_property(srna, "offset", PROP_INT, PROP_PIXEL); | ||||
| RNA_def_property_int_sdna(prop, NULL, "offset"); | RNA_def_property_int_sdna(prop, NULL, "offset"); | ||||
| RNA_def_property_range(prop, SHRT_MIN, SHRT_MAX); | RNA_def_property_range(prop, SHRT_MIN, SHRT_MAX); | ||||
| RNA_def_property_ui_text(prop, "Offset", "Offset of the rim"); | RNA_def_property_ui_text(prop, "Offset", "Offset of the rim"); | ||||
| RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_ShaderFx_update"); | RNA_def_property_update(prop, NC_OBJECT | ND_SHADERFX, "rna_ShaderFx_update"); | ||||
| prop = RNA_def_property(srna, "rim_color", PROP_FLOAT, PROP_COLOR); | prop = RNA_def_property(srna, "rim_color", PROP_FLOAT, PROP_COLOR); | ||||
| RNA_def_property_range(prop, 0.0, 1.0); | RNA_def_property_range(prop, 0.0, 1.0); | ||||
| RNA_def_property_float_sdna(prop, NULL, "rim_rgb"); | RNA_def_property_float_sdna(prop, NULL, "rim_rgb"); | ||||
| RNA_def_property_array(prop, 3); | RNA_def_property_array(prop, 3); | ||||
| RNA_def_property_ui_text(prop, "Rim Color", "Color used for Rim"); | RNA_def_property_ui_text(prop, "Rim Color", "Color used for Rim"); | ||||
| RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_ShaderFx_update"); | RNA_def_property_update(prop, NC_OBJECT | ND_SHADERFX, "rna_ShaderFx_update"); | ||||
| prop = RNA_def_property(srna, "mask_color", PROP_FLOAT, PROP_COLOR); | prop = RNA_def_property(srna, "mask_color", PROP_FLOAT, PROP_COLOR); | ||||
| RNA_def_property_range(prop, 0.0, 1.0); | RNA_def_property_range(prop, 0.0, 1.0); | ||||
| RNA_def_property_float_sdna(prop, NULL, "mask_rgb"); | RNA_def_property_float_sdna(prop, NULL, "mask_rgb"); | ||||
| RNA_def_property_array(prop, 3); | RNA_def_property_array(prop, 3); | ||||
| RNA_def_property_ui_text(prop, "Mask Color", "Color that must be kept"); | RNA_def_property_ui_text(prop, "Mask Color", "Color that must be kept"); | ||||
| RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_ShaderFx_update"); | RNA_def_property_update(prop, NC_OBJECT | ND_SHADERFX, "rna_ShaderFx_update"); | ||||
| prop = RNA_def_property(srna, "mode", PROP_ENUM, PROP_NONE); | prop = RNA_def_property(srna, "mode", PROP_ENUM, PROP_NONE); | ||||
| RNA_def_property_enum_sdna(prop, NULL, "mode"); | RNA_def_property_enum_sdna(prop, NULL, "mode"); | ||||
| RNA_def_property_enum_items(prop, rna_enum_shaderfx_rim_modes_items); | RNA_def_property_enum_items(prop, rna_enum_shaderfx_rim_modes_items); | ||||
| RNA_def_property_ui_text(prop, "Mode", "Blend mode"); | RNA_def_property_ui_text(prop, "Mode", "Blend mode"); | ||||
| RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_ShaderFx_update"); | RNA_def_property_update(prop, NC_OBJECT | ND_SHADERFX, "rna_ShaderFx_update"); | ||||
| prop = RNA_def_property(srna, "blur", PROP_INT, PROP_PIXEL); | prop = RNA_def_property(srna, "blur", PROP_INT, PROP_PIXEL); | ||||
| RNA_def_property_int_sdna(prop, NULL, "blur"); | RNA_def_property_int_sdna(prop, NULL, "blur"); | ||||
| RNA_def_property_range(prop, 0, SHRT_MAX); | RNA_def_property_range(prop, 0, SHRT_MAX); | ||||
| RNA_def_property_ui_text( | RNA_def_property_ui_text( | ||||
| prop, "Blur", "Number of pixels for blurring rim (set to 0 to disable)"); | prop, "Blur", "Number of pixels for blurring rim (set to 0 to disable)"); | ||||
| RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_ShaderFx_update"); | RNA_def_property_update(prop, NC_OBJECT | ND_SHADERFX, "rna_ShaderFx_update"); | ||||
| prop = RNA_def_property(srna, "samples", PROP_INT, PROP_NONE); | prop = RNA_def_property(srna, "samples", PROP_INT, PROP_NONE); | ||||
| RNA_def_property_int_sdna(prop, NULL, "samples"); | RNA_def_property_int_sdna(prop, NULL, "samples"); | ||||
| RNA_def_property_range(prop, 0, 32); | RNA_def_property_range(prop, 0, 32); | ||||
| RNA_def_property_ui_range(prop, 0, 32, 2, -1); | RNA_def_property_ui_range(prop, 0, 32, 2, -1); | ||||
| RNA_def_property_int_default(prop, 4); | RNA_def_property_int_default(prop, 4); | ||||
| RNA_def_property_ui_text(prop, "Samples", "Number of Blur Samples (zero, disable blur)"); | RNA_def_property_ui_text(prop, "Samples", "Number of Blur Samples (zero, disable blur)"); | ||||
| RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_ShaderFx_update"); | RNA_def_property_update(prop, NC_OBJECT | ND_SHADERFX, "rna_ShaderFx_update"); | ||||
| } | } | ||||
| static void rna_def_shader_fx_shadow(BlenderRNA *brna) | static void rna_def_shader_fx_shadow(BlenderRNA *brna) | ||||
| { | { | ||||
| static EnumPropertyItem prop_shaderfx_shadow_type_items[] = { | static EnumPropertyItem prop_shaderfx_shadow_type_items[] = { | ||||
| {0, "HORIZONTAL", 0, "Horizontal", ""}, | {0, "HORIZONTAL", 0, "Horizontal", ""}, | ||||
| {1, "VERTICAL", 0, "Vertical", ""}, | {1, "VERTICAL", 0, "Vertical", ""}, | ||||
| {0, NULL, 0, NULL, NULL}}; | {0, NULL, 0, NULL, NULL}}; | ||||
| Show All 12 Lines | static void rna_def_shader_fx_shadow(BlenderRNA *brna) | ||||
| RNA_def_property_flag(prop, PROP_EDITABLE | PROP_ID_SELF_CHECK); | RNA_def_property_flag(prop, PROP_EDITABLE | PROP_ID_SELF_CHECK); | ||||
| RNA_def_property_override_flag(prop, PROPOVERRIDE_OVERRIDABLE_LIBRARY); | RNA_def_property_override_flag(prop, PROPOVERRIDE_OVERRIDABLE_LIBRARY); | ||||
| RNA_def_property_update(prop, 0, "rna_ShaderFx_dependency_update"); | RNA_def_property_update(prop, 0, "rna_ShaderFx_dependency_update"); | ||||
| prop = RNA_def_property(srna, "offset", PROP_INT, PROP_PIXEL); | prop = RNA_def_property(srna, "offset", PROP_INT, PROP_PIXEL); | ||||
| RNA_def_property_int_sdna(prop, NULL, "offset"); | RNA_def_property_int_sdna(prop, NULL, "offset"); | ||||
| RNA_def_property_range(prop, SHRT_MIN, SHRT_MAX); | RNA_def_property_range(prop, SHRT_MIN, SHRT_MAX); | ||||
| RNA_def_property_ui_text(prop, "Offset", "Offset of the shadow"); | RNA_def_property_ui_text(prop, "Offset", "Offset of the shadow"); | ||||
| RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_ShaderFx_update"); | RNA_def_property_update(prop, NC_OBJECT | ND_SHADERFX, "rna_ShaderFx_update"); | ||||
| prop = RNA_def_property(srna, "scale", PROP_FLOAT, PROP_XYZ); | prop = RNA_def_property(srna, "scale", PROP_FLOAT, PROP_XYZ); | ||||
| RNA_def_property_float_sdna(prop, NULL, "scale"); | RNA_def_property_float_sdna(prop, NULL, "scale"); | ||||
| RNA_def_property_range(prop, -FLT_MAX, FLT_MAX); | RNA_def_property_range(prop, -FLT_MAX, FLT_MAX); | ||||
| RNA_def_property_ui_text(prop, "Scale", "Offset of the shadow"); | RNA_def_property_ui_text(prop, "Scale", "Offset of the shadow"); | ||||
| RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_ShaderFx_update"); | RNA_def_property_update(prop, NC_OBJECT | ND_SHADERFX, "rna_ShaderFx_update"); | ||||
| prop = RNA_def_property(srna, "shadow_color", PROP_FLOAT, PROP_COLOR); | prop = RNA_def_property(srna, "shadow_color", PROP_FLOAT, PROP_COLOR); | ||||
| RNA_def_property_range(prop, 0.0, 1.0); | RNA_def_property_range(prop, 0.0, 1.0); | ||||
| RNA_def_property_float_sdna(prop, NULL, "shadow_rgba"); | RNA_def_property_float_sdna(prop, NULL, "shadow_rgba"); | ||||
| RNA_def_property_array(prop, 4); | RNA_def_property_array(prop, 4); | ||||
| RNA_def_property_ui_text(prop, "Shadow Color", "Color used for Shadow"); | RNA_def_property_ui_text(prop, "Shadow Color", "Color used for Shadow"); | ||||
| RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_ShaderFx_update"); | RNA_def_property_update(prop, NC_OBJECT | ND_SHADERFX, "rna_ShaderFx_update"); | ||||
| prop = RNA_def_property(srna, "orientation", PROP_ENUM, PROP_NONE); | prop = RNA_def_property(srna, "orientation", PROP_ENUM, PROP_NONE); | ||||
| RNA_def_property_enum_sdna(prop, NULL, "orientation"); | RNA_def_property_enum_sdna(prop, NULL, "orientation"); | ||||
| RNA_def_property_enum_items(prop, prop_shaderfx_shadow_type_items); | RNA_def_property_enum_items(prop, prop_shaderfx_shadow_type_items); | ||||
| RNA_def_property_ui_text(prop, "Orientation", "Direction of the wave"); | RNA_def_property_ui_text(prop, "Orientation", "Direction of the wave"); | ||||
| RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_ShaderFx_update"); | RNA_def_property_update(prop, NC_OBJECT | ND_SHADERFX, "rna_ShaderFx_update"); | ||||
| prop = RNA_def_property(srna, "amplitude", PROP_FLOAT, PROP_NONE); | prop = RNA_def_property(srna, "amplitude", PROP_FLOAT, PROP_NONE); | ||||
| RNA_def_property_float_sdna(prop, NULL, "amplitude"); | RNA_def_property_float_sdna(prop, NULL, "amplitude"); | ||||
| RNA_def_property_range(prop, 0, FLT_MAX); | RNA_def_property_range(prop, 0, FLT_MAX); | ||||
| RNA_def_property_ui_text(prop, "Amplitude", "Amplitude of Wave"); | RNA_def_property_ui_text(prop, "Amplitude", "Amplitude of Wave"); | ||||
| RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_ShaderFx_update"); | RNA_def_property_update(prop, NC_OBJECT | ND_SHADERFX, "rna_ShaderFx_update"); | ||||
| prop = RNA_def_property(srna, "period", PROP_FLOAT, PROP_NONE); | prop = RNA_def_property(srna, "period", PROP_FLOAT, PROP_NONE); | ||||
| RNA_def_property_float_sdna(prop, NULL, "period"); | RNA_def_property_float_sdna(prop, NULL, "period"); | ||||
| RNA_def_property_range(prop, 0, FLT_MAX); | RNA_def_property_range(prop, 0, FLT_MAX); | ||||
| RNA_def_property_ui_text(prop, "Period", "Period of Wave"); | RNA_def_property_ui_text(prop, "Period", "Period of Wave"); | ||||
| RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_ShaderFx_update"); | RNA_def_property_update(prop, NC_OBJECT | ND_SHADERFX, "rna_ShaderFx_update"); | ||||
| prop = RNA_def_property(srna, "phase", PROP_FLOAT, PROP_NONE); | prop = RNA_def_property(srna, "phase", PROP_FLOAT, PROP_NONE); | ||||
| RNA_def_property_float_sdna(prop, NULL, "phase"); | RNA_def_property_float_sdna(prop, NULL, "phase"); | ||||
| RNA_def_property_range(prop, -FLT_MAX, FLT_MAX); | RNA_def_property_range(prop, -FLT_MAX, FLT_MAX); | ||||
| RNA_def_property_ui_text(prop, "Phase", "Phase Shift of Wave"); | RNA_def_property_ui_text(prop, "Phase", "Phase Shift of Wave"); | ||||
| RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_ShaderFx_update"); | RNA_def_property_update(prop, NC_OBJECT | ND_SHADERFX, "rna_ShaderFx_update"); | ||||
| prop = RNA_def_property(srna, "rotation", PROP_FLOAT, PROP_ANGLE); | prop = RNA_def_property(srna, "rotation", PROP_FLOAT, PROP_ANGLE); | ||||
| RNA_def_property_float_sdna(prop, NULL, "rotation"); | RNA_def_property_float_sdna(prop, NULL, "rotation"); | ||||
| RNA_def_property_range(prop, DEG2RAD(-360), DEG2RAD(360)); | RNA_def_property_range(prop, DEG2RAD(-360), DEG2RAD(360)); | ||||
| RNA_def_property_ui_range(prop, DEG2RAD(-360), DEG2RAD(360), 5, 2); | RNA_def_property_ui_range(prop, DEG2RAD(-360), DEG2RAD(360), 5, 2); | ||||
| RNA_def_property_ui_text(prop, "Rotation", "Rotation around center or object"); | RNA_def_property_ui_text(prop, "Rotation", "Rotation around center or object"); | ||||
| RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_ShaderFx_update"); | RNA_def_property_update(prop, NC_OBJECT | ND_SHADERFX, "rna_ShaderFx_update"); | ||||
| prop = RNA_def_property(srna, "blur", PROP_INT, PROP_PIXEL); | prop = RNA_def_property(srna, "blur", PROP_INT, PROP_PIXEL); | ||||
| RNA_def_property_int_sdna(prop, NULL, "blur"); | RNA_def_property_int_sdna(prop, NULL, "blur"); | ||||
| RNA_def_property_range(prop, 0, SHRT_MAX); | RNA_def_property_range(prop, 0, SHRT_MAX); | ||||
| RNA_def_property_ui_text( | RNA_def_property_ui_text( | ||||
| prop, "Blur", "Number of pixels for blurring shadow (set to 0 to disable)"); | prop, "Blur", "Number of pixels for blurring shadow (set to 0 to disable)"); | ||||
| RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_ShaderFx_update"); | RNA_def_property_update(prop, NC_OBJECT | ND_SHADERFX, "rna_ShaderFx_update"); | ||||
| prop = RNA_def_property(srna, "samples", PROP_INT, PROP_NONE); | prop = RNA_def_property(srna, "samples", PROP_INT, PROP_NONE); | ||||
| RNA_def_property_int_sdna(prop, NULL, "samples"); | RNA_def_property_int_sdna(prop, NULL, "samples"); | ||||
| RNA_def_property_range(prop, 0, 32); | RNA_def_property_range(prop, 0, 32); | ||||
| RNA_def_property_ui_range(prop, 0, 32, 2, -1); | RNA_def_property_ui_range(prop, 0, 32, 2, -1); | ||||
| RNA_def_property_int_default(prop, 4); | RNA_def_property_int_default(prop, 4); | ||||
| RNA_def_property_ui_text(prop, "Samples", "Number of Blur Samples (zero, disable blur)"); | RNA_def_property_ui_text(prop, "Samples", "Number of Blur Samples (zero, disable blur)"); | ||||
| RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_ShaderFx_update"); | RNA_def_property_update(prop, NC_OBJECT | ND_SHADERFX, "rna_ShaderFx_update"); | ||||
| prop = RNA_def_property(srna, "use_object", PROP_BOOLEAN, PROP_NONE); | prop = RNA_def_property(srna, "use_object", PROP_BOOLEAN, PROP_NONE); | ||||
| RNA_def_property_boolean_sdna(prop, NULL, "flag", FX_SHADOW_USE_OBJECT); | RNA_def_property_boolean_sdna(prop, NULL, "flag", FX_SHADOW_USE_OBJECT); | ||||
| RNA_def_property_ui_text(prop, "Use Object", "Use object as center of rotation"); | RNA_def_property_ui_text(prop, "Use Object", "Use object as center of rotation"); | ||||
| RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_ShaderFx_update"); | RNA_def_property_update(prop, NC_OBJECT | ND_SHADERFX, "rna_ShaderFx_update"); | ||||
| prop = RNA_def_property(srna, "use_wave", PROP_BOOLEAN, PROP_NONE); | prop = RNA_def_property(srna, "use_wave", PROP_BOOLEAN, PROP_NONE); | ||||
| RNA_def_property_boolean_sdna(prop, NULL, "flag", FX_SHADOW_USE_WAVE); | RNA_def_property_boolean_sdna(prop, NULL, "flag", FX_SHADOW_USE_WAVE); | ||||
| RNA_def_property_ui_text(prop, "Wave", "Use wave effect"); | RNA_def_property_ui_text(prop, "Wave", "Use wave effect"); | ||||
| RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_ShaderFx_update"); | RNA_def_property_update(prop, NC_OBJECT | ND_SHADERFX, "rna_ShaderFx_update"); | ||||
| } | } | ||||
| static void rna_def_shader_fx_glow(BlenderRNA *brna) | static void rna_def_shader_fx_glow(BlenderRNA *brna) | ||||
| { | { | ||||
| StructRNA *srna; | StructRNA *srna; | ||||
| PropertyRNA *prop; | PropertyRNA *prop; | ||||
| srna = RNA_def_struct(brna, "ShaderFxGlow", "ShaderFx"); | srna = RNA_def_struct(brna, "ShaderFxGlow", "ShaderFx"); | ||||
| RNA_def_struct_ui_text(srna, "Glow Effect", "Glow effect"); | RNA_def_struct_ui_text(srna, "Glow Effect", "Glow effect"); | ||||
| RNA_def_struct_sdna(srna, "GlowShaderFxData"); | RNA_def_struct_sdna(srna, "GlowShaderFxData"); | ||||
| RNA_def_struct_ui_icon(srna, ICON_SHADERFX); | RNA_def_struct_ui_icon(srna, ICON_SHADERFX); | ||||
| prop = RNA_def_property(srna, "glow_color", PROP_FLOAT, PROP_COLOR); | prop = RNA_def_property(srna, "glow_color", PROP_FLOAT, PROP_COLOR); | ||||
| RNA_def_property_range(prop, 0.0, 1.0); | RNA_def_property_range(prop, 0.0, 1.0); | ||||
| RNA_def_property_float_sdna(prop, NULL, "glow_color"); | RNA_def_property_float_sdna(prop, NULL, "glow_color"); | ||||
| RNA_def_property_array(prop, 3); | RNA_def_property_array(prop, 3); | ||||
| RNA_def_property_ui_text(prop, "Glow Color", "Color used for generated glow"); | RNA_def_property_ui_text(prop, "Glow Color", "Color used for generated glow"); | ||||
| RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_ShaderFx_update"); | RNA_def_property_update(prop, NC_OBJECT | ND_SHADERFX, "rna_ShaderFx_update"); | ||||
| prop = RNA_def_property(srna, "opacity", PROP_FLOAT, PROP_FACTOR); | prop = RNA_def_property(srna, "opacity", PROP_FLOAT, PROP_FACTOR); | ||||
| RNA_def_property_float_sdna(prop, NULL, "glow_color[3]"); | RNA_def_property_float_sdna(prop, NULL, "glow_color[3]"); | ||||
| RNA_def_property_range(prop, 0.0, 1.0f); | RNA_def_property_range(prop, 0.0, 1.0f); | ||||
| RNA_def_property_ui_text(prop, "Opacity", "Effect Opacity"); | RNA_def_property_ui_text(prop, "Opacity", "Effect Opacity"); | ||||
| RNA_def_property_update(prop, NC_GPENCIL | ND_DATA, "rna_GPencil_update"); | RNA_def_property_update(prop, NC_GPENCIL | ND_DATA, "rna_GPencil_update"); | ||||
| RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_ShaderFx_update"); | RNA_def_property_update(prop, NC_OBJECT | ND_SHADERFX, "rna_ShaderFx_update"); | ||||
| prop = RNA_def_property(srna, "select_color", PROP_FLOAT, PROP_COLOR); | prop = RNA_def_property(srna, "select_color", PROP_FLOAT, PROP_COLOR); | ||||
| RNA_def_property_range(prop, 0.0, 1.0); | RNA_def_property_range(prop, 0.0, 1.0); | ||||
| RNA_def_property_float_sdna(prop, NULL, "select_color"); | RNA_def_property_float_sdna(prop, NULL, "select_color"); | ||||
| RNA_def_property_array(prop, 3); | RNA_def_property_array(prop, 3); | ||||
| RNA_def_property_ui_text(prop, "Select Color", "Color selected to apply glow"); | RNA_def_property_ui_text(prop, "Select Color", "Color selected to apply glow"); | ||||
| RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_ShaderFx_update"); | RNA_def_property_update(prop, NC_OBJECT | ND_SHADERFX, "rna_ShaderFx_update"); | ||||
| prop = RNA_def_property(srna, "mode", PROP_ENUM, PROP_NONE); | prop = RNA_def_property(srna, "mode", PROP_ENUM, PROP_NONE); | ||||
| RNA_def_property_enum_sdna(prop, NULL, "mode"); | RNA_def_property_enum_sdna(prop, NULL, "mode"); | ||||
| RNA_def_property_enum_items(prop, rna_enum_shaderfx_glow_modes_items); | RNA_def_property_enum_items(prop, rna_enum_shaderfx_glow_modes_items); | ||||
| RNA_def_property_ui_text(prop, "Mode", "Glow mode"); | RNA_def_property_ui_text(prop, "Mode", "Glow mode"); | ||||
| RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_ShaderFx_update"); | RNA_def_property_update(prop, NC_OBJECT | ND_SHADERFX, "rna_ShaderFx_update"); | ||||
| prop = RNA_def_property(srna, "threshold", PROP_FLOAT, PROP_FACTOR); | prop = RNA_def_property(srna, "threshold", PROP_FLOAT, PROP_FACTOR); | ||||
| RNA_def_property_float_sdna(prop, NULL, "threshold"); | RNA_def_property_float_sdna(prop, NULL, "threshold"); | ||||
| RNA_def_property_range(prop, 0.0f, 1.0f); | RNA_def_property_range(prop, 0.0f, 1.0f); | ||||
| RNA_def_property_ui_range(prop, 0.0f, 1.0f, 0.1f, 3); | RNA_def_property_ui_range(prop, 0.0f, 1.0f, 0.1f, 3); | ||||
| RNA_def_property_ui_text(prop, "Threshold", "Limit to select color for glow effect"); | RNA_def_property_ui_text(prop, "Threshold", "Limit to select color for glow effect"); | ||||
| RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_ShaderFx_update"); | RNA_def_property_update(prop, NC_OBJECT | ND_SHADERFX, "rna_ShaderFx_update"); | ||||
| /* Use blur fields to make compatible with blur filter */ | /* Use blur fields to make compatible with blur filter */ | ||||
| prop = RNA_def_property(srna, "size", PROP_FLOAT, PROP_XYZ); | prop = RNA_def_property(srna, "size", PROP_FLOAT, PROP_XYZ); | ||||
| RNA_def_property_float_sdna(prop, NULL, "blur"); | RNA_def_property_float_sdna(prop, NULL, "blur"); | ||||
| RNA_def_property_range(prop, 0.0f, FLT_MAX); | RNA_def_property_range(prop, 0.0f, FLT_MAX); | ||||
| RNA_def_property_ui_text(prop, "Size", "Size of the effect"); | RNA_def_property_ui_text(prop, "Size", "Size of the effect"); | ||||
| RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_ShaderFx_update"); | RNA_def_property_update(prop, NC_OBJECT | ND_SHADERFX, "rna_ShaderFx_update"); | ||||
| prop = RNA_def_property(srna, "samples", PROP_INT, PROP_NONE); | prop = RNA_def_property(srna, "samples", PROP_INT, PROP_NONE); | ||||
| RNA_def_property_int_sdna(prop, NULL, "samples"); | RNA_def_property_int_sdna(prop, NULL, "samples"); | ||||
| RNA_def_property_range(prop, 1, 32); | RNA_def_property_range(prop, 1, 32); | ||||
| RNA_def_property_ui_range(prop, 1, 32, 2, -1); | RNA_def_property_ui_range(prop, 1, 32, 2, -1); | ||||
| RNA_def_property_int_default(prop, 4); | RNA_def_property_int_default(prop, 4); | ||||
| RNA_def_property_ui_text(prop, "Samples", "Number of Blur Samples"); | RNA_def_property_ui_text(prop, "Samples", "Number of Blur Samples"); | ||||
| RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_ShaderFx_update"); | RNA_def_property_update(prop, NC_OBJECT | ND_SHADERFX, "rna_ShaderFx_update"); | ||||
| prop = RNA_def_property(srna, "use_glow_under", PROP_BOOLEAN, PROP_NONE); | prop = RNA_def_property(srna, "use_glow_under", PROP_BOOLEAN, PROP_NONE); | ||||
| RNA_def_property_boolean_sdna(prop, NULL, "flag", FX_GLOW_USE_ALPHA); | RNA_def_property_boolean_sdna(prop, NULL, "flag", FX_GLOW_USE_ALPHA); | ||||
| RNA_def_property_ui_text( | RNA_def_property_ui_text( | ||||
| prop, "Glow Under", "Glow only areas with alpha (not supported with Regular blend mode)"); | prop, "Glow Under", "Glow only areas with alpha (not supported with Regular blend mode)"); | ||||
| RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_ShaderFx_update"); | RNA_def_property_update(prop, NC_OBJECT | ND_SHADERFX, "rna_ShaderFx_update"); | ||||
| prop = RNA_def_property(srna, "rotation", PROP_FLOAT, PROP_ANGLE); | prop = RNA_def_property(srna, "rotation", PROP_FLOAT, PROP_ANGLE); | ||||
| RNA_def_property_float_sdna(prop, NULL, "rotation"); | RNA_def_property_float_sdna(prop, NULL, "rotation"); | ||||
| RNA_def_property_range(prop, -FLT_MAX, FLT_MAX); | RNA_def_property_range(prop, -FLT_MAX, FLT_MAX); | ||||
| RNA_def_property_ui_text(prop, "Rotation", "Rotation of the effect"); | RNA_def_property_ui_text(prop, "Rotation", "Rotation of the effect"); | ||||
| RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_ShaderFx_update"); | RNA_def_property_update(prop, NC_OBJECT | ND_SHADERFX, "rna_ShaderFx_update"); | ||||
| /* blend mode */ | /* blend mode */ | ||||
| prop = RNA_def_property(srna, "blend_mode", PROP_ENUM, PROP_NONE); | prop = RNA_def_property(srna, "blend_mode", PROP_ENUM, PROP_NONE); | ||||
| RNA_def_property_enum_sdna(prop, NULL, "blend_mode"); | RNA_def_property_enum_sdna(prop, NULL, "blend_mode"); | ||||
| RNA_def_property_enum_items(prop, rna_enum_glow_blend_modes_items); | RNA_def_property_enum_items(prop, rna_enum_glow_blend_modes_items); | ||||
| RNA_def_property_ui_text(prop, "Blend Mode", "Blend mode"); | RNA_def_property_ui_text(prop, "Blend Mode", "Blend mode"); | ||||
| RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_ShaderFx_update"); | RNA_def_property_update(prop, NC_OBJECT | ND_SHADERFX, "rna_ShaderFx_update"); | ||||
| } | } | ||||
| static void rna_def_shader_fx_swirl(BlenderRNA *brna) | static void rna_def_shader_fx_swirl(BlenderRNA *brna) | ||||
| { | { | ||||
| StructRNA *srna; | StructRNA *srna; | ||||
| PropertyRNA *prop; | PropertyRNA *prop; | ||||
| srna = RNA_def_struct(brna, "ShaderFxSwirl", "ShaderFx"); | srna = RNA_def_struct(brna, "ShaderFxSwirl", "ShaderFx"); | ||||
| RNA_def_struct_ui_text(srna, "Swirl Effect", "Swirl effect"); | RNA_def_struct_ui_text(srna, "Swirl Effect", "Swirl effect"); | ||||
| RNA_def_struct_sdna(srna, "SwirlShaderFxData"); | RNA_def_struct_sdna(srna, "SwirlShaderFxData"); | ||||
| RNA_def_struct_ui_icon(srna, ICON_SHADERFX); | RNA_def_struct_ui_icon(srna, ICON_SHADERFX); | ||||
| prop = RNA_def_property(srna, "radius", PROP_INT, PROP_PIXEL); | prop = RNA_def_property(srna, "radius", PROP_INT, PROP_PIXEL); | ||||
| RNA_def_property_int_sdna(prop, NULL, "radius"); | RNA_def_property_int_sdna(prop, NULL, "radius"); | ||||
| RNA_def_property_range(prop, 0, SHRT_MAX); | RNA_def_property_range(prop, 0, SHRT_MAX); | ||||
| RNA_def_property_ui_text(prop, "Radius", "Radius to apply"); | RNA_def_property_ui_text(prop, "Radius", "Radius to apply"); | ||||
| RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_ShaderFx_update"); | RNA_def_property_update(prop, NC_OBJECT | ND_SHADERFX, "rna_ShaderFx_update"); | ||||
| prop = RNA_def_property(srna, "angle", PROP_FLOAT, PROP_ANGLE); | prop = RNA_def_property(srna, "angle", PROP_FLOAT, PROP_ANGLE); | ||||
| RNA_def_property_float_sdna(prop, NULL, "angle"); | RNA_def_property_float_sdna(prop, NULL, "angle"); | ||||
| RNA_def_property_range(prop, DEG2RAD(-5 * 360), DEG2RAD(5 * 360)); | RNA_def_property_range(prop, DEG2RAD(-5 * 360), DEG2RAD(5 * 360)); | ||||
| RNA_def_property_ui_range(prop, DEG2RAD(-5 * 360), DEG2RAD(5 * 360), 5, 2); | RNA_def_property_ui_range(prop, DEG2RAD(-5 * 360), DEG2RAD(5 * 360), 5, 2); | ||||
| RNA_def_property_ui_text(prop, "Angle", "Angle of rotation"); | RNA_def_property_ui_text(prop, "Angle", "Angle of rotation"); | ||||
| RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_ShaderFx_update"); | RNA_def_property_update(prop, NC_OBJECT | ND_SHADERFX, "rna_ShaderFx_update"); | ||||
| prop = RNA_def_property(srna, "use_transparent", PROP_BOOLEAN, PROP_NONE); | prop = RNA_def_property(srna, "use_transparent", PROP_BOOLEAN, PROP_NONE); | ||||
| RNA_def_property_boolean_sdna(prop, NULL, "flag", FX_SWIRL_MAKE_TRANSPARENT); | RNA_def_property_boolean_sdna(prop, NULL, "flag", FX_SWIRL_MAKE_TRANSPARENT); | ||||
| RNA_def_property_ui_text(prop, "Transparent", "Make image transparent outside of radius"); | RNA_def_property_ui_text(prop, "Transparent", "Make image transparent outside of radius"); | ||||
| RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_ShaderFx_update"); | RNA_def_property_update(prop, NC_OBJECT | ND_SHADERFX, "rna_ShaderFx_update"); | ||||
| prop = RNA_def_property(srna, "object", PROP_POINTER, PROP_NONE); | prop = RNA_def_property(srna, "object", PROP_POINTER, PROP_NONE); | ||||
| RNA_def_property_ui_text(prop, "Object", "Object to determine center location"); | RNA_def_property_ui_text(prop, "Object", "Object to determine center location"); | ||||
| RNA_def_property_pointer_funcs(prop, NULL, "rna_SwirlShaderFx_object_set", NULL, NULL); | RNA_def_property_pointer_funcs(prop, NULL, "rna_SwirlShaderFx_object_set", NULL, NULL); | ||||
| RNA_def_property_flag(prop, PROP_EDITABLE | PROP_ID_SELF_CHECK); | RNA_def_property_flag(prop, PROP_EDITABLE | PROP_ID_SELF_CHECK); | ||||
| RNA_def_property_override_flag(prop, PROPOVERRIDE_OVERRIDABLE_LIBRARY); | RNA_def_property_override_flag(prop, PROPOVERRIDE_OVERRIDABLE_LIBRARY); | ||||
| RNA_def_property_update(prop, 0, "rna_ShaderFx_dependency_update"); | RNA_def_property_update(prop, 0, "rna_ShaderFx_dependency_update"); | ||||
| } | } | ||||
| static void rna_def_shader_fx_flip(BlenderRNA *brna) | static void rna_def_shader_fx_flip(BlenderRNA *brna) | ||||
| { | { | ||||
| StructRNA *srna; | StructRNA *srna; | ||||
| PropertyRNA *prop; | PropertyRNA *prop; | ||||
| srna = RNA_def_struct(brna, "ShaderFxFlip", "ShaderFx"); | srna = RNA_def_struct(brna, "ShaderFxFlip", "ShaderFx"); | ||||
| RNA_def_struct_ui_text(srna, "Flip Effect", "Flip effect"); | RNA_def_struct_ui_text(srna, "Flip Effect", "Flip effect"); | ||||
| RNA_def_struct_sdna(srna, "FlipShaderFxData"); | RNA_def_struct_sdna(srna, "FlipShaderFxData"); | ||||
| RNA_def_struct_ui_icon(srna, ICON_SHADERFX); | RNA_def_struct_ui_icon(srna, ICON_SHADERFX); | ||||
| prop = RNA_def_property(srna, "flip_horizontal", PROP_BOOLEAN, PROP_NONE); | prop = RNA_def_property(srna, "flip_horizontal", PROP_BOOLEAN, PROP_NONE); | ||||
| RNA_def_property_boolean_sdna(prop, NULL, "flag", FX_FLIP_HORIZONTAL); | RNA_def_property_boolean_sdna(prop, NULL, "flag", FX_FLIP_HORIZONTAL); | ||||
| RNA_def_property_ui_text(prop, "Horizontal", "Flip image horizontally"); | RNA_def_property_ui_text(prop, "Horizontal", "Flip image horizontally"); | ||||
| RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_ShaderFx_update"); | RNA_def_property_update(prop, NC_OBJECT | ND_SHADERFX, "rna_ShaderFx_update"); | ||||
| prop = RNA_def_property(srna, "flip_vertical", PROP_BOOLEAN, PROP_NONE); | prop = RNA_def_property(srna, "flip_vertical", PROP_BOOLEAN, PROP_NONE); | ||||
| RNA_def_property_boolean_sdna(prop, NULL, "flag", FX_FLIP_VERTICAL); | RNA_def_property_boolean_sdna(prop, NULL, "flag", FX_FLIP_VERTICAL); | ||||
| RNA_def_property_ui_text(prop, "Vertical", "Flip image vertically"); | RNA_def_property_ui_text(prop, "Vertical", "Flip image vertically"); | ||||
| RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_ShaderFx_update"); | RNA_def_property_update(prop, NC_OBJECT | ND_SHADERFX, "rna_ShaderFx_update"); | ||||
| } | } | ||||
| void RNA_def_shader_fx(BlenderRNA *brna) | void RNA_def_shader_fx(BlenderRNA *brna) | ||||
| { | { | ||||
| StructRNA *srna; | StructRNA *srna; | ||||
| PropertyRNA *prop; | PropertyRNA *prop; | ||||
| /* data */ | /* data */ | ||||
| srna = RNA_def_struct(brna, "ShaderFx", NULL); | srna = RNA_def_struct(brna, "ShaderFx", NULL); | ||||
| RNA_def_struct_ui_text(srna, "ShaderFx", "Effect affecting the grease pencil object"); | RNA_def_struct_ui_text(srna, "ShaderFx", "Effect affecting the grease pencil object"); | ||||
| RNA_def_struct_refine_func(srna, "rna_ShaderFx_refine"); | RNA_def_struct_refine_func(srna, "rna_ShaderFx_refine"); | ||||
| RNA_def_struct_path_func(srna, "rna_ShaderFx_path"); | RNA_def_struct_path_func(srna, "rna_ShaderFx_path"); | ||||
| RNA_def_struct_sdna(srna, "ShaderFxData"); | RNA_def_struct_sdna(srna, "ShaderFxData"); | ||||
| /* strings */ | /* strings */ | ||||
| prop = RNA_def_property(srna, "name", PROP_STRING, PROP_NONE); | prop = RNA_def_property(srna, "name", PROP_STRING, PROP_NONE); | ||||
| RNA_def_property_string_funcs(prop, NULL, NULL, "rna_ShaderFx_name_set"); | RNA_def_property_string_funcs(prop, NULL, NULL, "rna_ShaderFx_name_set"); | ||||
| RNA_def_property_ui_text(prop, "Name", "Effect name"); | RNA_def_property_ui_text(prop, "Name", "Effect name"); | ||||
| RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER | NA_RENAME, NULL); | RNA_def_property_update(prop, NC_OBJECT | ND_SHADERFX | NA_RENAME, NULL); | ||||
| RNA_def_struct_name_property(srna, prop); | RNA_def_struct_name_property(srna, prop); | ||||
| /* enums */ | /* enums */ | ||||
| prop = RNA_def_property(srna, "type", PROP_ENUM, PROP_NONE); | prop = RNA_def_property(srna, "type", PROP_ENUM, PROP_NONE); | ||||
| RNA_def_property_clear_flag(prop, PROP_EDITABLE); | RNA_def_property_clear_flag(prop, PROP_EDITABLE); | ||||
| RNA_def_property_enum_sdna(prop, NULL, "type"); | RNA_def_property_enum_sdna(prop, NULL, "type"); | ||||
| RNA_def_property_enum_items(prop, rna_enum_object_shaderfx_type_items); | RNA_def_property_enum_items(prop, rna_enum_object_shaderfx_type_items); | ||||
| RNA_def_property_ui_text(prop, "Type", ""); | RNA_def_property_ui_text(prop, "Type", ""); | ||||
| RNA_def_property_translation_context(prop, BLT_I18NCONTEXT_ID_ID); /* Abused, for "Light"... */ | RNA_def_property_translation_context(prop, BLT_I18NCONTEXT_ID_ID); /* Abused, for "Light"... */ | ||||
| /* flags */ | /* flags */ | ||||
| prop = RNA_def_property(srna, "show_viewport", PROP_BOOLEAN, PROP_NONE); | prop = RNA_def_property(srna, "show_viewport", PROP_BOOLEAN, PROP_NONE); | ||||
| RNA_def_property_boolean_sdna(prop, NULL, "mode", eShaderFxMode_Realtime); | RNA_def_property_boolean_sdna(prop, NULL, "mode", eShaderFxMode_Realtime); | ||||
| RNA_def_property_ui_text(prop, "Realtime", "Display effect in viewport"); | RNA_def_property_ui_text(prop, "Realtime", "Display effect in viewport"); | ||||
| RNA_def_property_flag(prop, PROP_LIB_EXCEPTION); | RNA_def_property_flag(prop, PROP_LIB_EXCEPTION); | ||||
| RNA_def_property_override_flag(prop, PROPOVERRIDE_OVERRIDABLE_LIBRARY); | RNA_def_property_override_flag(prop, PROPOVERRIDE_OVERRIDABLE_LIBRARY); | ||||
| RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_ShaderFx_update"); | RNA_def_property_update(prop, NC_OBJECT | ND_SHADERFX, "rna_ShaderFx_update"); | ||||
| RNA_def_property_ui_icon(prop, ICON_RESTRICT_VIEW_ON, 1); | RNA_def_property_ui_icon(prop, ICON_RESTRICT_VIEW_ON, 1); | ||||
| prop = RNA_def_property(srna, "show_render", PROP_BOOLEAN, PROP_NONE); | prop = RNA_def_property(srna, "show_render", PROP_BOOLEAN, PROP_NONE); | ||||
| RNA_def_property_boolean_sdna(prop, NULL, "mode", eShaderFxMode_Render); | RNA_def_property_boolean_sdna(prop, NULL, "mode", eShaderFxMode_Render); | ||||
| RNA_def_property_override_flag(prop, PROPOVERRIDE_OVERRIDABLE_LIBRARY); | RNA_def_property_override_flag(prop, PROPOVERRIDE_OVERRIDABLE_LIBRARY); | ||||
| RNA_def_property_ui_text(prop, "Render", "Use effect during render"); | RNA_def_property_ui_text(prop, "Render", "Use effect during render"); | ||||
| RNA_def_property_ui_icon(prop, ICON_RESTRICT_RENDER_ON, 1); | RNA_def_property_ui_icon(prop, ICON_RESTRICT_RENDER_ON, 1); | ||||
| RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, NULL); | RNA_def_property_update(prop, NC_OBJECT | ND_SHADERFX, NULL); | ||||
| prop = RNA_def_property(srna, "show_in_editmode", PROP_BOOLEAN, PROP_NONE); | prop = RNA_def_property(srna, "show_in_editmode", PROP_BOOLEAN, PROP_NONE); | ||||
| RNA_def_property_boolean_sdna(prop, NULL, "mode", eShaderFxMode_Editmode); | RNA_def_property_boolean_sdna(prop, NULL, "mode", eShaderFxMode_Editmode); | ||||
| RNA_def_property_ui_text(prop, "Edit Mode", "Display effect in Edit mode"); | RNA_def_property_ui_text(prop, "Edit Mode", "Display effect in Edit mode"); | ||||
| RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_ShaderFx_update"); | RNA_def_property_update(prop, NC_OBJECT | ND_SHADERFX, "rna_ShaderFx_update"); | ||||
| RNA_def_property_ui_icon(prop, ICON_EDITMODE_HLT, 0); | RNA_def_property_ui_icon(prop, ICON_EDITMODE_HLT, 0); | ||||
| prop = RNA_def_property(srna, "show_expanded", PROP_BOOLEAN, PROP_NONE); | prop = RNA_def_property(srna, "show_expanded", PROP_BOOLEAN, PROP_NONE); | ||||
| RNA_def_property_flag(prop, PROP_NO_DEG_UPDATE); | RNA_def_property_flag(prop, PROP_NO_DEG_UPDATE); | ||||
| RNA_def_property_boolean_sdna(prop, NULL, "ui_expand_flag", 0); | RNA_def_property_boolean_sdna(prop, NULL, "ui_expand_flag", 0); | ||||
| RNA_def_property_override_flag(prop, PROPOVERRIDE_OVERRIDABLE_LIBRARY); | RNA_def_property_override_flag(prop, PROPOVERRIDE_OVERRIDABLE_LIBRARY); | ||||
| RNA_def_property_ui_text(prop, "Expanded", "Set effect expansion in the user interface"); | RNA_def_property_ui_text(prop, "Expanded", "Set effect expansion in the user interface"); | ||||
| RNA_def_property_ui_icon(prop, ICON_DISCLOSURE_TRI_RIGHT, 1); | RNA_def_property_ui_icon(prop, ICON_DISCLOSURE_TRI_RIGHT, 1); | ||||
| Show All 14 Lines | |||||