Allegro.cc - Online Community

Allegro.cc Forums » Programming Questions » AllegroGL not making window

This thread is locked; no one can reply to it. rss feed Print
AllegroGL not making window
biscuitz
Member #5,679
March 2005
avatar

1#include <allegro.h>
2#include <alleggl.h>
3 
4 
5void Init()
6{
7 allegro_init();
8 install_allegro_gl();
9 install_keyboard();
10 
11 set_gfx_mode(GFX_OPENGL_WINDOWED, 640, 480, 0, 0);
12 
13 glClearColor(0.0, 0.0, 0.0, 0.0);
14}
15 
16int main()
17{
18 Init();
19 glClear(GL_COLOR_BUFFER_BIT);
20 readkey();
21 
22 return 0;
23}
24END_OF_MAIN();

The code is supposed to make a blank window but the window doesn't show up. :(

P.S. I installed the latest dev-paks for Allegro and AllegroGL.

---Allegro Version 4.2.0 (beta4)
The hardest part is getting started.
WATCH TV! It's good for ya'
Wave your hand really fast in front of the monitor (It looks like when those Matrix agents dodge bullets)

BrknPhoenix
Member #7,304
June 2006

Heh I bet I know what tutorial you're getting that from. You need to call the allegro_gl_flip() function (no parameters) to flip the buffer onto the screen.

biscuitz
Member #5,679
March 2005
avatar

I added flip after the "glClear" in main() :( now it comes up with an error

Quote:

AppName: allegro gl.exe AppVer: 0.0.0.0 ModName: allegro gl.exe
ModVer: 0.0.0.0 Offset: 00002fc5

edit: I tried compiling another example:

1#include <allegro.h>
2#include <alleggl.h>
3 
4volatile int Time = 0;
5void TimerFunc()
6{
7 Time++;
8}
9END_OF_FUNCTION(TimerFunc);
10 
11void Init()
12{
13 allegro_init();
14 install_allegro_gl();
15 install_keyboard();
16 install_timer();
17 
18 set_gfx_mode(GFX_OPENGL_WINDOWED, 640, 480, 0, 0);
19 
20 glClearColor(0.0, 0.0, 0.0, 0.0);
21}
22 
23int main()
24{
25 Init();
26 
27 float x = 0.0, y = 0.5;
28 
29 LOCK_VARIABLE(Time);
30 LOCK_FUNCTION(TimerFunc);
31 
32 install_int_ex(TimerFunc, BPS_TO_TIMER(60));
33 
34 while(!key[KEY_ESC])
35 {
36 while(Time > 0)
37 {
38 poll_keyboard();
39 if(key[KEY_UP]) y += 0.01;
40 if(key[KEY_DOWN]) y -= 0.01;
41 if(key[KEY_RIGHT]) x += 0.01;
42 if(key[KEY_LEFT]) x -= 0.01;
43 
44 glClear(GL_COLOR_BUFFER_BIT);
45 glBegin(GL_LINES);
46 glColor3f(1.0, 0.0, 0.0);
47 glVertex2f(0.0, 0.0);
48 glVertex2f(x, y);
49 glColor3f(0.0, 1.0, 0.0);
50 glVertex2f(0.0, 0.0);
51 glVertex2f(-x, y);
52 glColor3f(0.0, 0.0, 1.0);
53 glVertex2f(0.0, 0.0);
54 glVertex2f(x, -y);
55 glColor3f(0.0, 1.0, 1.0);
56 glVertex2f(0.0, 0.0);
57 glVertex2f(-x, -y);
58 glEnd();
59 glFlush();
60 
61 Time--;
62 }
63 }
64 
65 return 0;
66}
67END_OF_MAIN();

And the window still won't show up. I think it has something to do with the dev-paks I installed >.< Ima try to compile the libraries from scratch.

---Allegro Version 4.2.0 (beta4)
The hardest part is getting started.
WATCH TV! It's good for ya'
Wave your hand really fast in front of the monitor (It looks like when those Matrix agents dodge bullets)

BrknPhoenix
Member #7,304
June 2006

Oh well, I wasn't sure if just the flip would work. This should:

1#include <allegro.h>
2#include <alleggl.h>
3 
4 
5void Init()
6{
7 allegro_init();
8 install_allegro_gl();
9 install_keyboard();
10 
11 allegro_gl_clear_settings();
12 allegro_gl_set(AGL_COLOR_DEPTH, 16);
13 allegro_gl_set(AGL_Z_DEPTH, 8);
14 allegro_gl_set(AGL_WINDOWED, TRUE);
15 allegro_gl_set(AGL_DOUBLEBUFFER, 1);
16 allegro_gl_set(AGL_RENDERMETHOD, 1);
17 allegro_gl_set(AGL_SUGGEST, AGL_COLOR_DEPTH |
18 AGL_DOUBLEBUFFER | AGL_RENDERMETHOD |
19 AGL_Z_DEPTH | AGL_WINDOWED);
20 
21 set_gfx_mode(GFX_OPENGL, 640, 480, 0, 0);
22 
23 glClearColor(0.0, 0.0, 0.0, 0.0);
24}
25 
26int main()
27{
28 Init();
29 glClear(GL_COLOR_BUFFER_BIT);
30 allegro_gl_flip();
31 while (!key[KEY_ESC]);
32 
33 return 0;
34}
35END_OF_MAIN();

biscuitz
Member #5,679
March 2005
avatar

bows ty :) It works now.

---Allegro Version 4.2.0 (beta4)
The hardest part is getting started.
WATCH TV! It's good for ya'
Wave your hand really fast in front of the monitor (It looks like when those Matrix agents dodge bullets)

Go to: