<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>[AllegroGL] Doesn&#39;t render nothing!</title>
		<link>http://www.allegro.cc/forums/view/586193</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Mon, 03 Jul 2006 20:44:14 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I decided to translate all NeHe&#39;s tutorials to AllegroGL to learn more about OpenGL and 3D programming, but I have a problem with the first one. It compiles without errors but it shows a black window and doesn&#39;t check the keyboard. I can&#39;t find what&#39;s wrong with it.</p><p>The source:
</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="c">/*</span></td></tr><tr><td class="number">2</td><td><span class="c"> *  This code is a translation of the NeHe OpenGL Tutorial.</span></td></tr><tr><td class="number">3</td><td><span class="c"> *  The original one was writen by Jeff Molofee 2000.</span></td></tr><tr><td class="number">4</td><td><span class="c"> *  It was translated by Ñuño Martínez 2006.</span></td></tr><tr><td class="number">5</td><td><span class="c"> *</span></td></tr><tr><td class="number">6</td><td><span class="c"> *  Visit NeHe's site at nehe.gamedev.net</span></td></tr><tr><td class="number">7</td><td><span class="c"> */</span></td></tr><tr><td class="number">8</td><td>&#160;</td></tr><tr><td class="number">9</td><td><span class="p">#include &lt;alleggl.h&gt;  /* Header file for Allegro and AllegroGL. */</span></td></tr><tr><td class="number">10</td><td><span class="p">#include &lt;GL/gl.h&gt;  /* Header file for the OpenGL32 library.  */</span></td></tr><tr><td class="number">11</td><td><span class="p">#include &lt;GL/glu.h&gt;  /* Header file for the GLu32 library.    */</span></td></tr><tr><td class="number">12</td><td>&#160;</td></tr><tr><td class="number">13</td><td>&#160;</td></tr><tr><td class="number">14</td><td>&#160;</td></tr><tr><td class="number">15</td><td><span class="c">/* Variables. */</span></td></tr><tr><td class="number">16</td><td><span class="k1">int</span> FullScreen <span class="k3">=</span> FALSE<span class="k2">;</span> <span class="c">/* Fullscreen flag set to windowed mode by default. */</span></td></tr><tr><td class="number">17</td><td>&#160;</td></tr><tr><td class="number">18</td><td>&#160;</td></tr><tr><td class="number">19</td><td>&#160;</td></tr><tr><td class="number">20</td><td><span class="c">/* Function prototypes. */</span></td></tr><tr><td class="number">21</td><td><span class="k1">void</span> ResizeGLScene <span class="k2">(</span>GLsizei Width, GLsizei Height<span class="k2">)</span><span class="k2">;</span> <span class="c">/* Resize and initialize the OpenGL window. */</span></td></tr><tr><td class="number">22</td><td><span class="k1">int</span> InitGL <span class="k2">(</span><span class="k1">void</span><span class="k2">)</span><span class="k2">;</span> <span class="c">/* All setup for OpenGL goes here. */</span></td></tr><tr><td class="number">23</td><td><span class="k1">int</span> DrawGLScene <span class="k2">(</span><span class="k1">void</span><span class="k2">)</span><span class="k2">;</span> <span class="c">/* Here's where we do all the drawing. */</span></td></tr><tr><td class="number">24</td><td><span class="k1">int</span> CreateGLWindow <span class="k2">(</span><span class="k1">char</span><span class="k3">*</span> Title, <span class="k1">int</span> Width, <span class="k1">int</span> Height, <span class="k1">int</span> bpp,</td></tr><tr><td class="number">25</td><td>        <span class="k1">int</span> FullScreenFlag<span class="k2">)</span><span class="k2">;</span> <span class="c">/* Create the OpenGL window. */</span></td></tr><tr><td class="number">26</td><td>&#160;</td></tr><tr><td class="number">27</td><td>&#160;</td></tr><tr><td class="number">28</td><td>&#160;</td></tr><tr><td class="number">29</td><td><span class="c">/* main:</span></td></tr><tr><td class="number">30</td><td><span class="c"> *   Entry point of our application. */</span></td></tr><tr><td class="number">31</td><td><span class="k1">int</span> main <span class="k2">(</span><span class="k1">void</span><span class="k2">)</span></td></tr><tr><td class="number">32</td><td><span class="k2">{</span></td></tr><tr><td class="number">33</td><td>  <span class="k1">int</span> Done <span class="k3">=</span> FALSE<span class="k2">;</span> <span class="c">/* Bool variable to exit loop. */</span></td></tr><tr><td class="number">34</td><td>&#160;</td></tr><tr><td class="number">35</td><td><span class="c">/* Initialise Allegro and AllegroGL. */</span></td></tr><tr><td class="number">36</td><td>  <a href="http://www.allegro.cc/manual/set_uformat" target="_blank"><span class="a">set_uformat</span></a> <span class="k2">(</span>U_ASCII<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">37</td><td>  <span class="k1">if</span> <span class="k2">(</span><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="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">38</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">"Error initialising Allegro.\n"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">39</td><td>    <span class="k1">return</span> EXIT_FAILURE<span class="k2">;</span></td></tr><tr><td class="number">40</td><td>  <span class="k2">}</span></td></tr><tr><td class="number">41</td><td>  <a href="http://www.allegro.cc/manual/install_timer" target="_blank"><span class="a">install_timer</span></a> <span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">42</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">43</td><td>  <span class="k1">if</span> <span class="k2">(</span>install_allegro_gl <span class="k2">(</span><span class="k2">)</span> <span class="k3">&lt;</span> <span class="n">0</span><span class="k2">)</span> <span class="k2">{</span></td></tr><tr><td class="number">44</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">"Error initialising AllegroGL.\n"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">45</td><td>    <span class="k1">return</span> EXIT_FAILURE<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><span class="c">/* Create our OpenGL window. */</span></td></tr><tr><td class="number">48</td><td>  <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>CreateGLWindow <span class="k2">(</span><span class="s">"NeHe's First Polygon Tutorial"</span>, <span class="n">640</span>, <span class="n">480</span>, <span class="n">16</span>, FullScreen<span class="k2">)</span><span class="k2">)</span></td></tr><tr><td class="number">49</td><td>    <span class="k1">return</span> EXIT_FAILURE<span class="k2">;</span> <span class="c">/* Quit if window was not created. */</span></td></tr><tr><td class="number">50</td><td><span class="c">/* Loop that runs until Done = TRUE. */</span></td></tr><tr><td class="number">51</td><td>  <span class="k1">while</span> <span class="k2">(</span><span class="k3">!</span>Done<span class="k2">)</span> <span class="k2">{</span></td></tr><tr><td class="number">52</td><td>    <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/keyboard_needs_poll" target="_blank"><span class="a">keyboard_needs_poll</span></a> <span class="k2">(</span><span class="k2">)</span><span class="k2">)</span> <a href="http://www.allegro.cc/manual/poll_keyboard" target="_blank"><span class="a">poll_keyboard</span></a> <span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">53</td><td>  <span class="c">/* Was ESC Pressed? */</span></td></tr><tr><td class="number">54</td><td>    <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_ESC<span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">55</td><td>      Done <span class="k3">=</span> TRUE<span class="k2">;</span> <span class="c">/* ESC signalled a quit. */</span></td></tr><tr><td class="number">56</td><td>    <span class="k1">else</span> <span class="k2">{</span></td></tr><tr><td class="number">57</td><td>      DrawGLScene<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span> <span class="c">/* Draw the scene. */</span></td></tr><tr><td class="number">58</td><td>      allegro_gl_flip <span class="k2">(</span><span class="k2">)</span><span class="k2">;</span> <span class="c">/* Swap buffers (double buffering). */</span></td></tr><tr><td class="number">59</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">60</td><td>  <span class="c">/* Is F1 being pressed? */</span></td></tr><tr><td class="number">61</td><td>    <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_F1<span class="k2">]</span><span class="k2">)</span> <span class="k2">{</span></td></tr><tr><td class="number">62</td><td>      <a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_F1<span class="k2">]</span> <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> <span class="c">/* If so make key FALSE. */</span></td></tr><tr><td class="number">63</td><td>    <span class="c">/* Kill our current window. */</span></td></tr><tr><td class="number">64</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_TEXT, <span class="n">0</span>, <span class="n">0</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">65</td><td>    <span class="c">/* Toggle fullscreen / windowed mode. */</span></td></tr><tr><td class="number">66</td><td>      FullScreen <span class="k3">=</span> <span class="k3">!</span>FullScreen<span class="k2">;</span></td></tr><tr><td class="number">67</td><td>    <span class="c">/* Recreate Our OpenGL window. */</span></td></tr><tr><td class="number">68</td><td>      <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>CreateGLWindow <span class="k2">(</span><span class="s">"NeHe's First Polygon Tutorial"</span>, <span class="n">640</span>, <span class="n">480</span>, <span class="n">16</span>,</td></tr><tr><td class="number">69</td><td>         FullScreen<span class="k2">)</span><span class="k2">)</span></td></tr><tr><td class="number">70</td><td>  <span class="k1">return</span> EXIT_FAILURE<span class="k2">;</span> <span class="c">/* Quit if window was not created. */</span></td></tr><tr><td class="number">71</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">72</td><td>  <span class="k2">}</span></td></tr><tr><td class="number">73</td><td>  <span class="k1">return</span> EXIT_SUCCESS<span class="k2">;</span></td></tr><tr><td class="number">74</td><td><span class="k2">}</span></td></tr><tr><td class="number">75</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="c">/* Needed by Allegro. */</span></td></tr><tr><td class="number">76</td><td>&#160;</td></tr><tr><td class="number">77</td><td>&#160;</td></tr><tr><td class="number">78</td><td>&#160;</td></tr><tr><td class="number">79</td><td><span class="c">/* ResizeGLScene:</span></td></tr><tr><td class="number">80</td><td><span class="c"> *   Resize and initialize the OpenGL window. */</span></td></tr><tr><td class="number">81</td><td><span class="k1">void</span> ResizeGLScene <span class="k2">(</span>GLsizei Width, GLsizei Height<span class="k2">)</span></td></tr><tr><td class="number">82</td><td><span class="k2">{</span></td></tr><tr><td class="number">83</td><td><span class="c">/* Prevent a "divide by zero" error. */</span></td></tr><tr><td class="number">84</td><td>  <span class="k1">if</span> <span class="k2">(</span>Height <span class="k3">=</span><span class="k3">=</span> <span class="n">0</span><span class="k2">)</span> Height <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span></td></tr><tr><td class="number">85</td><td><span class="c">/* Reset the current viewport. */</span></td></tr><tr><td class="number">86</td><td>  glViewport <span class="k2">(</span><span class="n">0</span>, <span class="n">0</span>, Width, Height<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">87</td><td><span class="c">/* Select the projection matrix. */</span></td></tr><tr><td class="number">88</td><td>  glMatrixMode <span class="k2">(</span>GL_PROJECTION<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">89</td><td><span class="c">/* Calculate the aspect ratio of the window.*/</span></td></tr><tr><td class="number">90</td><td>  gluPerspective <span class="k2">(</span><span class="n">45</span>.<span class="n">0f</span>, <span class="k2">(</span>GLfloat<span class="k2">)</span>Width <span class="k3">/</span> <span class="k2">(</span>GLfloat<span class="k2">)</span>Height, <span class="n">0</span>.<span class="n">1f</span>, <span class="n">100</span>.<span class="n">0f</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">91</td><td><span class="c">/* Select the modelview matrix. */</span></td></tr><tr><td class="number">92</td><td>  glMatrixMode <span class="k2">(</span>GL_MODELVIEW<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">93</td><td><span class="c">/* Reset the modelview matrix.*/</span></td></tr><tr><td class="number">94</td><td>  glLoadIdentity <span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">95</td><td><span class="k2">}</span></td></tr><tr><td class="number">96</td><td>&#160;</td></tr><tr><td class="number">97</td><td>&#160;</td></tr><tr><td class="number">98</td><td>&#160;</td></tr><tr><td class="number">99</td><td><span class="c">/* InitGL:</span></td></tr><tr><td class="number">100</td><td><span class="c"> *   All setup for OpenGL goes here. */</span></td></tr><tr><td class="number">101</td><td><span class="k1">int</span> InitGL <span class="k2">(</span><span class="k1">void</span><span class="k2">)</span></td></tr><tr><td class="number">102</td><td><span class="k2">{</span></td></tr><tr><td class="number">103</td><td><span class="c">/* Enables smooth shading. */</span></td></tr><tr><td class="number">104</td><td>  glShadeModel <span class="k2">(</span>GL_SMOOTH<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">105</td><td><span class="c">/* Black background. */</span></td></tr><tr><td class="number">106</td><td>  glClearColor <span class="k2">(</span><span class="n">0</span>.<span class="n">0f</span>, <span class="n">0</span>.<span class="n">0f</span>, <span class="n">0</span>.<span class="n">0f</span>, <span class="n">0</span>.<span class="n">0f</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">107</td><td><span class="c">/* Depth buffer setup. */</span></td></tr><tr><td class="number">108</td><td>  glClearDepth <span class="k2">(</span><span class="n">1</span>.<span class="n">0f</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">109</td><td>  glEnable <span class="k2">(</span>GL_DEPTH_TEST<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">110</td><td>  glDepthFunc <span class="k2">(</span>GL_LEQUAL<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">111</td><td><span class="c">/* Really nice perspective calculations. */</span></td></tr><tr><td class="number">112</td><td>  glHint <span class="k2">(</span>GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">113</td><td><span class="c">/* Initialization went 0k. */</span></td></tr><tr><td class="number">114</td><td>  <span class="k1">return</span> TRUE<span class="k2">;</span></td></tr><tr><td class="number">115</td><td><span class="k2">}</span></td></tr><tr><td class="number">116</td><td>&#160;</td></tr><tr><td class="number">117</td><td>&#160;</td></tr><tr><td class="number">118</td><td>&#160;</td></tr><tr><td class="number">119</td><td><span class="c">/* DrawGLScene:</span></td></tr><tr><td class="number">120</td><td><span class="c"> *  Here's where we do all the drawing. */</span></td></tr><tr><td class="number">121</td><td><span class="k1">int</span> DrawGLScene <span class="k2">(</span><span class="k1">void</span><span class="k2">)</span></td></tr><tr><td class="number">122</td><td><span class="k2">{</span></td></tr><tr><td class="number">123</td><td><span class="c">/* Clear the screen and the depth buffer. */</span></td></tr><tr><td class="number">124</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">125</td><td><span class="c">/* Reset the current modelview matrix. */</span></td></tr><tr><td class="number">126</td><td>  glLoadIdentity <span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">127</td><td><span class="c">/* Move left 1.5 units and into the screen 6.0. */</span></td></tr><tr><td class="number">128</td><td>  glTranslatef <span class="k2">(</span><span class="k3">-</span><span class="n">1</span>.<span class="n">5f</span>, <span class="n">0</span>.<span class="n">0f</span>, <span class="k3">-</span><span class="n">6</span>.<span class="n">0f</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">129</td><td>  glBegin <span class="k2">(</span>GL_TRIANGLES<span class="k2">)</span><span class="k2">;</span> <span class="c">/* Drawing using triangles. */</span></td></tr><tr><td class="number">130</td><td>    glVertex3f <span class="k2">(</span> <span class="n">0</span>.<span class="n">0f</span>,  <span class="n">1</span>.<span class="n">0f</span>, <span class="n">0</span>.<span class="n">0f</span><span class="k2">)</span><span class="k2">;</span> <span class="c">/* Top. */</span></td></tr><tr><td class="number">131</td><td>    glVertex3f <span class="k2">(</span><span class="k3">-</span><span class="n">1</span>.<span class="n">0f</span>, <span class="k3">-</span><span class="n">1</span>.<span class="n">0f</span>, <span class="n">0</span>.<span class="n">0f</span><span class="k2">)</span><span class="k2">;</span> <span class="c">/* Bottom Left. */</span></td></tr><tr><td class="number">132</td><td>    glVertex3f <span class="k2">(</span> <span class="n">1</span>.<span class="n">0f</span>, <span class="k3">-</span><span class="n">1</span>.<span class="n">0f</span>, <span class="n">0</span>.<span class="n">0f</span><span class="k2">)</span><span class="k2">;</span> <span class="c">/* Bottom Right. */</span></td></tr><tr><td class="number">133</td><td>  glEnd <span class="k2">(</span><span class="k2">)</span><span class="k2">;</span> <span class="c">/* Finished drawing the triangle. */</span></td></tr><tr><td class="number">134</td><td><span class="c">/* Move right 3 units. */</span></td></tr><tr><td class="number">135</td><td>  glTranslatef <span class="k2">(</span><span class="n">3</span>.<span class="n">0f</span>, <span class="n">0</span>.<span class="n">0f</span>, <span class="n">0</span>.<span class="n">0f</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">136</td><td>  glBegin <span class="k2">(</span>GL_QUADS<span class="k2">)</span><span class="k2">;</span> <span class="c">/* Draw a quad. */</span></td></tr><tr><td class="number">137</td><td>    glVertex3f <span class="k2">(</span><span class="k3">-</span><span class="n">1</span>.<span class="n">0f</span>,  <span class="n">1</span>.<span class="n">0f</span>, <span class="n">0</span>.<span class="n">0f</span><span class="k2">)</span><span class="k2">;</span> <span class="c">/* Top Left. */</span></td></tr><tr><td class="number">138</td><td>    glVertex3f <span class="k2">(</span> <span class="n">1</span>.<span class="n">0f</span>,  <span class="n">1</span>.<span class="n">0f</span>, <span class="n">0</span>.<span class="n">0f</span><span class="k2">)</span><span class="k2">;</span> <span class="c">/* Top Right. */</span></td></tr><tr><td class="number">139</td><td>    glVertex3f <span class="k2">(</span> <span class="n">1</span>.<span class="n">0f</span>, <span class="k3">-</span><span class="n">1</span>.<span class="n">0f</span>, <span class="n">0</span>.<span class="n">0f</span><span class="k2">)</span><span class="k2">;</span> <span class="c">/* Bottom Right. */</span></td></tr><tr><td class="number">140</td><td>    glVertex3f <span class="k2">(</span><span class="k3">-</span><span class="n">1</span>.<span class="n">0f</span>, <span class="k3">-</span><span class="n">1</span>.<span class="n">0f</span>, <span class="n">0</span>.<span class="n">0f</span><span class="k2">)</span><span class="k2">;</span> <span class="c">/* Bottom Left. */</span></td></tr><tr><td class="number">141</td><td>  glEnd <span class="k2">(</span><span class="k2">)</span><span class="k2">;</span> <span class="c">/* Done drawing the quad. */</span></td></tr><tr><td class="number">142</td><td>  glFlush <span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">143</td><td><span class="c">/* Everything went 0k. */</span></td></tr><tr><td class="number">144</td><td>  <span class="k1">return</span> TRUE<span class="k2">;</span></td></tr><tr><td class="number">145</td><td><span class="k2">}</span></td></tr><tr><td class="number">146</td><td>&#160;</td></tr><tr><td class="number">147</td><td>&#160;</td></tr><tr><td class="number">148</td><td>&#160;</td></tr><tr><td class="number">149</td><td><span class="c">/* CreateGLWindow;</span></td></tr><tr><td class="number">150</td><td><span class="c"> *   Create the OpenGL window. */</span></td></tr><tr><td class="number">151</td><td><span class="k1">int</span> CreateGLWindow <span class="k2">(</span><span class="k1">char</span><span class="k3">*</span> Title, <span class="k1">int</span> Width, <span class="k1">int</span> Height, <span class="k1">int</span> bpp,</td></tr><tr><td class="number">152</td><td>        <span class="k1">int</span> FullScreenFlag<span class="k2">)</span></td></tr><tr><td class="number">153</td><td><span class="k2">{</span></td></tr><tr><td class="number">154</td><td><span class="c">/* Set the global fullscreen flag. */</span></td></tr><tr><td class="number">155</td><td>  FullScreen <span class="k3">=</span> FullScreenFlag<span class="k2">;</span></td></tr><tr><td class="number">156</td><td><span class="c">/* Set window configuration. */</span></td></tr><tr><td class="number">157</td><td>  allegro_gl_set <span class="k2">(</span>AGL_COLOR_DEPTH,  bpp<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">158</td><td>  allegro_gl_set <span class="k2">(</span>AGL_WINDOWED,      <span class="k3">!</span>FullScreen<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">159</td><td>  allegro_gl_set <span class="k2">(</span>AGL_RENDERMETHOD, TRUE<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">160</td><td>  allegro_gl_set <span class="k2">(</span>AGL_DOUBLEBUFFER, TRUE<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">161</td><td>  allegro_gl_set <span class="k2">(</span>AGL_Z_DEPTH,      <span class="n">16</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">162</td><td>  allegro_gl_set <span class="k2">(</span>AGL_SUGGEST,</td></tr><tr><td class="number">163</td><td>      AGL_COLOR_DEPTH <span class="k3">|</span> AGL_WINDOWED <span class="k3">|</span> AGL_RENDERMETHOD <span class="k3">|</span></td></tr><tr><td class="number">164</td><td>      AGL_DOUBLEBUFFER <span class="k3">|</span> AGL_Z_DEPTH<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">165</td><td><span class="c">/* Open window. */</span></td></tr><tr><td class="number">166</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, Width, Height, <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">167</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">"Window creation error."</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">168</td><td>    <span class="k1">return</span> FALSE<span class="k2">;</span></td></tr><tr><td class="number">169</td><td>  <span class="k2">}</span></td></tr><tr><td class="number">170</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>Title<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">171</td><td><span class="c">/* Initialize our newly created OpenGL window. */</span></td></tr><tr><td class="number">172</td><td>  <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>InitGL <span class="k2">(</span><span class="k2">)</span><span class="k2">)</span> <span class="k2">{</span></td></tr><tr><td class="number">173</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_TEXT, <span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span> <span class="c">/* Reset the display. */</span></td></tr><tr><td class="number">174</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">"Initialization Failed."</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">175</td><td>    <span class="k1">return</span> FALSE<span class="k2">;</span></td></tr><tr><td class="number">176</td><td>  <span class="k2">}</span></td></tr><tr><td class="number">177</td><td><span class="c">/* Everything went 0k. */</span></td></tr><tr><td class="number">178</td><td>  <span class="k1">return</span> TRUE<span class="k2">;</span></td></tr><tr><td class="number">179</td><td><span class="k2">}</span></td></tr></tbody></table></div></div><p>

The command used to compile:
</p><div class="source-code snippet"><div class="inner"><pre>gcc <span class="k3">-</span>s <span class="k3">-</span>Wall <span class="k3">-</span>DDEBUGMODE <span class="k3">-</span>Isrc <span class="k3">-</span>o lesson02.bin lesson02.c <span class="k3">-</span>lagl `allegro-config <span class="k3">-</span><span class="k3">-</span>libs` <span class="k3">-</span>lGL <span class="k3">-</span>lGLU
</pre></div></div><p>

I&#39;m using Allegro 4.2 and one of the AllegroGL VSN versions that Miran posts here.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Niunio)</author>
		<pubDate>Fri, 30 Jun 2006 16:28:36 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>EDIT: Oops didn&#39;t see the flip command.</p><p>What OS?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (razor)</author>
		<pubDate>Fri, 30 Jun 2006 16:40:04 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I&#39;m using the latest stable and updated Debian Sarge Linux.</p><p>Now, I&#39;ve re-compiled an AllegroGL project I did before to update AllegroGL and it renders the objects but doesn&#39;t check keyboard nor mouse. Maybe it&#39;s an AllegroGL&#39;s bug?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Niunio)</author>
		<pubDate>Fri, 30 Jun 2006 16:43:40 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>You never setup the projection matrix.</p><p>EDIT: Here&#39;s a quick fix
</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="k1">int</span> InitGL <span class="k2">(</span><span class="k1">void</span><span class="k2">)</span></td></tr><tr><td class="number">2</td><td><span class="k2">{</span></td></tr><tr><td class="number">3</td><td><span class="c">/* Enables smooth shading. */</span></td></tr><tr><td class="number">4</td><td>  ResizeGLScene<span class="k2">(</span><a href="http://www.allegro.cc/manual/SCREEN_W" target="_blank"><span class="a">SCREEN_W</span></a>, <a href="http://www.allegro.cc/manual/SCREEN_H" target="_blank"><span class="a">SCREEN_H</span></a><span class="k2">)</span><span class="k2">;</span> <span class="c">//added</span></td></tr><tr><td class="number">5</td><td>  glShadeModel <span class="k2">(</span>GL_SMOOTH<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">6</td><td><span class="c">/* Black background. */</span></td></tr><tr><td class="number">7</td><td>  glClearColor <span class="k2">(</span><span class="n">0</span>.<span class="n">0f</span>, <span class="n">0</span>.<span class="n">0f</span>, <span class="n">0</span>.<span class="n">0f</span>, <span class="n">0</span>.<span class="n">0f</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">8</td><td><span class="c">/* Depth buffer setup. */</span></td></tr><tr><td class="number">9</td><td>  glClearDepth <span class="k2">(</span><span class="n">1</span>.<span class="n">0f</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">10</td><td>  glEnable <span class="k2">(</span>GL_DEPTH_TEST<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">11</td><td>  glDepthFunc <span class="k2">(</span>GL_LEQUAL<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">12</td><td><span class="c">/* Really nice perspective calculations. */</span></td></tr><tr><td class="number">13</td><td>  glHint <span class="k2">(</span>GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">14</td><td><span class="c">/* Initialization went 0k. */</span></td></tr><tr><td class="number">15</td><td>  <span class="k1">return</span> TRUE<span class="k2">;</span></td></tr><tr><td class="number">16</td><td><span class="k2">}</span></td></tr></tbody></table></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (razor)</author>
		<pubDate>Fri, 30 Jun 2006 16:48:17 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Good, now it renders, but keyboard doesn&#39;t work! <img src="http://www.allegro.cc/forums/smileys/huh.gif" alt="???" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Niunio)</author>
		<pubDate>Fri, 30 Jun 2006 16:52:09 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Thats strange... the keyboard works when I compile that exact code, but I&#39;m running WinXP Sp2 W/ MingW. Sounds like something funky. Does input work in other allegro programs?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (razor)</author>
		<pubDate>Fri, 30 Jun 2006 16:53:15 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Yes, it does. Also in OpenGL programs. Only AllegroGL has problems, but if I use the latest stable version seems to work right...
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Niunio)</author>
		<pubDate>Fri, 30 Jun 2006 16:59:23 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Hmm, this might be a question for the AllegroGL Developers then... cause maybe something is up with the CVS version and your hardware or something.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (razor)</author>
		<pubDate>Fri, 30 Jun 2006 18:25:12 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>edit: Nevermind, you have a poll_keyboard()...
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (BrknPhoenix)</author>
		<pubDate>Fri, 30 Jun 2006 23:21:52 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>It works here, on linux too. Can you check install_keyboard() return value? Which version of X11 do you have?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Milan Mimica)</author>
		<pubDate>Sat, 01 Jul 2006 00:15:11 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Actually, you should never need to call poll_keyboard...
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Thomas Fjellstrom)</author>
		<pubDate>Sat, 01 Jul 2006 04:43:10 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Milan Mimica said:</div><div class="quote"><p>
Can you check install_keyboard() return value?
</p></div></div><p>
It returns 0.</p><div class="quote_container"><div class="title">Milan Mimica said:</div><div class="quote"><p>
Which version of X11 do you have?
</p></div></div><p>
I am not sure. Synaptic says that package &quot;xfree86-common&quot; is version &quot;4.3.0.dfsg.1-14sarge1&quot; and same for packages &quot;xbase-clients&quot;, &quot;x-dev&quot; and &quot;xlibs-dev&quot;.</p><div class="quote_container"><div class="title">Thomas Fjellstom said:</div><div class="quote"><p>
Actually, you should never need to call poll_keyboard...
</p></div></div><p>
I know. I put it trying to fix the problem.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Niunio)</author>
		<pubDate>Mon, 03 Jul 2006 00:21:40 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Seems the version is 4.3.0 - a bit old but it definitely should work.</p><p>You should build a debug version of AGL and check the allegro.log that your program will produce.</p><p>Oh, and try to switch in and out od the program (atl+tab). It usually helps <img src="http://www.allegro.cc/forums/smileys/grin.gif" alt=";D" /></p><p>And which version of AGL exactly are you using? Where did you get it?</p><p>edit: and do AGL examples work?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Milan Mimica)</author>
		<pubDate>Mon, 03 Jul 2006 12:26:36 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I can&#39;t rebuild the library... Can&#39;t find the makefile! And I don&#39;t remember how I did it! I think I&#39;ll try to get the latest SVN and try to rebuild it.</p><p>[edit]Running &quot;autoconf&quot;:<br />configure.in:140: error: possibly undefined macro: AM_PATH_ALLEGRO
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Niunio)</author>
		<pubDate>Mon, 03 Jul 2006 15:35:41 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>run<br />aclocal -I <i>usr/local/share/aclocal</i><br />if your allegro.m4 is in <i>usr/local/share/aclocal</i>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Milan Mimica)</author>
		<pubDate>Mon, 03 Jul 2006 16:08:17 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>[edit]Forget it, I&#39;ve find it in &quot;automake&quot; package.</p><p>AAAAAAAAAAARG...!</p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
configure: creating ./config.status<br />config.status: creating makefile<br />config.status: creating include/alleggl_config.h<br />config.status: error: cannot find input file: include/alleggl_config.hin
</p></div></div><p>

Somebody hates me... sure!&gt;:(
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Niunio)</author>
		<pubDate>Mon, 03 Jul 2006 20:36:49 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>autoheader</p><p>edit: yeah, that should be fixed in SVN
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Milan Mimica)</author>
		<pubDate>Mon, 03 Jul 2006 20:36:52 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I&#39;ve downloaded the AllegroGL 0.4.0 RC4 and I&#39;ve find that the examples runs except 3 of them: exmipmaps, exgui and excamera. They show the first frame(s) and fails whith next message:</p><p>xlib: unexpected async reply (sequence 0x11c)!</p><p>Then I must kill the process.</p><p>I&#39;ve attached the log files for each example.</p><p>[edit]I confused myself... <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" /> sorry
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Niunio)</author>
		<pubDate>Mon, 03 Jul 2006 20:38:07 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p><img src="http://www.allegro.cc/forums/smileys/grin.gif" alt=";D" /></p><p>you read mine
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Milan Mimica)</author>
		<pubDate>Mon, 03 Jul 2006 20:39:05 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Ok. AllegroGL 0.4.0 RC4 seems to work. Next time I&#39;ll check if a newer version is avaiable before to ask.</p><p><img src="http://www.allegro.cc/forums/smileys/embarassed.gif" alt=":-[" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Niunio)</author>
		<pubDate>Mon, 03 Jul 2006 20:44:14 +0000</pubDate>
	</item>
</rss>
