say_window *say_window_create() { say_window *win = (say_window*)malloc(sizeof(say_window)); win->target = say_target_create(); say_input_reset(&win->input); win->show_cursor = true; win->win = say_imp_window_create(); return win; }
say_image_target *say_image_target_create() { say_context_ensure(); say_image_target *target = malloc(sizeof(say_image_target)); target->target = say_target_create(); target->img = NULL; glGenFramebuffersEXT(1, &(target->fbo)); glGenRenderbuffersEXT(1, &(target->rbo)); return target; }