e994d6d498
This function greatly simplifies the use of effects by making it so you can call this function in a simple loop. This reduces boilerplate and makes drawing with effects much easier. The gs_effect_loop function will now automatically handle all the functions required to do drawing. --------------------- Before: gs_technique_t *technique = gs_effect_get_technique("technique"); size_t passes = gs_technique_begin(technique); for (size_t pass = 0; pass < passes; pass++) { gs_technique_begin_pass(technique, pass); [draw] gs_technique_end_pass(technique); } gs_technique_end(technique); --------------------- After: while (gs_effect_loop(effect, "technique")) { [draw] }