58 DARRAY(uint8_t) default_val;
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,
EXPORT void gs_shader_destroy(gs_shader_t *shader)
bool looping
Definition: effect.h:167
bool changed
Definition: effect.h:56
DARRAY(struct pass_shaderparam) vertshader_params
EXPORT void effect_upload_params(gs_effect_t *effect, bool changed_only)
struct gs_shader gs_shader_t
Definition: graphics.h:276
gs_shader_t * pixelshader
Definition: effect.h:103
gs_effect_t * effect
Definition: effect.h:60
enum effect_section section
Definition: effect.h:127
struct gs_shader_param gs_sparam_t
Definition: graphics.h:277
DARRAY(struct gs_effect_pass) passes
struct gs_effect_param * eparam
Definition: effect.h:94
struct gs_effect_technique * cur_technique
Definition: effect.h:158
struct gs_effect * next
Definition: effect.h:164
#define EXPORT
Definition: c99defs.h:37
char * effect_dir
Definition: effect.h:153
Definition: graphics-internal.h:329
gs_shader_t * vertshader
Definition: effect.h:102
char * effect_path
Definition: effect.h:153
gs_shader_param_type
Definition: graphics.h:289
bool processing
Definition: effect.h:151
enum effect_section section
Definition: effect.h:52
#define da_free(v)
Definition: darray.h:467
char * name
Definition: effect.h:99
struct gs_effect * effect
Definition: effect.h:128
DARRAY(struct gs_effect_param) params
enum gs_shader_param_type type
Definition: effect.h:54
EXPORT void effect_param_parse_property(gs_eparam_t *param, const char *property)
struct gs_sampler_state gs_samplerstate_t
Definition: graphics.h:271
EXPORT void effect_upload_shader_params(gs_effect_t *effect, gs_shader_t *shader, struct darray *pass_params, bool changed_only)
gs_eparam_t * scale
Definition: effect.h:161
gs_samplerstate_t * next_sampler
Definition: effect.h:61
char * name
Definition: effect.h:126
effect_section
Definition: effect.h:40
gs_eparam_t * world
Definition: effect.h:161
size_t loop_pass
Definition: effect.h:166
bool cached
Definition: effect.h:152
#define da_init(v)
Definition: darray.h:465
gs_sparam_t * sparam
Definition: effect.h:95
graphics_t * graphics
Definition: effect.h:162
char * name
Definition: effect.h:51
gs_eparam_t * view_proj
Definition: effect.h:161
struct gs_effect_pass * cur_pass
Definition: effect.h:159
EXPORT void bfree(void *ptr)
enum effect_section section
Definition: effect.h:100