 |
Open Broadcaster Software
Free, open source software for live streaming and recording
|
Go to the documentation of this file.
82 for (i = 0; i < param->annotations.num; i++)
83 effect_param_free(param->annotations.array + i);
89 const char *property);
116 da_free(pass->vertshader_params);
117 da_free(pass->pixelshader_params);
141 for (i = 0; i < t->passes.num; i++)
142 effect_pass_free(t->passes.array + i);
170 static inline void effect_init(
gs_effect_t *effect)
172 memset(effect, 0,
sizeof(
struct gs_effect));
175 static inline void effect_free(
gs_effect_t *effect)
178 for (i = 0; i < effect->params.num; i++)
179 effect_param_free(effect->params.array + i);
180 for (i = 0; i < effect->techniques.num; i++)
181 effect_technique_free(effect->techniques.array + i);
195 struct darray *pass_params,
gs_sparam_t * sparam
Definition: effect.h:95
struct gs_effect_param * eparam
Definition: effect.h:94
enum gs_shader_param_type type
Definition: effect.h:54
DARRAY(struct pass_shaderparam) vertshader_params
enum effect_section section
Definition: effect.h:52
gs_samplerstate_t * next_sampler
Definition: effect.h:61
gs_shader_t * pixelshader
Definition: effect.h:103
struct gs_shader_param gs_sparam_t
Definition: graphics.h:277
bool looping
Definition: effect.h:167
enum effect_section section
Definition: effect.h:127
gs_effect_t * effect
Definition: effect.h:60
bool changed
Definition: effect.h:56
EXPORT void effect_upload_params(gs_effect_t *effect, bool changed_only)
struct gs_effect_technique * cur_technique
Definition: effect.h:158
EXPORT void bfree(void *ptr)
#define EXPORT
Definition: c99defs.h:37
EXPORT void effect_param_parse_property(gs_eparam_t *param, const char *property)
@ EFFECT_PASS
Definition: effect.h:44
struct gs_shader gs_shader_t
Definition: graphics.h:276
@ EFFECT_PARAM
Definition: effect.h:41
@ EFFECT_ANNOTATION
Definition: effect.h:45
@ EFFECT_TECHNIQUE
Definition: effect.h:42
#define da_free(v)
Definition: darray.h:467
gs_shader_param_type
Definition: graphics.h:289
char * effect_dir
Definition: effect.h:153
gs_shader_t * vertshader
Definition: effect.h:102
struct gs_effect * next
Definition: effect.h:164
bool processing
Definition: effect.h:151
Definition: graphics-internal.h:329
#define da_init(v)
Definition: darray.h:465
@ EFFECT_SAMPLER
Definition: effect.h:43
struct gs_sampler_state gs_samplerstate_t
Definition: graphics.h:271
gs_eparam_t * scale
Definition: effect.h:161
char * name
Definition: effect.h:99
gs_eparam_t * world
Definition: effect.h:161
char * name
Definition: effect.h:126
char * effect_path
Definition: effect.h:153
struct gs_effect * effect
Definition: effect.h:128
DARRAY(struct gs_effect_pass) passes
DARRAY(struct gs_effect_param) annotations
graphics_t * graphics
Definition: effect.h:162
size_t loop_pass
Definition: effect.h:166
DARRAY(uint8_t) default_val
effect_section
Definition: effect.h:40
struct gs_effect_pass * cur_pass
Definition: effect.h:159
DARRAY(struct gs_effect_param) params
EXPORT void effect_upload_shader_params(gs_effect_t *effect, gs_shader_t *shader, struct darray *pass_params, bool changed_only)
gs_eparam_t * view_proj
Definition: effect.h:161
DARRAY(struct gs_effect_technique) techniques
EXPORT void gs_shader_destroy(gs_shader_t *shader)
char * name
Definition: effect.h:51
DARRAY(struct pass_shaderparam) pixelshader_params
bool cached
Definition: effect.h:152
enum effect_section section
Definition: effect.h:100