8 static unsigned int sdr_foo;
9 static unsigned int tex_logo;
13 if(init_opengl() == -1) {
17 if(!(sdr_foo = get_sdrprog("sdr/foo.v.glsl", "sdr/foo.p.glsl"))) {
20 if(!(tex_logo = get_tex2d("data/ml_logo_old.png"))) {
23 glUseProgram(sdr_foo);
36 if(dsys_init("data/demoscript") == -1) {
43 void demo_cleanup(void)
48 void demo_display(void)
50 struct demoscreen *scr;
52 glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
57 scr->update(dsys_time);
64 void demo_reshape(int x, int y)
68 glViewport(0, 0, x, y);
70 for(i=0; i<dsys_num_screens; i++) {
71 if(dsys_screens[i]->reshape) {
72 dsys_screens[i]->reshape(x, y);
77 void demo_keyboard(int key, int pressed)
95 if(key >= '0' && key <= '9') {
96 dsys_seek_rel((float)(key - '0') / 9.0f);
98 } else if(key >= KEY_F1 && key <= KEY_F12) {
99 int idx = key - KEY_F1;
100 if(idx < dsys_num_screens) {
101 dsys_run_screen(dsys_screens[idx]);
105 struct demoscreen *scr = dsys_act_scr;
108 scr->keyboard(key, pressed);
116 void demo_mouse(int bn, int pressed, int x, int y)
118 struct demoscreen *scr = dsys_act_scr;
121 scr->mouse(bn, pressed, x, y);
127 void demo_motion(int x, int y)
129 struct demoscreen *scr = dsys_act_scr;