Applications can optionally generate graphics, which are displayed either in an application window, or in full-screen mode (screensaver).
If an application is able to generate graphics, it should call
void boinc_init_opengl();at the start and
void boinc_finish_opengl();at the end. It must also supply a function
bool app_render(int xs, ys, double time_of_day);which will be called periodically. This should make openGL calls to generate the current graphic. xs and ys are the X and Y sizes of the window, and time_of_day is the relative time. The function should return true if it actually drew anything. It can refer to the user name, CPU time etc. obtained from boinc_init().
Give example here
Applications that don't do graphics must also supply a dummy app_render to link with the API. boinc_draw_gl is called to draw graphics