<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>Implementing a simple skybox. </title>
		<link>http://www.allegro.cc/forums/view/617383</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Mon, 23 Apr 2018 23:55:39 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>So the game I&#39;m porting originally was written for a resolution of 320x200 on a 4:3 display. (The pixels were not square). I&#39;ve given the game a 4x resolution boost. Now it runs at 1280x800 at a 16:10 aspect ratio now that the pixels are square. I&#39;m beginning to add the ability to run the game native (1280x800 with a border), Zoomed(Zoom to edge and Maintain Aspect Ratio), and corner-to-corner (stretch/squish).</p><p>So now I have this big blank border to deal with. For example, My display is 1920x1080. When I run the game in &quot;Native&quot; 1280x800, I have a thick black border around the outside. When I run zoomed, my display is 16:9 so I have black pillars on the right and left. </p><p>I decided to fill the border with a starfield (It fits the theme of the game). I originally was going to put a scrolling tiled background, but I found a starscape generator that makes skyboxes. </p><p>Is there a very quick and dirty skybox example written in C? I doesn&#39;t even need to use OpenGL (I&#39;d actually rather it didn&#39;t) I just need it to lazily rotate around it&#39;s center. I&#39;m going to be pasting a 2D picture over the top of it anyway.</p><p>It kind of has to be in C as that&#39;s the language the original game was written in. Anything using vectors or just STL in general is right out. I see lots of OpenGL examples, but they are all using C++.</p><p>I don&#39;t need you guys to code up something for me, just a push in the right direction.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (nshade)</author>
		<pubDate>Fri, 20 Apr 2018 18:55:22 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Several of us have been through this. Skyboxes are actually rather simple, as they are just a cube rendered centered on the player with textures.</p><p>Make a cube. Texture it. Transform it. Draw it.</p><p>You can do this with allegro and al_draw_prim or OpenGL directly.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Fri, 20 Apr 2018 19:07:53 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Hmm, this is trickier than I thought...</p><p>I was able to draw a triangle using the documentation example. However, When I tried to make a quad, looks like al_draw_prim() only likes triangles. That&#39;s cool. however when I started to monkey with the z axis, my triangle disappeared.</p><p>ALLEGRO_VERTEX has a warning:<br />&quot;Note that at this time, the software driver for this addon cannot render 3D primitives. &quot;</p><p>How do I know which driver I&#39;m using and how do I switch them if this is the case?</p><p>Also, as a extra bonus. I don&#39;t know how to do math very well. Anything diving into geometry or algebra and I&#39;m lost. (I haven&#39;t been in high school in many, many years) so I&#39;m not sure how transforms are going to work.</p><p>==EDIT==</p><p>Never mind, I&#39;m aping the code from ex_camera.c I&#39;m adding a floor to that skybox, keeping the camera roll/yaw/pitch and nuking the rest <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (nshade)</author>
		<pubDate>Sat, 21 Apr 2018 10:37:07 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>As long as you&#39;re drawing on a video bitmap it should be accelerated.</p><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/617383/1036963#target">nshade</a> said:</div><div class="quote"><p>
Also, as a extra bonus. I don&#39;t know how to do math very well. Anything diving into geometry or algebra and I&#39;m lost. (I haven&#39;t been in high school in many, many years) so I&#39;m not sure how transforms are going to work.
</p></div></div><p>
You&#39;re going to need to learn math. You just need to. It&#39;s not so scary, honest.</p><p>Transforms allow you to move, scale, and rotate your objects in space.</p><p>They&#39;re disappearing because of the default projection matrix, which is orthogonal 2D. You need to setup your own 3D matrix for the projection and the view. After that you push and pop transforms on and off the stack for the view transform to make your models appear in different sizes, positions, and orientations.</p><p>No, Allegro doesn&#39;t support rendering QUADs. They&#39;re just two triangles to be honest. Use a TRIANGLE_FAN and pass the 4 vertices of the quad in counter clockwise order to al_draw_prim or OpenGL.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Sat, 21 Apr 2018 19:12:23 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>The camera example was exactly what I needed. It also in code shows me the proper matrix set up and a few useful routines. It&#39;s actually a little <b>too</b> verbose, but makes removing the unneeded cruft much easier.</p><p>However, I do have an issue... I seem to have seams in my box. The corners are matching up so It&#39;s not a texture issue. any ideas on how to solve something like this?</p><p>I have an example pic.....</p><p><a href="https://i.imgur.com/Epz83mj.png">https://i.imgur.com/Epz83mj.png</a>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (nshade)</author>
		<pubDate>Sun, 22 Apr 2018 12:03:26 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Neil would give you some advice to clamp your texture edges but I haven&#39;t needed to do that. How are you drawing your cube? Show code.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Sun, 22 Apr 2018 16:50:47 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I stole the code form the camera example. There are functions that add vertexes to a vertex array (starfield.v). You can either do them on a per quad or per vertex basis.</p><p>The original skybox didn&#39;t have a proper top or bottom so I had to manually put the vertexes in myself. The relevant code is add_skybox() and draw_scene()</p><p>the coordinates are kind of all over the place. I may have to manually remake the cube</p><p>This are lots of unneeded variables in here I have yet to zero out or simplify. I&#39;ll be cleaning those up later.</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="c">/* Create a skybox. This is simply 5 quads with a fixed distance to the</span>
<span class="number">   2</span><span class="c">* camera.</span>
<span class="number">   3</span><span class="c">*/</span>
<span class="number">   4</span><span class="k1">static</span> <span class="k1">void</span> add_skybox<span class="k2">(</span><span class="k1">void</span><span class="k2">)</span>
<span class="number">   5</span><span class="k2">{</span>
<span class="number">   6</span>  Vector pos <span class="k3">=</span> starfield.camera.position<span class="k2">;</span>
<span class="number">   7</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_COLOR"><span class="a">ALLEGRO_COLOR</span></a> color1 <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_color_name"><span class="a">al_color_name</span></a><span class="k2">(</span><span class="s">"black"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">   8</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_COLOR"><span class="a">ALLEGRO_COLOR</span></a> color2 <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_color_name"><span class="a">al_color_name</span></a><span class="k2">(</span><span class="s">"blue"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">   9</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_COLOR"><span class="a">ALLEGRO_COLOR</span></a> color3 <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_color_name"><span class="a">al_color_name</span></a><span class="k2">(</span><span class="s">"white"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  10</span>
<span class="number">  11</span>  <span class="k1">double</span> tex_size <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  12</span>  <span class="k1">if</span> <span class="k2">(</span>starfield.front<span class="k2">)</span> <span class="k2">{</span>
<span class="number">  13</span>    tex_size <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_get_bitmap_width"><span class="a">al_get_bitmap_width</span></a><span class="k2">(</span>starfield.front<span class="k2">)</span><span class="k2">;</span>
<span class="number">  14</span>    color1 <span class="k3">=</span> color2 <span class="k3">=</span> color3<span class="k2">;</span>
<span class="number">  15</span>  <span class="k2">}</span>
<span class="number">  16</span>
<span class="number">  17</span>  <span class="c">// x1,y1,z1,u1,v1</span>
<span class="number">  18</span>  <span class="c">// x2,y2,z2,u2,v2</span>
<span class="number">  19</span>  <span class="c">// x3,y3,z3,u3,v3</span>
<span class="number">  20</span>  <span class="c">// color tri, color tri2 </span>
<span class="number">  21</span>
<span class="number">  22</span>  <span class="c">/* Front skybox wall. */</span>
<span class="number">  23</span>  add_quad<span class="k2">(</span><span class="k3">-</span><span class="n">50</span>, <span class="k3">-</span><span class="n">50</span>, <span class="k3">-</span><span class="n">50</span>, tex_size, <span class="n">0</span>,
<span class="number">  24</span>    <span class="n">100</span>, <span class="n">0</span>, <span class="n">0</span>, <span class="k3">-</span>tex_size, <span class="n">0</span>,
<span class="number">  25</span>    <span class="n">0</span>, <span class="n">100</span>, <span class="n">0</span>, <span class="n">0</span>, <span class="k3">-</span>tex_size,
<span class="number">  26</span>    color1, color2<span class="k2">)</span><span class="k2">;</span>
<span class="number">  27</span>  
<span class="number">  28</span>
<span class="number">  29</span>  <span class="c">/* Right skybox wall. */</span>
<span class="number">  30</span>  add_quad<span class="k2">(</span><span class="n">50</span>, <span class="k3">-</span><span class="n">50</span>, <span class="k3">-</span><span class="n">50</span>, tex_size, <span class="n">0</span>,
<span class="number">  31</span>    <span class="n">0</span>, <span class="n">0</span>, <span class="n">100</span>, <span class="k3">-</span>tex_size, <span class="n">0</span>,
<span class="number">  32</span>    <span class="n">0</span>, <span class="n">100</span>, <span class="n">0</span>, <span class="n">0</span>, <span class="k3">-</span>tex_size,
<span class="number">  33</span>    color1, color2<span class="k2">)</span><span class="k2">;</span>
<span class="number">  34</span>
<span class="number">  35</span>  <span class="c">/* Back skybox wall. */</span>
<span class="number">  36</span>  add_quad<span class="k2">(</span><span class="k3">-</span><span class="n">50</span>, <span class="k3">-</span><span class="n">50</span>, <span class="n">50</span>, <span class="n">0</span>, tex_size,
<span class="number">  37</span>    <span class="n">100</span>, <span class="n">0</span>, <span class="n">0</span>, tex_size, <span class="n">0</span>,
<span class="number">  38</span>    <span class="n">0</span>, <span class="n">100</span>, <span class="n">0</span>, <span class="n">0</span>, <span class="k3">-</span>tex_size,
<span class="number">  39</span>    color1, color2<span class="k2">)</span><span class="k2">;</span>
<span class="number">  40</span>
<span class="number">  41</span>  <span class="c">/* Left skybox wall. */</span>
<span class="number">  42</span>  add_quad<span class="k2">(</span><span class="k3">-</span><span class="n">50</span>, <span class="k3">-</span><span class="n">50</span>, <span class="k3">-</span><span class="n">50</span>, <span class="n">0</span>, tex_size,
<span class="number">  43</span>    <span class="n">0</span>, <span class="n">0</span>, <span class="n">100</span>, tex_size, <span class="n">0</span>,
<span class="number">  44</span>    <span class="n">0</span>, <span class="n">100</span>, <span class="n">0</span>, <span class="n">0</span>, <span class="k3">-</span>tex_size,
<span class="number">  45</span>    color1, color2<span class="k2">)</span><span class="k2">;</span>
<span class="number">  46</span>
<span class="number">  47</span>  <span class="c">//These were added on a per-vertex basis</span>
<span class="number">  48</span>  <span class="c">//x,y,z,u,v,color</span>
<span class="number">  49</span>
<span class="number">  50</span>  <span class="c">/* Top skybox wall. */</span>
<span class="number">  51</span>  add_vertex<span class="k2">(</span><span class="k3">-</span><span class="n">50</span>, <span class="n">50</span>, <span class="k3">-</span><span class="n">50</span>, <span class="n">0</span>, <span class="n">0</span>, color2<span class="k2">)</span><span class="k2">;</span>
<span class="number">  52</span>  add_vertex<span class="k2">(</span><span class="n">50</span>, <span class="n">50</span>, <span class="k3">-</span><span class="n">50</span>, <span class="k3">-</span>tex_size, <span class="n">0</span>, color2<span class="k2">)</span><span class="k2">;</span>
<span class="number">  53</span>  add_vertex<span class="k2">(</span><span class="n">50</span>, <span class="n">50</span>, <span class="n">50</span>, <span class="k3">-</span>tex_size, <span class="k3">-</span>tex_size, color2<span class="k2">)</span><span class="k2">;</span>
<span class="number">  54</span>
<span class="number">  55</span>  add_vertex<span class="k2">(</span><span class="n">50</span>, <span class="n">50</span>, <span class="n">50</span>, <span class="k3">-</span>tex_size, <span class="k3">-</span>tex_size, color2<span class="k2">)</span><span class="k2">;</span>
<span class="number">  56</span>  add_vertex<span class="k2">(</span><span class="k3">-</span><span class="n">50</span>, <span class="n">50</span>, <span class="n">50</span>, <span class="n">0</span>, <span class="k3">-</span>tex_size, color2<span class="k2">)</span><span class="k2">;</span>
<span class="number">  57</span>  add_vertex<span class="k2">(</span><span class="k3">-</span><span class="n">50</span>, <span class="n">50</span>, <span class="k3">-</span><span class="n">50</span>, <span class="n">0</span>, <span class="n">0</span>, color2<span class="k2">)</span><span class="k2">;</span>
<span class="number">  58</span>
<span class="number">  59</span>
<span class="number">  60</span>  <span class="c">/* Bottom skybox wall. */</span>
<span class="number">  61</span>
<span class="number">  62</span>  add_vertex<span class="k2">(</span><span class="k3">-</span><span class="n">50</span>, <span class="k3">-</span><span class="n">50</span>, <span class="n">50</span>, <span class="n">0</span>, <span class="n">0</span>, color2<span class="k2">)</span><span class="k2">;</span>
<span class="number">  63</span>  add_vertex<span class="k2">(</span><span class="n">50</span>, <span class="k3">-</span><span class="n">50</span>, <span class="n">50</span>, <span class="k3">-</span>tex_size, <span class="k3">-</span><span class="n">0</span>, color2<span class="k2">)</span><span class="k2">;</span>
<span class="number">  64</span>  add_vertex<span class="k2">(</span><span class="n">50</span>, <span class="k3">-</span><span class="n">50</span>, <span class="k3">-</span><span class="n">50</span>, <span class="k3">-</span>tex_size, <span class="k3">-</span>tex_size, color2<span class="k2">)</span><span class="k2">;</span>
<span class="number">  65</span>
<span class="number">  66</span>  add_vertex<span class="k2">(</span><span class="n">50</span>, <span class="k3">-</span><span class="n">50</span>, <span class="k3">-</span><span class="n">50</span>, <span class="k3">-</span>tex_size, <span class="k3">-</span>tex_size, color2<span class="k2">)</span><span class="k2">;</span>
<span class="number">  67</span>  add_vertex<span class="k2">(</span><span class="k3">-</span><span class="n">50</span>, <span class="k3">-</span><span class="n">50</span>, <span class="k3">-</span><span class="n">50</span>, <span class="n">0</span>, <span class="k3">-</span>tex_size, color2<span class="k2">)</span><span class="k2">;</span>
<span class="number">  68</span>  add_vertex<span class="k2">(</span><span class="k3">-</span><span class="n">50</span>, <span class="k3">-</span><span class="n">50</span>, <span class="n">50</span>, <span class="n">0</span>, <span class="n">0</span>, color2<span class="k2">)</span><span class="k2">;</span>
<span class="number">  69</span>
<span class="number">  70</span>
<span class="number">  71</span><span class="k2">}</span>
<span class="number">  72</span>
<span class="number">  73</span><span class="k1">static</span> <span class="k1">void</span> draw_scene<span class="k2">(</span><span class="k1">void</span><span class="k2">)</span>
<span class="number">  74</span><span class="k2">{</span>
<span class="number">  75</span>  Camera <span class="k3">*</span>c <span class="k3">=</span> <span class="k3">&amp;</span>starfield.camera<span class="k2">;</span>
<span class="number">  76</span>  <span class="c">/* We save Allegro's projection so we can restore it for drawing text. */</span>
<span class="number">  77</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_TRANSFORM"><span class="a">ALLEGRO_TRANSFORM</span></a> projection <span class="k3">=</span> <span class="k3">*</span>al_get_current_projection_transform<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  78</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_TRANSFORM"><span class="a">ALLEGRO_TRANSFORM</span></a> t<span class="k2">;</span>
<span class="number">  79</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_COLOR"><span class="a">ALLEGRO_COLOR</span></a> back <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_color_name"><span class="a">al_color_name</span></a><span class="k2">(</span><span class="s">"black"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  80</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_COLOR"><span class="a">ALLEGRO_COLOR</span></a> front <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_color_name"><span class="a">al_color_name</span></a><span class="k2">(</span><span class="s">"white"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  81</span>  <span class="k1">int</span> th<span class="k2">;</span>
<span class="number">  82</span>  <span class="k1">double</span> pitch, yaw, roll<span class="k2">;</span>
<span class="number">  83</span>
<span class="number">  84</span>  setup_3d_projection<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  85</span>  <a href="http://www.allegro.cc/manual/al_clear_to_color"><span class="a">al_clear_to_color</span></a><span class="k2">(</span>back<span class="k2">)</span><span class="k2">;</span>
<span class="number">  86</span>
<span class="number">  87</span>  <span class="c">/* We use a depth buffer. */</span>
<span class="number">  88</span>  al_set_render_state<span class="k2">(</span>ALLEGRO_DEPTH_TEST, <span class="n">1</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  89</span>  al_clear_depth_buffer<span class="k2">(</span><span class="n">1</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  90</span>
<span class="number">  91</span>  <span class="c">/* Recreate the entire scene geometry - this is only a very small example</span>
<span class="number">  92</span><span class="c">  * so this is fine.</span>
<span class="number">  93</span><span class="c">  */</span>
<span class="number">  94</span>  starfield.n <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  95</span>
<span class="number">  96</span>  add_skybox<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  97</span>
<span class="number">  98</span>  <span class="c">/* Construct a transform corresponding to our camera. This is an inverse</span>
<span class="number">  99</span><span class="c">  * translation by the camera position, followed by an inverse rotation</span>
<span class="number"> 100</span><span class="c">  * from the camera orientation.</span>
<span class="number"> 101</span><span class="c">  */</span>
<span class="number"> 102</span>  al_build_camera_transform<span class="k2">(</span><span class="k3">&amp;</span>t,
<span class="number"> 103</span>    starfield.camera.position.x, starfield.camera.position.y, starfield.camera.position.z,
<span class="number"> 104</span>    starfield.camera.position.x <span class="k3">-</span> starfield.camera.zaxis.x,
<span class="number"> 105</span>    starfield.camera.position.y <span class="k3">-</span> starfield.camera.zaxis.y,
<span class="number"> 106</span>    starfield.camera.position.z <span class="k3">-</span> starfield.camera.zaxis.z,
<span class="number"> 107</span>    starfield.camera.yaxis.x, starfield.camera.yaxis.y, starfield.camera.yaxis.z<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 108</span>  <a href="http://www.allegro.cc/manual/al_use_transform"><span class="a">al_use_transform</span></a><span class="k2">(</span><span class="k3">&amp;</span>t<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 109</span>
<span class="number"> 110</span>  <a href="http://www.allegro.cc/manual/al_draw_prim"><span class="a">al_draw_prim</span></a><span class="k2">(</span>starfield.v, NULL, starfield.front, <span class="n">0</span>, <span class="n">3</span>, ALLEGRO_PRIM_TRIANGLE_LIST<span class="k2">)</span><span class="k2">;</span>  <span class="c">//front</span>
<span class="number"> 111</span>    <a href="http://www.allegro.cc/manual/al_draw_prim"><span class="a">al_draw_prim</span></a><span class="k2">(</span>starfield.v, NULL, starfield.front, <span class="n">3</span>, <span class="n">6</span>, ALLEGRO_PRIM_TRIANGLE_LIST<span class="k2">)</span><span class="k2">;</span>  <span class="c">//front</span>
<span class="number"> 112</span>  <a href="http://www.allegro.cc/manual/al_draw_prim"><span class="a">al_draw_prim</span></a><span class="k2">(</span>starfield.v, NULL, starfield.right, <span class="n">6</span>, <span class="n">9</span>, ALLEGRO_PRIM_TRIANGLE_LIST<span class="k2">)</span><span class="k2">;</span>  <span class="c">//right</span>
<span class="number"> 113</span>  <a href="http://www.allegro.cc/manual/al_draw_prim"><span class="a">al_draw_prim</span></a><span class="k2">(</span>starfield.v, NULL, starfield.right, <span class="n">9</span>, <span class="n">12</span>, ALLEGRO_PRIM_TRIANGLE_LIST<span class="k2">)</span><span class="k2">;</span>  <span class="c">//right</span>
<span class="number"> 114</span>  <a href="http://www.allegro.cc/manual/al_draw_prim"><span class="a">al_draw_prim</span></a><span class="k2">(</span>starfield.v, NULL, starfield.back, <span class="n">12</span>, <span class="n">15</span>, ALLEGRO_PRIM_TRIANGLE_LIST<span class="k2">)</span><span class="k2">;</span>  <span class="c">//back</span>
<span class="number"> 115</span>  <a href="http://www.allegro.cc/manual/al_draw_prim"><span class="a">al_draw_prim</span></a><span class="k2">(</span>starfield.v, NULL, starfield.back, <span class="n">15</span>, <span class="n">18</span>, ALLEGRO_PRIM_TRIANGLE_LIST<span class="k2">)</span><span class="k2">;</span>  <span class="c">//back</span>
<span class="number"> 116</span>  <a href="http://www.allegro.cc/manual/al_draw_prim"><span class="a">al_draw_prim</span></a><span class="k2">(</span>starfield.v, NULL, starfield.left, <span class="n">18</span>, <span class="n">21</span>, ALLEGRO_PRIM_TRIANGLE_LIST<span class="k2">)</span><span class="k2">;</span>  <span class="c">//left</span>
<span class="number"> 117</span>  <a href="http://www.allegro.cc/manual/al_draw_prim"><span class="a">al_draw_prim</span></a><span class="k2">(</span>starfield.v, NULL, starfield.left, <span class="n">21</span>, <span class="n">24</span>, ALLEGRO_PRIM_TRIANGLE_LIST<span class="k2">)</span><span class="k2">;</span>  <span class="c">//left</span>
<span class="number"> 118</span>  <a href="http://www.allegro.cc/manual/al_draw_prim"><span class="a">al_draw_prim</span></a><span class="k2">(</span>starfield.v, NULL, starfield.up, <span class="n">24</span>, <span class="n">27</span>, ALLEGRO_PRIM_TRIANGLE_LIST<span class="k2">)</span><span class="k2">;</span>  <span class="c">//up</span>
<span class="number"> 119</span>  <a href="http://www.allegro.cc/manual/al_draw_prim"><span class="a">al_draw_prim</span></a><span class="k2">(</span>starfield.v, NULL, starfield.up, <span class="n">27</span>, <span class="n">30</span>, ALLEGRO_PRIM_TRIANGLE_LIST<span class="k2">)</span><span class="k2">;</span>  <span class="c">//up</span>
<span class="number"> 120</span>  <a href="http://www.allegro.cc/manual/al_draw_prim"><span class="a">al_draw_prim</span></a><span class="k2">(</span>starfield.v, NULL, starfield.down, <span class="n">30</span>, <span class="n">33</span>, ALLEGRO_PRIM_TRIANGLE_LIST<span class="k2">)</span><span class="k2">;</span>  <span class="c">//down</span>
<span class="number"> 121</span>  <a href="http://www.allegro.cc/manual/al_draw_prim"><span class="a">al_draw_prim</span></a><span class="k2">(</span>starfield.v, NULL, starfield.down, <span class="n">33</span>, <span class="n">36</span>, ALLEGRO_PRIM_TRIANGLE_LIST<span class="k2">)</span><span class="k2">;</span>  <span class="c">//down</span>
<span class="number"> 122</span>
<span class="number"> 123</span>
<span class="number"> 124</span>  <span class="c">/* Restore projection. */</span>
<span class="number"> 125</span>  <a href="http://www.allegro.cc/manual/al_identity_transform"><span class="a">al_identity_transform</span></a><span class="k2">(</span><span class="k3">&amp;</span>t<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 126</span>  <a href="http://www.allegro.cc/manual/al_use_transform"><span class="a">al_use_transform</span></a><span class="k2">(</span><span class="k3">&amp;</span>t<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 127</span>  al_use_projection_transform<span class="k2">(</span><span class="k3">&amp;</span>projection<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 128</span>  al_set_render_state<span class="k2">(</span>ALLEGRO_DEPTH_TEST, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 129</span><span class="k2">}</span>
</div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (nshade)</author>
		<pubDate>Sun, 22 Apr 2018 17:46:52 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Post the images you used to texture your skybox with.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Sun, 22 Apr 2018 18:04:55 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Uploaded here...</p><p><a href="https://imgur.com/a/Q8OLwvi">https://imgur.com/a/Q8OLwvi</a>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (nshade)</author>
		<pubDate>Sun, 22 Apr 2018 18:21:12 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Attach them instead so I can try them myself.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Sun, 22 Apr 2018 18:25:25 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Sorry, didn&#39;t realize the forums had attachment abilities</p><p>I also attached the full modified version of the camera example that I&#39;ve been tweaking. It&#39;s still very much ex_camera.c with junk commented out and some struct modification. It just allows for different textures for the box and you can use an optional border_skybox.png as a test texture.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (nshade)</author>
		<pubDate>Sun, 22 Apr 2018 19:38:33 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>With a very minor change, it compiled and ran with Allegro 5.2.4 just fine. No seams visible here. Not sure why you can see them. It&#39;s very dark though.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Sun, 22 Apr 2018 22:15:36 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I found a solution. I just remodeled the skybox with overlapping edges.</p><p>Here is a picture of what I&#39;m talking about...<br /><a href="https://i.imgur.com/MJEECz2.png">https://i.imgur.com/MJEECz2.png</a>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (nshade)</author>
		<pubDate>Mon, 23 Apr 2018 23:55:39 +0000</pubDate>
	</item>
</rss>
