#ifndef shader_h #define shader_h #include #include #include #include #include typedef struct shader_s { GLuint resolution_uniform; GLuint origin_uniform; GLuint texture_uniform; GLuint previous_texture_uniform; GLuint mix_previous_uniform; GLuint position_attribute; GLuint texture; GLuint previous_texture; GLuint program; bool compat_mode; } shader_t; bool init_shader_with_name(shader_t *shader, const char *name); void render_bitmap_with_shader(shader_t *shader, void *bitmap, void *previous, unsigned source_width, unsigned source_height, unsigned x, unsigned y, unsigned w, unsigned h); void free_shader(struct shader_s *shader); void free_master_shader(void); #endif /* shader_h */