<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>AllegroGL and translucent textures</title>
		<link>http://www.allegro.cc/forums/view/587395</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Wed, 06 Sep 2006 07:31:24 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I can&#39;t get the alpha-channel to work on textures.  I&#39;ve gone so far as to dump the bitmap that I&#39;m using and, yes, the information is there.  I&#39;m suspecting that there&#39;s a flag somewhere that I&#39;m forgetting to set, but as this is the first time I&#39;ve tried doing this, I&#39;m not sure what it would be.</p><p>Anyway, here&#39;s the code I&#39;m using to create the texture (with embedded logging):
</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td>GLuint LoadTexture<span class="k2">(</span><span class="k1">char</span> <span class="k3">*</span> bmp_name, <span class="k1">int</span> translucent <span class="k3">=</span> <span class="n">0</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>    GLuint texture_handle<span class="k2">;</span></td></tr><tr><td class="number">4</td><td>&#160;</td></tr><tr><td class="number">5</td><td>    <span class="c">// Load the texture</span></td></tr><tr><td class="number">6</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">7</td><td>    <a href="http://www.allegro.cc/manual/BITMAP" target="_blank"><span class="a">BITMAP</span></a><span class="k3">*</span> bmp <span class="k3">=</span> <a href="http://www.allegro.cc/manual/load_bitmap" target="_blank"><span class="a">load_bitmap</span></a><span class="k2">(</span>bmp_name, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">8</td><td>    cerr <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="s">"loading "</span> <span class="k3">&lt;</span><span class="k3">&lt;</span> bmp_name <span class="k3">&lt;</span><span class="k3">&lt;</span> endl<span class="k2">;</span></td></tr><tr><td class="number">9</td><td>    <span class="k1">if</span> <span class="k2">(</span>translucent<span class="k2">)</span> <span class="k2">{</span></td></tr><tr><td class="number">10</td><td>      cerr <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="s">"setting alpha"</span> <span class="k3">&lt;</span><span class="k3">&lt;</span> endl<span class="k2">;</span></td></tr><tr><td class="number">11</td><td>      <a href="http://www.allegro.cc/manual/set_write_alpha_blender" target="_blank"><span class="a">set_write_alpha_blender</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">12</td><td>      <a href="http://www.allegro.cc/manual/drawing_mode" target="_blank"><span class="a">drawing_mode</span></a><span class="k2">(</span>DRAW_MODE_TRANS, NULL, <span class="n">0</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">for</span> <span class="k2">(</span><span class="k1">int</span> y<span class="k3">=</span><span class="n">0</span><span class="k2">;</span> y<span class="k3">&lt;</span>bmp-&gt;h<span class="k2">;</span> y<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span></td></tr><tr><td class="number">14</td><td>        <span class="k1">for</span> <span class="k2">(</span><span class="k1">int</span> x<span class="k3">=</span><span class="n">0</span><span class="k2">;</span> x<span class="k3">&lt;</span>bmp-&gt;w<span class="k2">;</span> x<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span></td></tr><tr><td class="number">15</td><td>          <a href="http://www.allegro.cc/manual/putpixel" target="_blank"><span class="a">putpixel</span></a><span class="k2">(</span>bmp, x, y, <span class="n">0x77</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">16</td><td>      <a href="http://www.allegro.cc/manual/drawing_mode" target="_blank"><span class="a">drawing_mode</span></a><span class="k2">(</span>DRAW_MODE_SOLID, NULL, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><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>    <span class="k1">for</span> <span class="k2">(</span><span class="k1">int</span> y<span class="k3">=</span><span class="n">0</span><span class="k2">;</span> y<span class="k3">&lt;</span>bmp-&gt;h<span class="k2">;</span> y<span class="k3">+</span><span class="k3">=</span><span class="n">0x55</span><span class="k2">)</span></td></tr><tr><td class="number">19</td><td>      <span class="k1">for</span> <span class="k2">(</span><span class="k1">int</span> x<span class="k3">=</span><span class="n">0</span><span class="k2">;</span> x<span class="k3">&lt;</span>bmp-&gt;w<span class="k2">;</span> x<span class="k3">+</span><span class="k3">=</span><span class="n">0x55</span><span class="k2">)</span></td></tr><tr><td class="number">20</td><td>        cerr <span class="k3">&lt;</span><span class="k3">&lt;</span> hex <span class="k3">&lt;</span><span class="k3">&lt;</span> x <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="s">","</span> <span class="k3">&lt;</span><span class="k3">&lt;</span> y <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="s">": "</span> <span class="k3">&lt;</span><span class="k3">&lt;</span> <a href="http://www.allegro.cc/manual/getpixel" target="_blank"><span class="a">getpixel</span></a><span class="k2">(</span>bmp,x,y<span class="k2">)</span> <span class="k3">&lt;</span><span class="k3">&lt;</span> endl<span class="k2">;</span></td></tr><tr><td class="number">21</td><td>    texture_handle <span class="k3">=</span> allegro_gl_make_texture_ex<span class="k2">(</span></td></tr><tr><td class="number">22</td><td>        AGL_TEXTURE_HAS_ALPHA, bmp, <span class="k3">-</span><span class="n">1</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">23</td><td>    glTexEnvi<span class="k2">(</span>GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">24</td><td>    glTexEnvi<span class="k2">(</span>GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">25</td><td>    <a href="http://www.allegro.cc/manual/destroy_bitmap" target="_blank"><span class="a">destroy_bitmap</span></a><span class="k2">(</span>bmp<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">26</td><td>    <span class="k1">return</span> texture_handle<span class="k2">;</span></td></tr><tr><td class="number">27</td><td><span class="k2">}</span></td></tr></tbody></table></div></div><p>

And here&#39;s what I get when I run it:
</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td>loading clouds2.tga</td></tr><tr><td class="number">2</td><td><span class="n">0</span>,<span class="n">0</span><span class="k2">:</span> c88365</td></tr><tr><td class="number">3</td><td><span class="n">55</span>,<span class="n">0</span><span class="k2">:</span> db9c81</td></tr><tr><td class="number">4</td><td><span class="n">0</span>,<span class="n">55</span><span class="k2">:</span> aa5536</td></tr><tr><td class="number">5</td><td><span class="n">55</span>,<span class="n">55</span><span class="k2">:</span> d59377</td></tr><tr><td class="number">6</td><td>loading drock03048477.tga</td></tr><tr><td class="number">7</td><td><span class="n">0</span>,<span class="n">0</span><span class="k2">:</span> <span class="n">90b6b6</span></td></tr><tr><td class="number">8</td><td><span class="n">55</span>,<span class="n">0</span><span class="k2">:</span> <span class="n">94baba</span></td></tr><tr><td class="number">9</td><td><span class="n">0</span>,<span class="n">55</span><span class="k2">:</span> <span class="n">90b6b6</span></td></tr><tr><td class="number">10</td><td><span class="n">55</span>,<span class="n">55</span><span class="k2">:</span> <span class="n">789e9e</span></td></tr><tr><td class="number">11</td><td>loading water038.tga</td></tr><tr><td class="number">12</td><td>setting alpha</td></tr><tr><td class="number">13</td><td><span class="n">0</span>,<span class="n">0</span><span class="k2">:</span> <span class="n">77ff795f</span></td></tr><tr><td class="number">14</td><td><span class="n">55</span>,<span class="n">0</span><span class="k2">:</span> <span class="n">77e95d4c</span></td></tr><tr><td class="number">15</td><td><span class="n">0</span>,<span class="n">55</span><span class="k2">:</span> <span class="n">77f6684f</span></td></tr><tr><td class="number">16</td><td><span class="n">55</span>,<span class="n">55</span><span class="k2">:</span> <span class="n">77ff7a5e</span></td></tr></tbody></table></div></div><p>

I&#39;ve got a half-meg screen dump if you really want to see it, but trust me when I say that you can&#39;t see the river bottom through the water.  But that does bring up a second small issue.  I&#39;ve noticed that save_bitmap is inverting my screenshots.  I presume that this is due to Allegro putting (0,0) in the upper left and OpenGL putting it in the lower left.  Is there any way to fix this, or should I resign myself to manually flipping things?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (samwyse)</author>
		<pubDate>Sun, 03 Sep 2006 01:45:47 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Just to be sure - you do call glBlendFunc and glEnable(GL_BLEND) prior to drawing anything with those textures, right?</p><p>You can also try using GL_RGBA instead of the -1 with make_texture_ex to force a pixel format that contains alpha.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Jakub Wasilewski)</author>
		<pubDate>Sun, 03 Sep 2006 04:20:39 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Heres my init code
</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">if</span><span class="k2">(</span><span class="n">0</span> <span class="k3">!</span><span class="k3">=</span> install_allegro_gl<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span></td></tr><tr><td class="number">2</td><td>        <span class="k1">throw</span> <span class="s">"Unable to init Allegro GL."</span><span class="k2">;</span></td></tr><tr><td class="number">3</td><td>    </td></tr><tr><td class="number">4</td><td>    allegro_gl_clear_settings<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">5</td><td>    allegro_gl_set<span class="k2">(</span>AGL_DOUBLEBUFFER, <span class="n">1</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">6</td><td>  allegro_gl_set<span class="k2">(</span>AGL_RENDERMETHOD, <span class="n">1</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_COLOR_DEPTH, settings.colorDepth<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_RENDERMETHOD, <span class="n">1</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">9</td><td>  allegro_gl_set<span class="k2">(</span>AGL_Z_DEPTH, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">10</td><td>    allegro_gl_set<span class="k2">(</span>AGL_SAMPLE_BUFFERS, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">11</td><td>    allegro_gl_set<span class="k2">(</span>AGL_SAMPLES, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">12</td><td>    </td></tr><tr><td class="number">13</td><td>    allegro_gl_set<span class="k2">(</span>AGL_DONTCARE, AGL_Z_DEPTH <span class="k3">|</span> AGL_SAMPLE_BUFFERS <span class="k3">|</span> AGL_SAMPLES<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">14</td><td>    allegro_gl_set<span class="k2">(</span>AGL_SUGGEST, AGL_COLOR_DEPTH <span class="k3">|</span> AGL_RENDERMETHOD<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_REQUIRE, AGL_DOUBLEBUFFER<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">16</td><td>    </td></tr><tr><td class="number">17</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>settings.colorDepth<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">18</td><td>    </td></tr><tr><td class="number">19</td><td>    <span class="k1">int</span> mode <span class="k3">=</span> GFX_OPENGL<span class="k2">;</span></td></tr><tr><td class="number">20</td><td>    </td></tr><tr><td class="number">21</td><td>    <span class="k1">if</span><span class="k2">(</span><span class="k2">(</span>curProfile <span class="k3">&amp;</span><span class="k3">&amp;</span> curProfile-&gt;fullscreen<span class="k2">)</span> <span class="k3">|</span><span class="k3">|</span> <span class="k2">(</span><span class="k3">!</span>curProfile <span class="k3">&amp;</span><span class="k3">&amp;</span> settings.fullscreen<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>    allegro_gl_set<span class="k2">(</span>AGL_FULLSCREEN, <span class="n">1</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">24</td><td>    allegro_gl_set<span class="k2">(</span>AGL_WINDOWED, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">25</td><td>    allegro_gl_set<span class="k2">(</span>AGL_SUGGEST, AGL_FULLSCREEN <span class="k3">|</span> AGL_WINDOWED<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">26</td><td>    mode<span class="k3">=</span>GFX_OPENGL_FULLSCREEN<span class="k2">;</span></td></tr><tr><td class="number">27</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">28</td><td>    <span class="k1">else</span> <span class="k2">{</span></td></tr><tr><td class="number">29</td><td>        </td></tr><tr><td class="number">30</td><td>    allegro_gl_set<span class="k2">(</span>AGL_FULLSCREEN, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">31</td><td>    allegro_gl_set<span class="k2">(</span>AGL_WINDOWED, <span class="n">1</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">32</td><td>    allegro_gl_set<span class="k2">(</span>AGL_SUGGEST, AGL_FULLSCREEN <span class="k3">|</span> AGL_WINDOWED<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">33</td><td>    mode<span class="k3">=</span>GFX_OPENGL_WINDOWED<span class="k2">;</span></td></tr><tr><td class="number">34</td><td>  <span class="k2">}</span></td></tr><tr><td class="number">35</td><td>    </td></tr><tr><td class="number">36</td><td>    <span class="k1">if</span><span class="k2">(</span><span class="n">0</span> <span class="k3">!</span><span class="k3">=</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>mode, settings.screenWidth, settings.screenHeight, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">)</span></td></tr><tr><td class="number">37</td><td>        <span class="k1">throw</span> <span class="s">"Unable to set OpenGL graphics mode."</span><span class="k2">;</span></td></tr><tr><td class="number">38</td><td>    </td></tr><tr><td class="number">39</td><td>    <span class="k1">switch</span><span class="k2">(</span>allegro_gl_get<span class="k2">(</span>AGL_COLOR_DEPTH<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="k1">case</span> <span class="n">16</span><span class="k2">:</span> <a href="http://www.allegro.cc/manual/set_color_conversion" target="_blank"><span class="a">set_color_conversion</span></a><span class="k2">(</span>COLORCONV_32_TO_16<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">42</td><td>            <span class="k1">break</span><span class="k2">;</span></td></tr><tr><td class="number">43</td><td>        <span class="k1">case</span> <span class="n">24</span><span class="k2">:</span> <a href="http://www.allegro.cc/manual/set_color_conversion" target="_blank"><span class="a">set_color_conversion</span></a><span class="k2">(</span>COLORCONV_32_TO_24<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">44</td><td>            <span class="k1">break</span><span class="k2">;</span></td></tr><tr><td class="number">45</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">46</td><td>    </td></tr><tr><td class="number">47</td><td>    initAllegro<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">48</td><td>    </td></tr><tr><td class="number">49</td><td>    allegro_gl_begin<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">50</td><td>        glMatrixMode<span class="k2">(</span>GL_PROJECTION<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">51</td><td>        glLoadIdentity<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">52</td><td>        glOrtho<span class="k2">(</span><span class="n">0</span>.<span class="n">0</span>, <span class="n">640</span>.<span class="n">0</span>, <span class="n">480</span>.<span class="n">0</span>, <span class="n">0</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="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">53</td><td>        glMatrixMode<span class="k2">(</span>GL_MODELVIEW<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">54</td><td>        glLoadIdentity<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">55</td><td>        glClearColor<span class="k2">(</span><span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span>, <span class="n">1</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">56</td><td>        glTexParameteri<span class="k2">(</span>GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_NEAREST<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">57</td><td>        glTexParameteri<span class="k2">(</span>GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_NEAREST<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">58</td><td>        glTexParameteri<span class="k2">(</span>GL_TEXTURE_2D,GL_TEXTURE_WRAP_S,GL_CLAMP_TO_EDGE<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">59</td><td>        glTexParameteri<span class="k2">(</span>GL_TEXTURE_2D,GL_TEXTURE_WRAP_T,GL_CLAMP_TO_EDGE<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">60</td><td>        glBlendFunc<span class="k2">(</span>GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">61</td><td>        glDisable<span class="k2">(</span>GL_DEPTH_TEST<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">62</td><td>        allegro_gl_use_alpha_channel<span class="k2">(</span><span class="n">1</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">63</td><td>        allegro_gl_set_texture_format<span class="k2">(</span>GL_RGBA8<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">64</td><td>        glEnable<span class="k2">(</span>GL_BLEND<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">65</td><td>        glEnable<span class="k2">(</span>GL_TEXTURE_2D<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">66</td><td>    allegro_gl_end<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr></tbody></table></div></div><p>
For loading textures i just do this:
</p><div class="source-code snippet"><div class="inner"><pre>texture <span class="k3">=</span> allegro_gl_make_texture<span class="k2">(</span>src<span class="k2">)</span><span class="k2">;</span>
</pre></div></div><p>
Alpha channel works perfect for me.</p><p>How are you drawing the texture to the screen?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (ImLeftFooted)</author>
		<pubDate>Mon, 04 Sep 2006 01:04:26 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Jakub Wasilewski said:</div><div class="quote"><p>
Just to be sure - you do call glBlendFunc and glEnable(GL_BLEND) prior to drawing anything with those textures, right?
</p></div></div><p>
D&#39;oh!  <img src="http://www.allegro.cc/forums/smileys/embarassed.gif" alt=":-[" />  Note to self:  In the future, I must make sure that I haven&#39;t commented out any code <b>before</b> posting questions to the forum.</p><div class="quote_container"><div class="title">Dustin Dettmer said:</div><div class="quote"><p>
Heres my init code
</p></div></div><p>
Wow!!!  That&#39;s some heavy duty code.  Thanks for sharing, I think I&#39;ll spend the rest of the week-end studying it.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (samwyse)</author>
		<pubDate>Mon, 04 Sep 2006 04:26:43 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
Note to self: In the future, I must make sure that I haven&#39;t commented out any code <b>before</b> posting questions to the forum.
</p></div></div><p>

Nothing to be ashamed of, I just mentioned it because I once made the same error (GL_BLEND disabled) and then wondered for an hour what&#39;s wrong.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Jakub Wasilewski)</author>
		<pubDate>Mon, 04 Sep 2006 04:32:57 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>If anything doesnt make sense you can ask me about it.</p><p>Heres how i draw.
</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> texture <span class="k3">=</span> allegro_gl_make_texture<span class="k2">(</span>src<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">2</td><td>&#160;</td></tr><tr><td class="number">3</td><td><span class="k1">while</span><span class="k2">(</span><span class="k3">!</span>quit<span class="k2">)</span> <span class="k2">{</span></td></tr><tr><td class="number">4</td><td>&#160;</td></tr><tr><td class="number">5</td><td>    <span class="k1">int</span> x <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">6</td><td>    <span class="k1">int</span> y <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">7</td><td>    <span class="k1">int</span> w <span class="k3">=</span> src-&gt;w<span class="k2">;</span></td></tr><tr><td class="number">8</td><td>    <span class="k1">int</span> h <span class="k3">=</span> src-&gt;h<span class="k2">;</span></td></tr><tr><td class="number">9</td><td>&#160;</td></tr><tr><td class="number">10</td><td>    glBindTexture<span class="k2">(</span>GL_TEXTURE_2D, texture<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">11</td><td>    </td></tr><tr><td class="number">12</td><td>    glBegin<span class="k2">(</span>GL_QUADS<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">13</td><td>        glTexCoord2f<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="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">14</td><td>        glVertex2i<span class="k2">(</span>x, y<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">15</td><td>        glTexCoord2f<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="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">16</td><td>        glVertex2i<span class="k2">(</span>x <span class="k3">+</span> w, y<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">17</td><td>        glTexCoord2f<span class="k2">(</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></td></tr><tr><td class="number">18</td><td>        glVertex2i<span class="k2">(</span>x <span class="k3">+</span> w, y <span class="k3">+</span> h<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">19</td><td>        glTexCoord2f<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="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">20</td><td>        glVertex2i<span class="k2">(</span>x, y <span class="k3">+</span> h<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">21</td><td>    glEnd<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">22</td><td>&#160;</td></tr><tr><td class="number">23</td><td>    allegro_gl_flip<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">24</td><td><span class="k2">}</span></td></tr></tbody></table></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (ImLeftFooted)</author>
		<pubDate>Wed, 06 Sep 2006 07:31:24 +0000</pubDate>
	</item>
</rss>
