<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>Problems with AllegroGL tga loading and usage.</title>
		<link>http://www.allegro.cc/forums/view/591336</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Fri, 11 May 2007 03:29:21 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>RAWR! me angry.</p><p>anyway: i&#39;m having a problem with loading tga files and using them, the problem is that the alpha channeled pixels are replaced with solid white when i create the texture.(i think, or it could be that i don&#39;t save the tga files properly, gah, it could be anything!).</p><p>Any ideas of why this might happen??<br />(see the attachments)
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Albin Engström)</author>
		<pubDate>Thu, 10 May 2007 14:44:28 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>You are not loading the texture correctly. </p><p>Show us your loading tga code and your display code (both allegro &amp;&amp; allegro_gl). Or attach a full example that we can work on.</p><p><s>Hah, myself having the same problem and it was solved:
<a href="http://www.allegro.cc/forums/thread/515840">Blitting TGA with ALPHA channel (OGL)</a>Read the thread, the answer is inside.</s></p><p> It is a matter of how you load &amp;&amp; display.<br />_<br />EDIT:
</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">/* init gfx code should have this inside */</span></td></tr><tr><td class="number">2</td><td>&#160;</td></tr><tr><td class="number">3</td><td>            allegro_gl_use_alpha_channel<span class="k2">(</span> TRUE <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">4</td><td>            glBlendFunc<span class="k2">(</span> GL_SRC_ALPHA, GL_ONE <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">5</td><td>&#160;</td></tr><tr><td class="number">6</td><td>         </td></tr><tr><td class="number">7</td><td><span class="c">/*display code should look like this*/</span></td></tr><tr><td class="number">8</td><td>                <span class="c">/* binding the texture */</span></td></tr><tr><td class="number">9</td><td>                glBindTexture<span class="k2">(</span> GL_TEXTURE_2D, mytexture <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">10</td><td>&#160;</td></tr><tr><td class="number">11</td><td>                glEnable<span class="k2">(</span> GL_BLEND <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>                glBegin<span class="k2">(</span> GL_QUADS <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">14</td><td>                <span class="c">/*If we set the color to white here, then the textured quad won't be*/</span></td></tr><tr><td class="number">15</td><td>                <span class="c">/*tinted red or half-see-through or something when we draw it based on*/</span></td></tr><tr><td class="number">16</td><td>                <span class="c">/*the last call to glColor*().*/</span></td></tr><tr><td class="number">17</td><td>                glColor3f<span class="k2">(</span> r, g, b <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">18</td><td>&#160;</td></tr><tr><td class="number">19</td><td>                <span class="c">/*Draw our four points, clockwise.*/</span></td></tr><tr><td class="number">20</td><td>                glTexCoord2f<span class="k2">(</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">21</td><td>                glVertex3f<span class="k2">(</span> x, y, <span class="n">0</span> <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">22</td><td>                glTexCoord2f<span class="k2">(</span> <span class="n">1</span>, <span class="n">1</span> <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">23</td><td>                glVertex3f<span class="k2">(</span> x <span class="k3">+</span> w, y, <span class="n">0</span> <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">24</td><td>                glTexCoord2f<span class="k2">(</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">25</td><td>                glVertex3f<span class="k2">(</span> x <span class="k3">+</span> w, y <span class="k3">+</span> h, <span class="n">0</span> <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">26</td><td>                glTexCoord2f<span class="k2">(</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">27</td><td>                glVertex3f<span class="k2">(</span> x, y <span class="k3">+</span> h , <span class="n">0</span> <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">28</td><td>                glEnd<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">29</td><td>&#160;</td></tr><tr><td class="number">30</td><td>                glDisable<span class="k2">(</span> GL_BLEND <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">31</td><td>&#160;</td></tr><tr><td class="number">32</td><td>&#160;</td></tr><tr><td class="number">33</td><td>                <span class="c">/*binding the default texture*/</span></td></tr><tr><td class="number">34</td><td>                glBindTexture<span class="k2">(</span> GL_TEXTURE_2D, <span class="n">0</span> <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">35</td><td>                </td></tr><tr><td class="number">36</td><td>                allegro_gl_flip<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr></tbody></table></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (GullRaDriel)</author>
		<pubDate>Thu, 10 May 2007 14:57:47 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>allegro_gl_make_texture_ex(AGL_TEXTURE_HAS_ALPHA | AGL_TEXTURE_RESCALE, bmp, GL_RGBA8);</p><p>make sure that bmp is 32 bpp color depth.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Milan Mimica)</author>
		<pubDate>Thu, 10 May 2007 16:04:07 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p><span class="source-code"><span class="k2">(</span><span class="k3">*</span>spr<span class="k2">)</span> <span class="k3">-</span><span class="k3">&gt;</span> handles<span class="k2">[</span> it <span class="k2">]</span> <span class="k3">=</span> allegro_gl_make_texture<span class="k2">(</span> <span class="k2">(</span><span class="k3">*</span>spr<span class="k2">)</span> <span class="k3">-</span><span class="k3">&gt;</span> spr<span class="k2">[</span> it <span class="k2">]</span> <span class="k2">)</span><span class="k2">;</span></span></p><p>Is working like a charm for me, using the sets I gave before.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (GullRaDriel)</author>
		<pubDate>Thu, 10 May 2007 16:27:17 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Do you need to turn on GL_ALPHA_TEST ?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Archon)</author>
		<pubDate>Thu, 10 May 2007 17:03:37 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Yes.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (GullRaDriel)</author>
		<pubDate>Thu, 10 May 2007 17:04:59 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Also, since AGL 0.4.1: you can do:
</p><div class="source-code snippet"><div class="inner"><pre>bmp <span class="k3">=</span> <a href="http://www.allegro.cc/manual/load_tga" target="_blank"><span class="a">load_tga</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
allegro_gl_set_video_bitmap_format<span class="k2">(</span>GL_RGBA8<span class="k2">)</span><span class="k2">;</span>
vbmp <span class="k3">=</span> <a href="http://www.allegro.cc/manual/create_video_bitmap" target="_blank"><span class="a">create_video_bitmap</span></a><span class="k2">(</span>bmp-&gt;w, bmp-&gt;h<span class="k2">)</span><span class="k2">;</span>
<a href="http://www.allegro.cc/manual/blit" target="_blank"><span class="a">blit</span></a><span class="k2">(</span>bmp, vbmp, <span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span>, vbmp-&gt;w, vbmp-&gt;h<span class="k2">)</span><span class="k2">;</span>
<a href="http://www.allegro.cc/manual/set_alpha_blender" target="_blank"><span class="a">set_alpha_blender</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<a href="http://www.allegro.cc/manual/draw_trans_sprite" target="_blank"><span class="a">draw_trans_sprite</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/screen" target="_blank"><span class="a">screen</span></a>, vbmp, x, y<span class="k2">)</span><span class="k2">;</span>
</pre></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Milan Mimica)</author>
		<pubDate>Thu, 10 May 2007 17:14:33 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Nice trick , I take note <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" /></p><p>Albin: Is it working now ?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (GullRaDriel)</author>
		<pubDate>Thu, 10 May 2007 18:16:08 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>No, it isn&#39;t :/, i&#39;m going to rewrite the whole thing and then i&#39;ll write here again.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Albin Engström)</author>
		<pubDate>Fri, 11 May 2007 03:29:21 +0000</pubDate>
	</item>
</rss>

