<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>Does AllegroGL work in Windows?</title>
		<link>http://www.allegro.cc/forums/view/591750</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Tue, 05 Jun 2007 20:38:26 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I finally got all my stuff installed and compiling.<br />The game starts but segfaults instantly. I ran it in gdb and there was no stack whatsoever. I put some debugging printf()&#39;s, to see where it got to, and Scite didn&#39;t print them, but command.com did...</p><p>Eventually I found out that this block is the offending one, so it is presumable a problem with set_gfx_mode():
</p><div class="source-code snippet"><div class="inner"><pre>  <span class="k1">if</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/set_gfx_mode" target="_blank"><span class="a">set_gfx_mode</span></a><span class="k2">(</span>GFX_OPENGL_WINDOWED, <span class="n">640</span>, <span class="n">480</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span> <span class="k3">!</span><span class="k3">=</span> <span class="n">0</span><span class="k2">)</span> <span class="k2">{</span>
    <span class="k1">if</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/set_gfx_mode" target="_blank"><span class="a">set_gfx_mode</span></a><span class="k2">(</span>GFX_OPENGL_FULLSCREEN, <span class="n">640</span>, <span class="n">480</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span> <span class="k3">!</span><span class="k3">=</span> <span class="n">0</span><span class="k2">)</span> <span class="k2">{</span>
      <a href="http://www.allegro.cc/manual/allegro_message" target="_blank"><span class="a">allegro_message</span></a><span class="k2">(</span><span class="s">"Video error. Allegro said: %s\n"</span>, <a href="http://www.allegro.cc/manual/allegro_error" target="_blank"><span class="a">allegro_error</span></a><span class="k2">)</span><span class="k2">;</span>
      <span class="k1">return</span> <span class="n">1</span><span class="k2">;</span>
    <span class="k2">}</span>
  <span class="k2">}</span>
</pre></div></div><p>

So, does AllegroGL work in Windows? Or have I done something wrong?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (James Stanley)</author>
		<pubDate>Tue, 05 Jun 2007 12:45:50 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>OpenGL is compatible with nearly every platform possible ;-)</p><p>You must have missed the install_allegro_gl() call, try this code and it should work:
</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td><span class="p">#include &lt;allegro.h&gt;</span></td></tr><tr><td class="number">2</td><td><span class="p">#include &lt;alleggl.h&gt;</span></td></tr><tr><td class="number">3</td><td>&#160;</td></tr><tr><td class="number">4</td><td><span class="k1">int</span> main<span class="k2">(</span><span class="k2">)</span> <span class="k2">{</span></td></tr><tr><td class="number">5</td><td>  </td></tr><tr><td class="number">6</td><td>  <span class="c">/* Initialize both Allegro and AllegroGL */</span></td></tr><tr><td class="number">7</td><td>  <a href="http://www.allegro.cc/manual/allegro_init" target="_blank"><span class="a">allegro_init</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">8</td><td>  install_allegro_gl<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">9</td><td>  </td></tr><tr><td class="number">10</td><td>  <span class="c">/* Tell Allegro we want to use the keyboard */</span></td></tr><tr><td class="number">11</td><td>  <a href="http://www.allegro.cc/manual/install_keyboard" target="_blank"><span class="a">install_keyboard</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">12</td><td>&#160;</td></tr><tr><td class="number">13</td><td>  <span class="c">/* Suggest a good screen mode for OpenGL */</span></td></tr><tr><td class="number">14</td><td>  allegro_gl_set<span class="k2">(</span>AGL_Z_DEPTH, <span class="n">8</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">15</td><td>  allegro_gl_set<span class="k2">(</span>AGL_COLOR_DEPTH, <span class="n">16</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">16</td><td>  allegro_gl_set<span class="k2">(</span>AGL_SUGGEST, AGL_Z_DEPTH <span class="k3">|</span> AGL_COLOR_DEPTH<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">17</td><td>&#160;</td></tr><tr><td class="number">18</td><td>  <span class="c">/* Set the graphics mode */</span></td></tr><tr><td class="number">19</td><td>  <a href="http://www.allegro.cc/manual/set_gfx_mode" target="_blank"><span class="a">set_gfx_mode</span></a><span class="k2">(</span>GFX_OPENGL_WINDOWED, <span class="n">640</span>, <span class="n">480</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">20</td><td>  </td></tr><tr><td class="number">21</td><td>  <span class="c">/* Clear the screen */</span></td></tr><tr><td class="number">22</td><td>  glClear<span class="k2">(</span>GL_COLOR_BUFFER_BIT <span class="k3">|</span> GL_DEPTH_BUFFER_BIT<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">23</td><td>&#160;</td></tr><tr><td class="number">24</td><td>  <span class="c">/* Set up the view frustum */</span></td></tr><tr><td class="number">25</td><td>  glMatrixMode<span class="k2">(</span>GL_MODELVIEW<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">26</td><td>  glLoadIdentity<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">27</td><td>  glFrustum<span class="k2">(</span><span class="k3">-</span><span class="n">1</span>.<span class="n">0</span>, <span class="n">1</span>.<span class="n">0</span>, <span class="k3">-</span><span class="n">1</span>.<span class="n">0</span>, <span class="n">1</span>.<span class="n">0</span>, <span class="n">1</span>, <span class="n">60</span>.<span class="n">0</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">28</td><td>&#160;</td></tr><tr><td class="number">29</td><td>  <span class="c">/* Draw a quad using OpenGL */</span></td></tr><tr><td class="number">30</td><td>  glBegin<span class="k2">(</span>GL_QUADS<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">31</td><td>    glColor3ub<span class="k2">(</span><span class="n">255</span>, <span class="n">255</span>, <span class="n">255</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">32</td><td>    glVertex3f<span class="k2">(</span><span class="k3">-</span><span class="n">1</span>, <span class="k3">-</span><span class="n">1</span>, <span class="k3">-</span><span class="n">2</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">33</td><td>    glVertex3f<span class="k2">(</span> <span class="n">1</span>, <span class="k3">-</span><span class="n">1</span>, <span class="k3">-</span><span class="n">2</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">34</td><td>    glVertex3f<span class="k2">(</span> <span class="n">1</span>,  <span class="n">1</span>, <span class="k3">-</span><span class="n">2</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">35</td><td>    glVertex3f<span class="k2">(</span><span class="k3">-</span><span class="n">1</span>,  <span class="n">1</span>, <span class="k3">-</span><span class="n">2</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">36</td><td>  glEnd<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">37</td><td>  </td></tr><tr><td class="number">38</td><td>  <span class="c">/* Flip the backbuffer on screen */</span></td></tr><tr><td class="number">39</td><td>  allegro_gl_flip<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">40</td><td>  </td></tr><tr><td class="number">41</td><td>  <span class="c">/* Wait for the user to press a key */</span></td></tr><tr><td class="number">42</td><td>  <a href="http://www.allegro.cc/manual/readkey" target="_blank"><span class="a">readkey</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">43</td><td>  </td></tr><tr><td class="number">44</td><td>  <span class="c">/* Finished. */</span></td></tr><tr><td class="number">45</td><td>  <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">46</td><td><span class="k2">}</span></td></tr><tr><td class="number">47</td><td><a href="http://www.allegro.cc/manual/END_OF_MAIN" target="_blank"><span class="a">END_OF_MAIN</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr></tbody></table></div></div><p>
(copied from <a href="http://allegrogl.sourceforge.net/quickstart.txt">http://allegrogl.sourceforge.net/quickstart.txt</a>)</p><p>Otherwise, send more code please.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (psycho)</author>
		<pubDate>Tue, 05 Jun 2007 13:12:33 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I did install_allegro_gl().<br />Here&#39;s the whole of main:
</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td>  <a href="http://www.allegro.cc/manual/allegro_init" target="_blank"><span class="a">allegro_init</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">2</td><td>  install_allegro_gl<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">3</td><td>  </td></tr><tr><td class="number">4</td><td>  <a href="http://www.allegro.cc/manual/set_window_title" target="_blank"><span class="a">set_window_title</span></a><span class="k2">(</span><span class="s">"Apero by James Stanley"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">5</td><td>  </td></tr><tr><td class="number">6</td><td>  allegro_gl_set<span class="k2">(</span>AGL_COLOR_DEPTH, <span class="n">32</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">7</td><td>  allegro_gl_set<span class="k2">(</span>AGL_SUGGEST, AGL_COLOR_DEPTH<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">8</td><td>  allegro_gl_set<span class="k2">(</span>AGL_REQUIRE, AGL_DOUBLEBUFFER<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">9</td><td>  </td></tr><tr><td class="number">10</td><td>  <a href="http://www.allegro.cc/manual/set_color_depth" target="_blank"><span class="a">set_color_depth</span></a><span class="k2">(</span><span class="n">32</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">11</td><td>&#160;</td></tr><tr><td class="number">12</td><td>  <span class="k1">if</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/set_gfx_mode" target="_blank"><span class="a">set_gfx_mode</span></a><span class="k2">(</span>GFX_OPENGL_WINDOWED, <span class="n">640</span>, <span class="n">480</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span> <span class="k3">!</span><span class="k3">=</span> <span class="n">0</span><span class="k2">)</span> <span class="k2">{</span></td></tr><tr><td class="number">13</td><td>    <span class="k1">if</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/set_gfx_mode" target="_blank"><span class="a">set_gfx_mode</span></a><span class="k2">(</span>GFX_OPENGL_FULLSCREEN, <span class="n">640</span>, <span class="n">480</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span> <span class="k3">!</span><span class="k3">=</span> <span class="n">0</span><span class="k2">)</span> <span class="k2">{</span></td></tr><tr><td class="number">14</td><td>      <a href="http://www.allegro.cc/manual/allegro_message" target="_blank"><span class="a">allegro_message</span></a><span class="k2">(</span><span class="s">"Video error. Allegro said: %s\n"</span>, <a href="http://www.allegro.cc/manual/allegro_error" target="_blank"><span class="a">allegro_error</span></a><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">15</td><td>      <span class="k1">return</span> <span class="n">1</span><span class="k2">;</span></td></tr><tr><td class="number">16</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">17</td><td>  <span class="k2">}</span></td></tr><tr><td class="number">18</td><td>  </td></tr><tr><td class="number">19</td><td>  opengl_init<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">20</td><td>  </td></tr><tr><td class="number">21</td><td>  apero_init<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">22</td><td>  </td></tr><tr><td class="number">23</td><td>  main_loop<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">24</td><td>  </td></tr><tr><td class="number">25</td><td>  <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span></td></tr></tbody></table></div></div><p>

EDIT: Removed opengl_init() because the crash is before that.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (James Stanley)</author>
		<pubDate>Tue, 05 Jun 2007 15:46:50 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>You should remove set_color_depth(32). But I don&#39;t think that causes a crash. Can you compile a debug version of the library and find out with gdb where exactly it crashes?</p><p>Are you using AllegroGL 0.4.1?<br />What is your GFX card?<br />But, in general, yes, AGL works in Windows.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Milan Mimica)</author>
		<pubDate>Tue, 05 Jun 2007 16:19:41 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Yeah, it works in windows. Look at the example programs for how to set up a basic OpenGL program. If those run correctly then you&#39;re missing a critical call like <i>install_allegro_gl()</i> or something similar.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Sirocco)</author>
		<pubDate>Tue, 05 Jun 2007 17:15:17 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I put set_color_depth() in because the map loader generates allegro BITMAP&#39;s and converts them to OpenGL textures.</p><p>I am using AllegroGL version &#39;0.2.5 CVS 20050308&#39;, it&#39;s the DevPak that I got in Dev-Cpp. I didn&#39;t notice it was so old when I installed it. I&#39;ll see if I can get a newer version.</p><p>Not got a clue about the graphics card, but it&#39;s onboard so it&#39;s probably i810.</p><p>EDIT:<br />Sirocco, it&#39;s not a &#39;proper&#39; problem with the code, as it compiles and runs fine on FreeBSD and Debian. I just can&#39;t make it work in school or on friend&#39;s computers.</p><p>EDIT2:<br />Installed AllegroGL 0.4.1. Same problem. Problem might be that it&#39;s using the old one. I&#39;ll try getting rid of it...</p><p>EDIT3:<br />Finally got it working with -lagl_s. Problem over!
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (James Stanley)</author>
		<pubDate>Tue, 05 Jun 2007 17:17:26 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Yeah, there were such bugs back in 2005. <img src="http://www.allegro.cc/forums/smileys/rolleyes.gif" alt="::)" /> Always use the latest!<br />Calling set_color_depth() does nothing! AGL will call it for you in set_gfx_mode() with the color depth it selected.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Milan Mimica)</author>
		<pubDate>Tue, 05 Jun 2007 19:21:41 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Milan said:</div><div class="quote"><p>

Always use the latest!
</p></div></div><p>
Heh. Sorry. I assumed that, like most repositories, they kept it up to date. Now I realise that with Dev-C++, never assume anything.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (James Stanley)</author>
		<pubDate>Tue, 05 Jun 2007 20:38:26 +0000</pubDate>
	</item>
</rss>
