26#define SHADER_FX_ACTIVE(_fx, _is_render) \
27 ((((_fx)->mode & eShaderFxMode_Realtime) && (_is_render == false)) || \
28 (((_fx)->mode & eShaderFxMode_Render) && (_is_render == true)))
29#define SHADER_FX_EDIT(_fx, _is_edit) ((((_fx)->mode & eShaderFxMode_Editmode) == 0) && (_is_edit))
61 const char *propname);
137#define SHADERFX_TYPE_PANEL_PREFIX "FX_PT_"
void BKE_shaderfx_foreach_ID_link(struct Object *ob, ShaderFxIDWalkFunc walk, void *user_data)
bool BKE_shaderfx_depends_ontime(struct ShaderFxData *fx)
@ eShaderFxType_GpencilType
void BKE_shaderfx_init(void)
struct ShaderFxData * BKE_shaderfx_findby_type(struct Object *ob, ShaderFxType type)
void BKE_shaderfx_copy(struct ListBase *dst, const struct ListBase *src)
void BKE_shaderfx_free_ex(struct ShaderFxData *fx, int flag)
void BKE_shaderfx_blend_write(struct BlendWriter *writer, struct ListBase *fxbase)
void BKE_shaderfxType_panel_id(ShaderFxType type, char *r_idname)
bool BKE_shaderfx_has_gpencil(const struct Object *ob)
struct ShaderFxData * BKE_shaderfx_new(int type)
void BKE_shaderfx_free(struct ShaderFxData *fx)
void BKE_shaderfx_copydata(struct ShaderFxData *fx, struct ShaderFxData *target)
void(* ShaderFxTexWalkFunc)(void *user_data, struct Object *ob, struct ShaderFxData *fx, const char *propname)
void BKE_shaderfx_blend_read_data(struct BlendDataReader *reader, struct ListBase *lb, struct Object *ob)
struct ShaderFxTypeInfo ShaderFxTypeInfo
void BKE_shaderfx_panel_expand(struct ShaderFxData *fx)
void BKE_shaderfx_copydata_ex(struct ShaderFxData *fx, struct ShaderFxData *target, int flag)
bool BKE_shaderfx_is_nonlocal_in_liboverride(const struct Object *ob, const struct ShaderFxData *shaderfx)
const ShaderFxTypeInfo * BKE_shaderfx_get_info(ShaderFxType type)
struct ShaderFxData * BKE_shaderfx_findby_name(struct Object *ob, const char *name)
void BKE_shaderfx_copydata_generic(const struct ShaderFxData *fx_src, struct ShaderFxData *fx_dst)
void BKE_shaderfx_unique_name(struct ListBase *shaders, struct ShaderFxData *fx)
@ eShaderFxTypeFlag_SupportsEditmode
@ eShaderFxTypeFlag_NoUserAdd
@ eShaderFxTypeFlag_EnableInEditmode
@ eShaderFxTypeFlag_Single
void(* ShaderFxIDWalkFunc)(void *user_data, struct Object *ob, struct ID **idpoin, int cb_flag)
void(* copy_data)(const struct ShaderFxData *fx, struct ShaderFxData *target)
void(* update_depsgraph)(struct ShaderFxData *fx, const struct ModifierUpdateDepsgraphContext *ctx)
void(* free_data)(struct ShaderFxData *fx)
void(* init_data)(struct ShaderFxData *fx)
void(* panel_register)(struct ARegionType *region_type)
void(* foreach_ID_link)(struct ShaderFxData *fx, struct Object *ob, ShaderFxIDWalkFunc walk, void *user_data)
bool(* depends_on_time)(struct ShaderFxData *fx)
bool(* is_disabled)(struct ShaderFxData *fx, bool use_render_params)