<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>Output Text in AllegroGL</title>
		<link>http://www.allegro.cc/forums/view/591683</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Fri, 01 Jun 2007 15:29:46 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>You may remember my other thread about AllegroGL. Well, that went a little off topic, so for my newest problem I&#39;m having another thread.</p><p>I&#39;ve got my button drawn properly in the window now, and when I click it, I&#39;ve got my ship flying around the screen and it&#39;s all fine and dandy and running at 800fps (as opposed to 24 with just Allegro). But then I tried to put some writing on the screen and I got stuck. Here&#39;s a stripped down version of the offending code:</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/font" target="_blank"><span class="a">font</span></a> <span class="k3">=</span> allegro_gl_convert_allegro_font<span class="k2">(</span><a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, AGL_FONT_TYPE_TEXTURED, <span class="n">1</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">2</td><td>  <span class="c">//Window is 640x480, OpenGL screen size thing is -320 to 320 and -240 to 240.</span></td></tr><tr><td class="number">3</td><td>&#160;</td></tr><tr><td class="number">4</td><td>  <span class="k1">while</span><span class="k2">(</span><span class="n">1</span><span class="k2">)</span> <span class="k2">{</span></td></tr><tr><td class="number">5</td><td>    <span class="c">//Update logic</span></td></tr><tr><td class="number">6</td><td>    <span class="c">////////////////////////////////////////////////////////////////////////</span></td></tr><tr><td class="number">7</td><td>    <span class="c">//Removed because there's no OpenGL, graphics, or text calls in here</span></td></tr><tr><td class="number">8</td><td>&#160;</td></tr><tr><td class="number">9</td><td>    <span class="c">//Now update graphics</span></td></tr><tr><td class="number">10</td><td>    <span class="c">////////////////////////////////////////////////////////////////////////</span></td></tr><tr><td class="number">11</td><td>    glClear<span class="k2">(</span>GL_COLOR_BUFFER_BIT<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">12</td><td>    opengl_mouse_coords<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span><span class="c">//My function to convert mouse co-ordinates</span></td></tr><tr><td class="number">13</td><td>    allegro_gl_printf<span class="k2">(</span><a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, <span class="n">200</span>, <span class="n">8</span>, <span class="n">0</span>, white, <span class="s">"Apero!"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">14</td><td>    draw_gl_bitmap<span class="k2">(</span>pointer_images<span class="k2">[</span>pointer<span class="k2">]</span>, gl_mousex, gl_mousey <span class="k3">-</span> <span class="n">16</span>, <span class="n">16</span>, <span class="n">16</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">15</td><td>    allegro_gl_flip<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">16</td><td>  <span class="k2">}</span></td></tr></tbody></table></div></div><p>

EDIT:<br />opengl_init() sets up the OpenGL settings:
</p><div class="source-code snippet"><div class="inner"><pre><span class="k1">void</span> opengl_init<span class="k2">(</span><span class="k1">void</span><span class="k2">)</span> <span class="k2">{</span>
  glMatrixMode<span class="k2">(</span>GL_PROJECTION<span class="k2">)</span><span class="k2">;</span>
  glLoadIdentity<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
  glOrtho<span class="k2">(</span><span class="k3">-</span><span class="n">320</span>, <span class="n">320</span>, <span class="k3">-</span><span class="n">240</span>, <span class="n">240</span>, <span class="k3">-</span><span class="n">1</span>, <span class="n">1</span><span class="k2">)</span><span class="k2">;</span>
  glMatrixMode<span class="k2">(</span>GL_MODELVIEW<span class="k2">)</span><span class="k2">;</span>
  glLoadIdentity<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
  glDisable<span class="k2">(</span>GL_DEPTH_TEST<span class="k2">)</span><span class="k2">;</span>
  glEnable<span class="k2">(</span>GL_TEXTURE_2D<span class="k2">)</span><span class="k2">;</span>
  glBlendFunc<span class="k2">(</span>GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA<span class="k2">)</span><span class="k2">;</span>
  glEnable<span class="k2">(</span>GL_BLEND<span class="k2">)</span><span class="k2">;</span>
<span class="k2">}</span>
</pre></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (James Stanley)</author>
		<pubDate>Fri, 01 Jun 2007 14:18:32 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>try this:
</p><div class="source-code snippet"><div class="inner"><pre>
<span class="c">/* First, draw the text alpha blended */</span>
    glEnable<span class="k2">(</span>GL_BLEND<span class="k2">)</span><span class="k2">;</span>
    glBlendFunc<span class="k2">(</span>GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA<span class="k2">)</span><span class="k2">;</span>
    allegro_gl_printf<span class="k2">(</span>demofont, <span class="n">1</span>, <span class="n">8</span>, <span class="n">0</span>, <a href="http://www.allegro.cc/manual/makeacol" target="_blank"><span class="a">makeacol</span></a><span class="k2">(</span><span class="n">255</span>,<span class="n">255</span>,<span class="n">255</span>,<span class="n">255</span><span class="k2">)</span>,
                     <span class="s">"Hello World!"</span><span class="k2">)</span><span class="k2">;</span>
    glBlendFunc<span class="k2">(</span>GL_ONE, GL_ZERO<span class="k2">)</span><span class="k2">;</span>
    glDisable<span class="k2">(</span>GL_BLEND<span class="k2">)</span><span class="k2">;</span>
</pre></div></div><p>

remember to erase the color afther this, because otherwise you damage the further outputs.<br />ciao8-)
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (LordHolNapul)</author>
		<pubDate>Fri, 01 Jun 2007 15:25:48 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Yes!<br />That works!<br />Thank you very much!</p><p>EDIT:<br />Ah!<br />Upon further inspection, I&#39;d already got the GL_BLEND and GlBlendFunc set up in opengl_init(). The reason my code wasn&#39;t working is because the variable white is makecol(255,255,255) - it does not have an alpha channel. Thanky you for showing me!
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (James Stanley)</author>
		<pubDate>Fri, 01 Jun 2007 15:29:46 +0000</pubDate>
	</item>
</rss>
