<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>HELP! Problem when I tried to make a5 and librocket gui work together.</title>
		<link>http://www.allegro.cc/forums/view/614174</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Mon, 21 Apr 2014 18:06:49 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I found a GUI library called library two days ago, and it&#39;s here.<br /><a href="http://librocket.com">librocket</a></p><p>Then I build the DX sample, looks like that:<br /><span class="remote-thumbnail"><span class="json">{"name":"608507","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/0\/8\/080dbc5585b6cafe8029c9f486741556.png","w":1030,"h":764,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/0\/8\/080dbc5585b6cafe8029c9f486741556"}</span><img src="http://www.allegro.cc//djungxnpq2nug.cloudfront.net/image/cache/0/8/080dbc5585b6cafe8029c9f486741556-240.jpg" alt="608507" width="240" height="178" /></span></p><p>Now I try to write an allegro render, I got that:<br />.....</p><p>==================================================================================</p><p>Well, now i&#39;m succeeded.<br />but i don&#39;t know why.</p><p>The font texture gen function are absolutely wrong, but it looks like works fine.I don&#39;t know why, it just works.<br />↓↓↓<br />bool RocketAllegroRenderer::GenerateTexture(...)</p><p>And it&#39;s my codes:<br /><a href="https://www.allegro.cc/files/attachment/608519">https://www.allegro.cc/files/attachment/608519</a>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (fy0001)</author>
		<pubDate>Fri, 18 Apr 2014 18:14:51 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>This is just a guess, but I bet your transform is wrong in some way.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Thomas Fjellstrom)</author>
		<pubDate>Fri, 18 Apr 2014 18:42:28 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Maybe al_draw_indexed_prim call has problem?</p><p>Another opengl render here:<br /><a href="http://github.com/rmaloney77/crimson/tree/master/src/gui/rocket">opengl</a></p><p>I think my codes did same work.</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number">  1</span><span class="k1">void</span> RocketSDLRenderInterfaceOpenGL::RenderGeometry<span class="k2">(</span>Rocket::Core::Vertex<span class="k3">*</span> vertices,
<span class="number">  2</span>                                                    <span class="k1">int</span> num_vertices,
<span class="number">  3</span>                                                    <span class="k1">int</span><span class="k3">*</span> indices,
<span class="number">  4</span>                                                    <span class="k1">int</span> num_indices,
<span class="number">  5</span>                                                    <span class="k1">const</span> Rocket::Core::TextureHandle texture,
<span class="number">  6</span>                                                    <span class="k1">const</span> Rocket::Core::Vector2f<span class="k3">&amp;</span> translation<span class="k2">)</span> <span class="k2">{</span>
<span class="number">  7</span>    glPushMatrix<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  8</span>    glTranslatef<span class="k2">(</span>translation.x, translation.y, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  9</span>
<span class="number"> 10</span>    std::vector<span class="k3">&lt;</span>Rocket::Core::Vector2f&gt; Positions<span class="k2">(</span>num_vertices<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 11</span>    std::vector<span class="k3">&lt;</span>Rocket::Core::Colourb&gt; Colors<span class="k2">(</span>num_vertices<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 12</span>    std::vector<span class="k3">&lt;</span>Rocket::Core::Vector2f&gt; TexCoords<span class="k2">(</span>num_vertices<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 13</span>    <span class="k1">float</span> texw, texh<span class="k2">;</span>
<span class="number"> 14</span>
<span class="number"> 15</span>    SDL_Texture<span class="k3">*</span> sdl_texture <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number"> 16</span>    <span class="k1">if</span><span class="k2">(</span>texture<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 17</span>        glEnableClientState<span class="k2">(</span>GL_TEXTURE_COORD_ARRAY<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 18</span>        sdl_texture <span class="k3">=</span> <span class="k2">(</span>SDL_Texture <span class="k3">*</span><span class="k2">)</span> texture<span class="k2">;</span>
<span class="number"> 19</span>        SDL_GL_BindTexture<span class="k2">(</span>sdl_texture, <span class="k3">&amp;</span>texw, <span class="k3">&amp;</span>texh<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 20</span>    <span class="k2">}</span>
<span class="number"> 21</span>
<span class="number"> 22</span>    <span class="k1">for</span><span class="k2">(</span><span class="k1">int</span>  i <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> i <span class="k3">&lt;</span> num_vertices<span class="k2">;</span> i<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 23</span>        Positions<span class="k2">[</span>i<span class="k2">]</span> <span class="k3">=</span> vertices<span class="k2">[</span>i<span class="k2">]</span>.position<span class="k2">;</span>
<span class="number"> 24</span>        Colors<span class="k2">[</span>i<span class="k2">]</span> <span class="k3">=</span> vertices<span class="k2">[</span>i<span class="k2">]</span>.colour<span class="k2">;</span>
<span class="number"> 25</span>        <span class="k1">if</span> <span class="k2">(</span>sdl_texture<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 26</span>            TexCoords<span class="k2">[</span>i<span class="k2">]</span>.x <span class="k3">=</span> vertices<span class="k2">[</span>i<span class="k2">]</span>.tex_coord.x <span class="k3">*</span> texw<span class="k2">;</span>
<span class="number"> 27</span>            TexCoords<span class="k2">[</span>i<span class="k2">]</span>.y <span class="k3">=</span> vertices<span class="k2">[</span>i<span class="k2">]</span>.tex_coord.y <span class="k3">*</span> texh<span class="k2">;</span>
<span class="number"> 28</span>        <span class="k2">}</span>
<span class="number"> 29</span>        <span class="k1">else</span> <span class="k2">{</span>
<span class="number"> 30</span>            TexCoords<span class="k2">[</span>i<span class="k2">]</span> <span class="k3">=</span> vertices<span class="k2">[</span>i<span class="k2">]</span>.tex_coord<span class="k2">;</span>
<span class="number"> 31</span>        <span class="k2">}</span>
<span class="number"> 32</span>    <span class="k2">}</span>
<span class="number"> 33</span>
<span class="number"> 34</span>    glEnableClientState<span class="k2">(</span>GL_VERTEX_ARRAY<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 35</span>    glEnableClientState<span class="k2">(</span>GL_COLOR_ARRAY<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 36</span>    glVertexPointer<span class="k2">(</span><span class="n">2</span>, GL_FLOAT, <span class="n">0</span>, <span class="k3">&amp;</span>Positions<span class="k2">[</span><span class="n">0</span><span class="k2">]</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 37</span>    glColorPointer<span class="k2">(</span><span class="n">4</span>, GL_UNSIGNED_BYTE, <span class="n">0</span>, <span class="k3">&amp;</span>Colors<span class="k2">[</span><span class="n">0</span><span class="k2">]</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 38</span>    glTexCoordPointer<span class="k2">(</span><span class="n">2</span>, GL_FLOAT, <span class="n">0</span>, <span class="k3">&amp;</span>TexCoords<span class="k2">[</span><span class="n">0</span><span class="k2">]</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 39</span>
<span class="number"> 40</span>    glTexEnvf<span class="k2">(</span>GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 41</span>    glEnable<span class="k2">(</span>GL_BLEND<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 42</span>    glBlendFunc<span class="k2">(</span>GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 43</span>    glDrawElements<span class="k2">(</span>GL_TRIANGLES, num_indices, GL_UNSIGNED_INT, indices<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 44</span>    glDisableClientState<span class="k2">(</span>GL_VERTEX_ARRAY<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 45</span>    glDisableClientState<span class="k2">(</span>GL_COLOR_ARRAY<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 46</span>
<span class="number"> 47</span>
<span class="number"> 48</span>    <span class="k1">if</span> <span class="k2">(</span>sdl_texture<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 49</span>        SDL_GL_UnbindTexture<span class="k2">(</span>sdl_texture<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 50</span>        glDisableClientState<span class="k2">(</span>GL_TEXTURE_COORD_ARRAY<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 51</span>    <span class="k2">}</span>
<span class="number"> 52</span>
<span class="number"> 53</span>    glColor4f<span class="k2">(</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">0</span>, <span class="n">1</span>.<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 54</span>    glPopMatrix<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 55</span><span class="k2">}</span>
</div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (fy0001)</author>
		<pubDate>Fri, 18 Apr 2014 18:50:27 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I&#39;m a bit confused at what the problem is here... the letters appear to be placed in the right spot, and the only issue is that they have the wrong background and for whatever reason you&#39;re rendering only half the text. Maybe you&#39;re loading your textures incorrectly? The code you&#39;re using in that .rar certainly seems incorrect:</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number">  1</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a><span class="k3">*</span> image <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_bitmap"><span class="a">al_create_bitmap</span></a><span class="k2">(</span>source_dimensions.x, source_dimensions.y<span class="k2">)</span><span class="k2">;</span>
<div class="highlight"><span class="number">  2</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_LOCKED_REGION"><span class="a">ALLEGRO_LOCKED_REGION</span></a><span class="k3">*</span> region <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_lock_bitmap"><span class="a">al_lock_bitmap</span></a><span class="k2">(</span>image, ALLEGRO_PIXEL_FORMAT_ANY, ALLEGRO_LOCK_READWRITE<span class="k2">)</span><span class="k2">;</span></div><span class="number">  3</span>
<span class="number">  4</span>  <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> source_dimensions.y<span class="k2">;</span> <span class="k3">+</span><span class="k3">+</span>y<span class="k2">)</span>
<span class="number">  5</span>  <span class="k2">{</span>
<span class="number">  6</span>    <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> source_dimensions.x<span class="k2">;</span> <span class="k3">+</span><span class="k3">+</span>x<span class="k2">)</span>
<span class="number">  7</span>    <span class="k2">{</span>
<span class="number">  8</span>      <span class="k1">const</span> byte<span class="k3">*</span> source_pixel <span class="k3">=</span> source <span class="k3">+</span> <span class="k2">(</span>source_dimensions.x <span class="k3">*</span> <span class="n">4</span> <span class="k3">*</span> y<span class="k2">)</span> <span class="k3">+</span> <span class="k2">(</span>x <span class="k3">*</span> <span class="n">4</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  9</span>      byte<span class="k3">*</span> destination_pixel <span class="k3">=</span> <span class="k2">(</span><span class="k2">(</span>byte<span class="k3">*</span><span class="k2">)</span> region-&gt;data<span class="k2">)</span> <span class="k3">+</span> region-&gt;pitch <span class="k3">*</span> y <span class="k3">+</span> x <span class="k3">*</span> <span class="n">4</span><span class="k2">;</span>
<div class="highlight"><span class="number"> 10</span>      destination_pixel<span class="k2">[</span><span class="n">0</span><span class="k2">]</span> <span class="k3">=</span> source_pixel<span class="k2">[</span><span class="n">3</span><span class="k2">]</span><span class="k2">;</span></div><span class="number"> 11</span>      destination_pixel<span class="k2">[</span><span class="n">1</span><span class="k2">]</span> <span class="k3">=</span> source_pixel<span class="k2">[</span><span class="n">3</span><span class="k2">]</span><span class="k2">;</span>
<span class="number"> 12</span>      destination_pixel<span class="k2">[</span><span class="n">2</span><span class="k2">]</span> <span class="k3">=</span> source_pixel<span class="k2">[</span><span class="n">3</span><span class="k2">]</span><span class="k2">;</span>
<span class="number"> 13</span>      destination_pixel<span class="k2">[</span><span class="n">3</span><span class="k2">]</span> <span class="k3">=</span> source_pixel<span class="k2">[</span><span class="n">3</span><span class="k2">]</span><span class="k2">;</span>
<span class="number"> 14</span>    <span class="k2">}</span>
<span class="number"> 15</span>  <span class="k2">}</span>
</div></div><p>
You probably want to be locking with <span class="source-code">ALLEGRO_PIXER_FORMAT_RGBA_8888</span> format. Also, the indices you use when copying over data seem to be wrong.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (SiegeLord)</author>
		<pubDate>Mon, 21 Apr 2014 18:06:49 +0000</pubDate>
	</item>
</rss>
