tag:blogger.com,1999:blog-86750973512832435492024-03-14T01:23:55.838-07:00Budinga's Programming BlogMy blog on the various projects that i am working on at the moment with different stages in dsesign, and how i acheve them.Prof.Budingahttp://www.blogger.com/profile/17182292773540831339noreply@blogger.comBlogger24125tag:blogger.com,1999:blog-8675097351283243549.post-27749971138083239462013-01-27T04:47:00.002-08:002013-01-27T04:48:31.767-08:001 small step for man kind one giant leap for BudingaHi all,<br />
<br />
First off Happy new year all.<br />
<br />
yes I am still around and working on my planet but today were gonna go a bit off topic. I have entered the lynx space competition and I need to get as many votes as possible so can you all please vote for me just click the below link and enter your email.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-M-AGN49nOzg/UQUh0QdhYoI/AAAAAAAAAHg/H02pRLieqhc/s1600/141992.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="215" src="http://2.bp.blogspot.com/-M-AGN49nOzg/UQUh0QdhYoI/AAAAAAAAAHg/H02pRLieqhc/s320/141992.jpg" width="320" /></a></div>
<br />
<br />
<a href="https://www.lynxapollo.com/en_GB/141992/stavros-demetriou?image=0">https://www.lynxapollo.com/en_GB/141992/stavros-demetriou?image=0</a><br />
<br />
<br />
<br />Prof.Budingahttp://www.blogger.com/profile/17182292773540831339noreply@blogger.com0tag:blogger.com,1999:blog-8675097351283243549.post-18690322808787157302012-04-06T06:11:00.000-07:002012-04-06T06:11:55.927-07:00A Few UpdatesWell ive been working on a few updates, had a crappy few months due the death of my grandfather. But well im back now. I have updated the camera class to use Quaternion, and i have also fixed some hdr lighting issues and made the atmopshere look more realistic. I am currently working on a ocean shader, but thats a bit a fail upwards senario. Anyways heres some images of what i have been working on lately. Its a littlebit over exposed in some places but it looks nice :).<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-yWTF-NP4YGU/T37ra3Hue4I/AAAAAAAAAGI/-unyNPivs6Y/s1600/screenshot41.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="247" src="http://1.bp.blogspot.com/-yWTF-NP4YGU/T37ra3Hue4I/AAAAAAAAAGI/-unyNPivs6Y/s320/screenshot41.jpg" width="320" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/-0rL9w58u57c/T37rcFCrvOI/AAAAAAAAAGQ/RjAwaR5owqI/s1600/screenshot42.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="247" src="http://2.bp.blogspot.com/-0rL9w58u57c/T37rcFCrvOI/AAAAAAAAAGQ/RjAwaR5owqI/s320/screenshot42.jpg" width="320" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/-EMOYl5nB7Ik/T37rdVy9zPI/AAAAAAAAAGY/aOFDHFcEzcQ/s1600/screenshot43.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="248" src="http://2.bp.blogspot.com/-EMOYl5nB7Ik/T37rdVy9zPI/AAAAAAAAAGY/aOFDHFcEzcQ/s320/screenshot43.jpg" width="320" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-dqV5M4QteTc/T37reZVVsbI/AAAAAAAAAGc/214-M4ZCoNE/s1600/screenshot44.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="248" src="http://3.bp.blogspot.com/-dqV5M4QteTc/T37reZVVsbI/AAAAAAAAAGc/214-M4ZCoNE/s320/screenshot44.jpg" width="320" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/-EaFa2HOH25g/T37rfJ5NQFI/AAAAAAAAAGk/oDG9_RdPc9Y/s1600/screenshot45.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="249" src="http://2.bp.blogspot.com/-EaFa2HOH25g/T37rfJ5NQFI/AAAAAAAAAGk/oDG9_RdPc9Y/s320/screenshot45.jpg" width="320" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-eqiKD2ocMao/T37rgU3gNKI/AAAAAAAAAGw/S0pCYQVqFAs/s1600/screenshot46.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="248" src="http://3.bp.blogspot.com/-eqiKD2ocMao/T37rgU3gNKI/AAAAAAAAAGw/S0pCYQVqFAs/s320/screenshot46.jpg" width="320" /></a></div>Prof.Budingahttp://www.blogger.com/profile/17182292773540831339noreply@blogger.com0tag:blogger.com,1999:blog-8675097351283243549.post-64043255718691090622012-02-12T09:10:00.000-08:002012-02-12T09:10:11.142-08:00More of an updateWell again i thought that this deserves an update, still havent fixed that normal problem , but here it is. I managed to implement a almost identical set of function like libnoise, using libnoise.net as a ref you can find it over at <a href="http://libnoisedotnet.codeplex.com/">http://libnoisedotnet.codeplex.com/</a>. It works great beacuse i can use it to generate a planet heightmap which warps perfectly around my planet sphere, and look's a hell of a lot better then a few ocatves of fbm. Here are some screenshots of my current progress and also a work in progress shot of me failing to implement slope based terrain texturing (cant win the all in 1 day :) ).<br />
<br />
Slope based terrain texturing<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-4pAW6oKhYEg/TzfyGzQkVlI/AAAAAAAAAFg/JdvL4-iU22s/s1600/screenshot31.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="247" src="http://3.bp.blogspot.com/-4pAW6oKhYEg/TzfyGzQkVlI/AAAAAAAAAFg/JdvL4-iU22s/s320/screenshot31.jpg" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;"><br />
</div><div class="separator" style="clear: both; text-align: center;">And here they are my latest procedural heightmap functions at work, using a bunch of random seed's.</div><div class="separator" style="clear: both; text-align: center;"><br />
</div><div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-m4zXWz1vl_U/TzfyVZSot3I/AAAAAAAAAFo/ii9ru_1zIiw/s1600/screenshot32.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="247" src="http://3.bp.blogspot.com/-m4zXWz1vl_U/TzfyVZSot3I/AAAAAAAAAFo/ii9ru_1zIiw/s320/screenshot32.jpg" width="320" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-AYHoICzjJ3g/TzfyXZq_TUI/AAAAAAAAAFw/9jcxBA5ymNI/s1600/screenshot33.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="249" src="http://1.bp.blogspot.com/-AYHoICzjJ3g/TzfyXZq_TUI/AAAAAAAAAFw/9jcxBA5ymNI/s320/screenshot33.jpg" width="320" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-dgFPSqRrbSY/TzfyYorx5lI/AAAAAAAAAF4/no5vMWZUYEw/s1600/screenshot34.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="248" src="http://1.bp.blogspot.com/-dgFPSqRrbSY/TzfyYorx5lI/AAAAAAAAAF4/no5vMWZUYEw/s320/screenshot34.jpg" width="320" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/-zDHJtgFFBtM/TzfyaK7bwiI/AAAAAAAAAGA/Qr_5PbhhUDM/s1600/screenshot35.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="247" src="http://2.bp.blogspot.com/-zDHJtgFFBtM/TzfyaK7bwiI/AAAAAAAAAGA/Qr_5PbhhUDM/s320/screenshot35.jpg" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;"><br />
</div>Prof.Budingahttp://www.blogger.com/profile/17182292773540831339noreply@blogger.com0tag:blogger.com,1999:blog-8675097351283243549.post-39535378397733260362012-02-11T06:12:00.000-08:002012-02-11T06:12:11.111-08:00Oh My Days ive finally got it!!Well this is more of a progress update then a post, i have finally managed to get the cracks fixed perfectly, still need to fix the normal generation but im getting there. Also i have improved the fps alot i get an avarage of 80fps and even 120fps at some points. I realised that i was not generating the patch indexes properly, which was causing them to point to a completely wrong vertex. Ill give ya a few screenshots but nothing major to see just you wont notice any cracks any more. If anybodys got a any good ideas on hiding the lod transition, with the normal calculation let me know at the moment im looking on generating normal maps on a per patch basis. <br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-_u3dm4s-pu0/TzZ28XfqOQI/AAAAAAAAAFQ/1GBfoQ_S2c4/s1600/screenshot29.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="247" src="http://3.bp.blogspot.com/-_u3dm4s-pu0/TzZ28XfqOQI/AAAAAAAAAFQ/1GBfoQ_S2c4/s320/screenshot29.jpg" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;"><br />
</div><div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-Fd33dnw5UK8/TzZ3CLvfRXI/AAAAAAAAAFY/5Ei_f-PCWQI/s1600/screenshot30.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="248" src="http://3.bp.blogspot.com/-Fd33dnw5UK8/TzZ3CLvfRXI/AAAAAAAAAFY/5Ei_f-PCWQI/s320/screenshot30.jpg" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;"><br />
</div>Prof.Budingahttp://www.blogger.com/profile/17182292773540831339noreply@blogger.com0tag:blogger.com,1999:blog-8675097351283243549.post-20387893520176059432012-01-31T13:03:00.000-08:002012-01-31T13:03:16.394-08:00Just a little eye canddyI decided to post a screeny i am working on some new noise functions, so far i generate a heightmap texture using a mixture of fbm, and simplex noise. I will soon be working on noise features, craters volcanoes, etc, just thought it looked cool sorry guyz no technical stuff today. I set the R texture channel to blue beacuse it think it looks cool, with my fake water :). <br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-OG05teX2Fc8/TyhXBJOc9oI/AAAAAAAAAFI/ghpZvGxkZUA/s1600/screenshot28.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="247" src="http://1.bp.blogspot.com/-OG05teX2Fc8/TyhXBJOc9oI/AAAAAAAAAFI/ghpZvGxkZUA/s320/screenshot28.jpg" width="320" /></a></div>Prof.Budingahttp://www.blogger.com/profile/17182292773540831339noreply@blogger.com0tag:blogger.com,1999:blog-8675097351283243549.post-66270690801278577572012-01-23T12:22:00.000-08:002012-01-23T12:23:16.762-08:00Creating Normal Maps on the cpu<div style="text-align: center;">I have come across this nice bit of code on gamedev.net forums. Which i think will come in handy for a loads of people as i cant seem to find alot of examples of generating normal maps from heightmaps. </div><div style="text-align: center;"><br />
</div><div style="text-align: center;">At the moment Indevilage Engine (yes my engine is called Indevilage) uses normals generated on a per patch basis but eventually i want to use high res normal maps generated on the gpu. Heres the function and an example of what it does. </div><div style="text-align: center;"><br />
</div><div style="text-align: center;">I know this is a bit of a side step from my normal posts but i haven really posted anything usefull i thin its time i started.</div><br />
<br />
<pre style="background: url("http://2.bp.blogspot.com/_z5ltvMQPaa8/SjJXr_U2YBI/AAAAAAAAAAM/46OqEP32CJ8/s320/codebg.gif") rgb(240, 240, 240); border: 1px dashed rgb(204, 204, 204); color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;">1: public static Texture2D NormalMapFromHeightMap(GraphicsDevice Device,Texture2D heightmap)
2: {
3: int size = heightmap.Width;
4: Color[] colorArray = new Color[size * size];
5: heightmap.GetData<Color>(colorArray);
6: Color[] normalArray = new Color[size * size];
7: Vector3 xyzdist = new Vector3(0.01f, 0.01f, 0.01f);//new Vector3(1.0f, 1.0f, 1.0f);
8: for (int i = 0; i < size - 1; i++)
9: {
10: for (int j = 0; j < size - 1; j++)
11: {
12: float sample1 = (colorArray[i + (j + 1) * size].R + colorArray[i + (j + 1) * size].G + colorArray[i + (j + 1) * size].B);
13: float sample2 = (colorArray[i + j * size].R + colorArray[i + j * size].G + colorArray[i + j * size].B);
14: float sample3 = (colorArray[(i + 1) + j * size].R + colorArray[(i + 1) + j * size].G + colorArray[(i + 1) + j * size].B);
15: Vector3 surfacesample0 = new Vector3(i * xyzdist.X, j * xyzdist.Y, sample1 * xyzdist.Z);
16: Vector3 surfacesample1 = new Vector3(i * xyzdist.X, (j + 1) * xyzdist.Y, sample2 * xyzdist.Z);
17: Vector3 surfacesample2 = new Vector3((i + 1) * xyzdist.X, j * xyzdist.Y, sample3 * xyzdist.Z);
18: Vector3 surfacevec0 = surfacesample1 - surfacesample0;
19: Vector3 surfacevec1 = surfacesample2 - surfacesample0;
20: surfacevec0.Normalize();
21: surfacevec1.Normalize();
22: Vector3 surfacenormal = new Vector3();
23: Vector3.Cross(ref surfacevec0, ref surfacevec1, out surfacenormal);
24: surfacenormal.Normalize();
25: surfacenormal.Z = -surfacenormal.Z;
26: surfacenormal.X = (surfacenormal.X + 1.0f) / 2.0f;
27: surfacenormal.Y = (surfacenormal.Y + 1.0f) / 2.0f;
28: surfacenormal.Z = (surfacenormal.Z + 1.0f) / 2.0f;
29: normalArray[i + j * size] = new Color(surfacenormal);
30: }
31: }
32: Texture2D texture = new Texture2D(Device, size, size);
33: texture.SetData(normalArray);
34: return texture;
35: }
</code></pre><br />
<br />
<br />
Heightmap<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-BrwBufVsYOc/Tx3AmXC8kkI/AAAAAAAAAE4/kaAkA8mxM1A/s1600/heightmap1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://1.bp.blogspot.com/-BrwBufVsYOc/Tx3AmXC8kkI/AAAAAAAAAE4/kaAkA8mxM1A/s320/heightmap1.jpg" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;"><br />
</div>NormalMap<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-3JIQ92PfHAg/Tx3A4rvt1_I/AAAAAAAAAFA/HD1z2NKT9LI/s1600/normalmap.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://1.bp.blogspot.com/-3JIQ92PfHAg/Tx3A4rvt1_I/AAAAAAAAAFA/HD1z2NKT9LI/s320/normalmap.jpg" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;"><br />
</div><br />
<div class="separator" style="clear: both; text-align: center;">I havent actually had time to test this in my engine, but it seems to generate the right values, i hope this is of help to anybody.</div>Prof.Budingahttp://www.blogger.com/profile/17182292773540831339noreply@blogger.com0tag:blogger.com,1999:blog-8675097351283243549.post-27064108795050910442012-01-22T05:26:00.000-08:002012-01-22T05:26:53.080-08:00Using a logarithmic z bufferWell i have decided to enable the crack fixing still not perfect but it works, the only problem is with such a large object you get shimering due to zbuffer fighting, the way this is solved by most people is to use a logarithmic z buffer, the way to do this is to calculate the depth in the shader. It was actually very simple to do, just add a few lines of code and there we have it.<br />
<br />
<pre style="background: url("http://2.bp.blogspot.com/_z5ltvMQPaa8/SjJXr_U2YBI/AAAAAAAAAAM/46OqEP32CJ8/s320/codebg.gif") rgb(240, 240, 240); border: 1px dashed rgb(204, 204, 204); color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;">1: const float Cc = 1.0;
2: const float Far = 1000000000.0;
3: output.Position.z = log(Cc*output.Position.z + 1) / log(Cc*Far + 1) * output.Position.w;
</code></pre><br />
I show how this works in the following screenshots.<br />
<br />
without the logarithmic z buffer<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-mbuVURdg55A/TxwOTqX_tkI/AAAAAAAAAEo/XyWhwogcLlA/s1600/without.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="248" src="http://1.bp.blogspot.com/-mbuVURdg55A/TxwOTqX_tkI/AAAAAAAAAEo/XyWhwogcLlA/s320/without.jpg" width="320" /></a></div><br />
<br />
with logarithmic z buffer<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-DsYg6-ZVd7M/TxwOboa4DuI/AAAAAAAAAEw/DKHV8OM5kWg/s1600/with.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="248" src="http://1.bp.blogspot.com/-DsYg6-ZVd7M/TxwOboa4DuI/AAAAAAAAAEw/DKHV8OM5kWg/s320/with.jpg" width="320" /></a></div><br />
It has now brought to my attention a few other things i can see but for now this will do :).Prof.Budingahttp://www.blogger.com/profile/17182292773540831339noreply@blogger.com0tag:blogger.com,1999:blog-8675097351283243549.post-50890341578624551762012-01-02T05:16:00.000-08:002012-01-02T05:16:51.195-08:00BoundingBox's A pain in the butI have spent a long time trying to ificiantly calculate bounding boxes for my terrain patches, i have resorted to bruteforce once the patch is created, the code is just a modifyed version of the standard xna method for calculting mesh bounding boxes. Here is a little update pic and the code used. I dont think this really needs an explanation, it just checks all vertices and then calculates the max and min bounds.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-8mqXsRcU3SI/TwGuPDAfCPI/AAAAAAAAAEg/bsJB-Et9KyU/s1600/screenshot20.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="247" src="http://3.bp.blogspot.com/-8mqXsRcU3SI/TwGuPDAfCPI/AAAAAAAAAEg/bsJB-Et9KyU/s320/screenshot20.jpg" width="320" /></a></div><br />
<br />
<pre style="background: url("http://2.bp.blogspot.com/_z5ltvMQPaa8/SjJXr_U2YBI/AAAAAAAAAAM/46OqEP32CJ8/s320/codebg.gif") rgb(240, 240, 240); border: 1px dashed rgb(204, 204, 204); color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> public BoundingBox CalculateBoundingBox()
{
Vector3 Max = new Vector3(float.MinValue, float.MinValue, float.MinValue);
Vector3 Min = new Vector3(float.MaxValue, float.MaxValue, float.MaxValue);
for (int i = 0; i < VertexData.Length; i ++)
{
Vector3 vectCurrentVertex = VertexData[i].Position;
if (VertexData[i].Position.X < Min.X) Min.X = VertexData[i].Position.X;
if (VertexData[i].Position.X > Max.X) Max.X = VertexData[i].Position.X;
if (VertexData[i].Position.Y < Min.Y) Min.Y = VertexData[i].Position.Y;
</code>
<code style="color: black; word-wrap: normal;">
if (VertexData[i].Position.Y > Max.Y) Max.Y = VertexData[i].Position.Y;
if (VertexData[i].Position.Z < Min.Z) Min.Z = VertexData[i].Position.Z;
if (VertexData[i].Position.Z > Max.Z) Max.Z = VertexData[i].Position.Z;
}
return new BoundingBox(Min, Max);
}
</code></pre>Prof.Budingahttp://www.blogger.com/profile/17182292773540831339noreply@blogger.com2tag:blogger.com,1999:blog-8675097351283243549.post-82874295760135432742011-12-27T05:01:00.000-08:002011-12-27T13:04:52.821-08:00Merry Christmas EvereybodyWell its been a while ive been working hard on porting my engine to XNA4.0 and c#, also have rewritten the planet engine and finally got the atsmopheric scattering working properly , its looking ok, well got a few things i got to work out still. Terrain crack fixing and culling is not working properly yet and also maybe a little water will be nice. But what the heck its christmas, and i just wanted to offer my followers a little eye canddy. Here we go. My new engine now goes down to the ground level, on a planet the size of earth. Water at the moment is just the colour blue, really need to fix this. Well here is it enjoy.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/-z1v68a51oog/TvnBQhbodNI/AAAAAAAAADg/gg22rHcxhJ8/s1600/screenshot12.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="247" src="http://4.bp.blogspot.com/-z1v68a51oog/TvnBQhbodNI/AAAAAAAAADg/gg22rHcxhJ8/s320/screenshot12.jpg" width="320" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/-y6Fe-UrqwdQ/TvnBUF4T_QI/AAAAAAAAADo/7fEjHPRGiV8/s1600/screenshot13.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="248" src="http://2.bp.blogspot.com/-y6Fe-UrqwdQ/TvnBUF4T_QI/AAAAAAAAADo/7fEjHPRGiV8/s320/screenshot13.jpg" width="320" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-5vAhsLFyRbY/TvnBWS1yC5I/AAAAAAAAADw/gaTWvepN3oE/s1600/screenshot14.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="247" src="http://1.bp.blogspot.com/-5vAhsLFyRbY/TvnBWS1yC5I/AAAAAAAAADw/gaTWvepN3oE/s320/screenshot14.jpg" width="320" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/-VhW_1djzF6E/TvnBX7FAs6I/AAAAAAAAAD4/0beHoq-s_vM/s1600/screenshot16.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="249" src="http://4.bp.blogspot.com/-VhW_1djzF6E/TvnBX7FAs6I/AAAAAAAAAD4/0beHoq-s_vM/s320/screenshot16.jpg" width="320" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/-0OYiAePA8Sg/TvnBZ9jWNII/AAAAAAAAAEA/VOApPqmcjlc/s1600/screenshot17.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="247" src="http://4.bp.blogspot.com/-0OYiAePA8Sg/TvnBZ9jWNII/AAAAAAAAAEA/VOApPqmcjlc/s320/screenshot17.jpg" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;"><br />
</div><div class="separator" style="clear: both; text-align: center;">A little edit i thought was necesary. and i have just realised i cant spell, can you see it in these pictures lol.</div><div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/-eOyAbfALH34/Tvoy5_ZiZ7I/AAAAAAAAAEM/kTrVLOSowwM/s1600/screenshot18.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="248" src="http://4.bp.blogspot.com/-eOyAbfALH34/Tvoy5_ZiZ7I/AAAAAAAAAEM/kTrVLOSowwM/s320/screenshot18.jpg" width="320" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/-rMMifz5Ij_g/Tvoy69KZL4I/AAAAAAAAAEU/9f3c4JicY1A/s1600/screenshot19.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="248" src="http://2.bp.blogspot.com/-rMMifz5Ij_g/Tvoy69KZL4I/AAAAAAAAAEU/9f3c4JicY1A/s320/screenshot19.jpg" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;"><br />
</div>Prof.Budingahttp://www.blogger.com/profile/17182292773540831339noreply@blogger.com0tag:blogger.com,1999:blog-8675097351283243549.post-65298094456421038042011-08-06T08:40:00.000-07:002011-08-06T08:40:44.944-07:00Little more progressi have been working hard on this for a while now and i think i am getting someware i am although getting a bit stcuk with normal generation for dif lod levels, but im sure i will figure it out soon enough.<br />
for now a few more screenys.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/-bW7nhSS_zZ0/Tj1gYH6RhDI/AAAAAAAAADI/XIwKR2pcNG8/s1600/screeny101.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="251" src="http://4.bp.blogspot.com/-bW7nhSS_zZ0/Tj1gYH6RhDI/AAAAAAAAADI/XIwKR2pcNG8/s320/screeny101.jpg" width="320" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/-UOKMftvt-Zk/Tj1gY0xTOsI/AAAAAAAAADM/pLlhzjFsrzM/s1600/screeny102.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="249" src="http://4.bp.blogspot.com/-UOKMftvt-Zk/Tj1gY0xTOsI/AAAAAAAAADM/pLlhzjFsrzM/s320/screeny102.jpg" width="320" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-T8daMVMSgQc/Tj1gaaWxIGI/AAAAAAAAADQ/KHIhWZnb6Co/s1600/screeny103.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="250" src="http://3.bp.blogspot.com/-T8daMVMSgQc/Tj1gaaWxIGI/AAAAAAAAADQ/KHIhWZnb6Co/s320/screeny103.jpg" width="320" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/-tGCz23WXUVc/Tj1gcwHHd_I/AAAAAAAAADY/JsZUWblY-uw/s1600/screeny99.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="251" src="http://2.bp.blogspot.com/-tGCz23WXUVc/Tj1gcwHHd_I/AAAAAAAAADY/JsZUWblY-uw/s320/screeny99.jpg" width="320" /></a></div>Prof.Budingahttp://www.blogger.com/profile/17182292773540831339noreply@blogger.com0tag:blogger.com,1999:blog-8675097351283243549.post-61922117983080227192011-07-09T07:47:00.000-07:002011-07-10T13:42:39.479-07:00Just some updated screenshotsJust wanted to post some new screenshots, starting look like a real planet.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-qo0A12e5sl0/Thhpv8TDYEI/AAAAAAAAACw/wHOfnlFe8hw/s1600/screeny80.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="250" src="http://3.bp.blogspot.com/-qo0A12e5sl0/Thhpv8TDYEI/AAAAAAAAACw/wHOfnlFe8hw/s320/screeny80.jpg" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;">Anybody want some info on the techniques used just mail me and ill get back to you as soon as possible.</div><div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-PnunKXvkErQ/ThoOar3Dk7I/AAAAAAAAAC0/IaE5zjC9JjE/s1600/screeny94.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="250" src="http://3.bp.blogspot.com/-PnunKXvkErQ/ThoOar3Dk7I/AAAAAAAAAC0/IaE5zjC9JjE/s320/screeny94.jpg" width="320" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-jFxB3c4LlZY/ThoOcNiRLrI/AAAAAAAAAC4/ocYV2XeHc8k/s1600/screeny93.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="249" src="http://1.bp.blogspot.com/-jFxB3c4LlZY/ThoOcNiRLrI/AAAAAAAAAC4/ocYV2XeHc8k/s320/screeny93.jpg" width="320" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-0qjZ_HRtce4/ThoOdPjinsI/AAAAAAAAAC8/nEhjmCd8Ktw/s1600/screeny92.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="249" src="http://1.bp.blogspot.com/-0qjZ_HRtce4/ThoOdPjinsI/AAAAAAAAAC8/nEhjmCd8Ktw/s320/screeny92.jpg" width="320" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/-p6ir9hMRGtU/ThoOe2QYA6I/AAAAAAAAADA/vhSPfok-8xU/s1600/screeny91.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="251" src="http://4.bp.blogspot.com/-p6ir9hMRGtU/ThoOe2QYA6I/AAAAAAAAADA/vhSPfok-8xU/s320/screeny91.jpg" width="320" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/-qvNTv67tqpM/ThoOgnp_lSI/AAAAAAAAADE/YEK8yLYNQUY/s1600/screeny90.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="251" src="http://4.bp.blogspot.com/-qvNTv67tqpM/ThoOgnp_lSI/AAAAAAAAADE/YEK8yLYNQUY/s320/screeny90.jpg" width="320" /></a>I added some clouds,water and a nice lense effect. Gotta work on the terrain now to lower the draw calls and up the fps, but not a bad job i think so far, i am quite happy with the results.</div><div class="separator" style="clear: both; text-align: center;"><br />
</div>Prof.Budingahttp://www.blogger.com/profile/17182292773540831339noreply@blogger.com2tag:blogger.com,1999:blog-8675097351283243549.post-51375834452379376992011-07-08T13:08:00.000-07:002011-07-08T13:08:50.676-07:00Finally worked the basics outWell i been grafting hard on the planet and settled someware in the middle, its a gemipmap implementation, which is going to evolve in to a chunked lod, but that is later on got the atmospheric scattering working properly. I will post some implementation info soon, just need the time to do so but for now got some eye candy.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/-nVlZh9Wa3Us/Thdjmp1mK8I/AAAAAAAAACo/dF3UN-n-bQs/s1600/screeny72.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="250" src="http://2.bp.blogspot.com/-nVlZh9Wa3Us/Thdjmp1mK8I/AAAAAAAAACo/dF3UN-n-bQs/s320/screeny72.jpg" width="320" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-H6qza1yCCFY/ThdjnUccxUI/AAAAAAAAACs/Cb3zhfmBMsM/s1600/screeny73.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="251" src="http://3.bp.blogspot.com/-H6qza1yCCFY/ThdjnUccxUI/AAAAAAAAACs/Cb3zhfmBMsM/s320/screeny73.jpg" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;">Its a lovely sunrise from the mountains, normals are not yet generated so shadows are not great but its getting there. </div>Prof.Budingahttp://www.blogger.com/profile/17182292773540831339noreply@blogger.com0tag:blogger.com,1999:blog-8675097351283243549.post-66167118722097987682011-06-25T06:57:00.000-07:002011-06-25T06:57:40.224-07:00Got the atmospheric scattering workingWell finally managed to get the atmospheric scattering shader, geometry and the shader working properly and its looking pretty nice if i do say so myself. Now i gotta start to add some nicer effect. This may ateka while as this is not on my initial TODO list, as i have to fix the planet LOD first.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-QZlcl7bRITI/TgXpRHFJDEI/AAAAAAAAAB0/aKjpQ9daZjw/s1600/screeny60.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="249" src="http://3.bp.blogspot.com/-QZlcl7bRITI/TgXpRHFJDEI/AAAAAAAAAB0/aKjpQ9daZjw/s320/screeny60.jpg" width="320" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-ttOOpNgaPFY/TgXpRkT0peI/AAAAAAAAAB4/ZoEfWf6WPJE/s1600/screeny61.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="249" src="http://3.bp.blogspot.com/-ttOOpNgaPFY/TgXpRkT0peI/AAAAAAAAAB4/ZoEfWf6WPJE/s320/screeny61.jpg" width="320" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-UK_o_fBi9_s/TgXpSQSfo4I/AAAAAAAAAB8/JDc1_-rn30w/s1600/screeny62.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="251" src="http://3.bp.blogspot.com/-UK_o_fBi9_s/TgXpSQSfo4I/AAAAAAAAAB8/JDc1_-rn30w/s320/screeny62.jpg" width="320" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/-HVG35lt098Q/TgXpS2wEMcI/AAAAAAAAACA/yikbrBTM5BQ/s1600/screeny63.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="250" src="http://4.bp.blogspot.com/-HVG35lt098Q/TgXpS2wEMcI/AAAAAAAAACA/yikbrBTM5BQ/s320/screeny63.jpg" width="320" /></a></div>Prof.Budingahttp://www.blogger.com/profile/17182292773540831339noreply@blogger.com0tag:blogger.com,1999:blog-8675097351283243549.post-40855411148446745262011-06-18T06:41:00.000-07:002011-06-18T06:42:41.793-07:00Update on what i have been working onOk well i have now decided i am going to stick with 6 square clipmaps and morph them in to a sphere, as spherical clipmaps is way beyind my math skills, and also alot more work maybe i will come back to it later on, so far i have managed to get the cube somewhat working and some multitexturing, but still alot of work needed. Its actually quite simple to get the planet its just making it look realistic is the hard part. I have also improved the atmospheric scattering shader a bit, but i cant seem to get the sphere to cull properly im currently working on that , and syncing the clipmap centers too. I have also vastly improved the framerate , by adding some adition optimization to the mesh code.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-AINMO0zMKNY/Tfyqv2PvFmI/AAAAAAAAABk/AOetcMnRtvA/s1600/screeny55.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="251" src="http://1.bp.blogspot.com/-AINMO0zMKNY/Tfyqv2PvFmI/AAAAAAAAABk/AOetcMnRtvA/s320/screeny55.jpg" width="320" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-2uRyj2ftO88/Tfyqxlg8awI/AAAAAAAAABo/STLKRDimAgk/s1600/screeny56.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="250" src="http://3.bp.blogspot.com/-2uRyj2ftO88/Tfyqxlg8awI/AAAAAAAAABo/STLKRDimAgk/s320/screeny56.jpg" width="320" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-uR7KgB8sECE/TfyqzMJ7KAI/AAAAAAAAABs/XWzh5b7IDRg/s1600/screeny57.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="251" src="http://3.bp.blogspot.com/-uR7KgB8sECE/TfyqzMJ7KAI/AAAAAAAAABs/XWzh5b7IDRg/s320/screeny57.jpg" width="320" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-0jpe4dEqggA/Tfyq1EMQwYI/AAAAAAAAABw/8zZ7RLtV9ZE/s1600/screeny58.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="250" src="http://1.bp.blogspot.com/-0jpe4dEqggA/Tfyq1EMQwYI/AAAAAAAAABw/8zZ7RLtV9ZE/s320/screeny58.jpg" width="320" /></a></div>Prof.Budingahttp://www.blogger.com/profile/17182292773540831339noreply@blogger.com0tag:blogger.com,1999:blog-8675097351283243549.post-72948590327614865232011-03-27T04:15:00.000-07:002011-03-27T04:15:32.335-07:00Been working HardI have been working hard on a new implementation using the paper writen by Malte Clasen and Hand-Christian Hege. Its going well so far, but loadz to go to be ohnest i just got the basic geometry working for now and i am working on the camera stuff then, i will be working on the heightmapping which i am currently dreding as its more dificult then actually creating the mesh lol. Anyways heres some screenshots of my current build.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/-Q7yPLGqYhoo/TY8byRWCXFI/AAAAAAAAABY/ocdocft0G30/s1600/screeny47.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="247" src="http://2.bp.blogspot.com/-Q7yPLGqYhoo/TY8byRWCXFI/AAAAAAAAABY/ocdocft0G30/s320/screeny47.jpg" width="320" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/-yvWNfm6RqXg/TY8b0BPugaI/AAAAAAAAABc/NxTfBqkH9OA/s1600/screeny48.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="250" src="http://2.bp.blogspot.com/-yvWNfm6RqXg/TY8b0BPugaI/AAAAAAAAABc/NxTfBqkH9OA/s320/screeny48.jpg" width="320" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/-tHxkjkmGdfI/TY8b17umu6I/AAAAAAAAABg/BexxWaHUZlE/s1600/screeny49.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="250" src="http://4.bp.blogspot.com/-tHxkjkmGdfI/TY8b17umu6I/AAAAAAAAABg/BexxWaHUZlE/s320/screeny49.jpg" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;"><br />
</div><div class="separator" style="clear: both; text-align: center;">This implmentation used clipmaps, as in hopes implementation, but using spherical rings instead of rectangles. The textureing system is similar to clipmaps, but needs to be converted over to spherical coords. I am aiming to do almost everything entirely on the GPU, as i think this is the way to go, and as you can see from the framerate so far its the best way to go.</div>Prof.Budingahttp://www.blogger.com/profile/17182292773540831339noreply@blogger.com0tag:blogger.com,1999:blog-8675097351283243549.post-57417482043141885672011-02-05T13:08:00.000-08:002011-02-05T13:08:51.029-08:00Multi Texturing and CratorsI have been workin on multitexturing and cratos this wekend the detail is still too low for a full blown planet but its getting there. I will be posting some of the techniques used, when i have got them working to a satifactory point. But for now a little eye candy.<br />
<br />
A bit of a muckup with the shaders but got a nice result lol.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/_6aaeZf7k3E0/TU28EPcbdNI/AAAAAAAAABM/57eizRUVZuM/s1600/screeny16.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" h5="true" height="249" src="http://3.bp.blogspot.com/_6aaeZf7k3E0/TU28EPcbdNI/AAAAAAAAABM/57eizRUVZuM/s320/screeny16.jpg" width="320" /></a></div><br />
Multitexturing fully implemented.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/_6aaeZf7k3E0/TU28FZ84NHI/AAAAAAAAABQ/MfxyugFENFc/s1600/screeny17.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" h5="true" height="251" src="http://1.bp.blogspot.com/_6aaeZf7k3E0/TU28FZ84NHI/AAAAAAAAABQ/MfxyugFENFc/s320/screeny17.jpg" width="320" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/_6aaeZf7k3E0/TU28HGPv_YI/AAAAAAAAABU/QogPjuaofyE/s1600/screeny18.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" h5="true" height="250" src="http://1.bp.blogspot.com/_6aaeZf7k3E0/TU28HGPv_YI/AAAAAAAAABU/QogPjuaofyE/s320/screeny18.jpg" width="320" /></a></div>This has been done using the same procedure as last time. Calculate the distance from the center of the sphere, and use that as the height for each texture.Prof.Budingahttp://www.blogger.com/profile/17182292773540831339noreply@blogger.com0tag:blogger.com,1999:blog-8675097351283243549.post-74778703265531576352011-02-03T13:14:00.001-08:002011-02-03T13:14:38.281-08:00Latest screenshotjust a little screenshot from my latest code.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/_6aaeZf7k3E0/TUsatG8topI/AAAAAAAAABI/cEQ0_Z0KGx4/s1600/screeny15.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="249" s5="true" src="http://3.bp.blogspot.com/_6aaeZf7k3E0/TUsatG8topI/AAAAAAAAABI/cEQ0_Z0KGx4/s320/screeny15.jpg" width="320" /></a></div>Prof.Budingahttp://www.blogger.com/profile/17182292773540831339noreply@blogger.com0tag:blogger.com,1999:blog-8675097351283243549.post-18244918621282742912011-01-23T09:07:00.000-08:002011-01-23T09:07:14.588-08:00Going down a new pathI have decided to rewrite everything, now using quadtrees , well its actually based on oneal's sandbox example, i havent quite got the quadtree working 100% but i got some pretty neat effects, which i would like to show off. Here is a few screenshots of my current progress.<br />
<br />
Before terrain shading<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/_6aaeZf7k3E0/TTxf66KL0jI/AAAAAAAAAA0/s2vIpIlu5VQ/s1600/screeny10.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="248" s5="true" src="http://2.bp.blogspot.com/_6aaeZf7k3E0/TTxf66KL0jI/AAAAAAAAAA0/s2vIpIlu5VQ/s320/screeny10.jpg" width="320" /></a></div> atmosphere from the ground<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/_6aaeZf7k3E0/TTxf9gw5G0I/AAAAAAAAAA4/7fgdCIKpM-A/s1600/screeny11.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="249" s5="true" src="http://2.bp.blogspot.com/_6aaeZf7k3E0/TTxf9gw5G0I/AAAAAAAAAA4/7fgdCIKpM-A/s320/screeny11.jpg" width="320" /></a></div> a nice sunset<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/_6aaeZf7k3E0/TTxf-mmjQWI/AAAAAAAAAA8/kLC9HHEPFKE/s1600/screeny12.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="249" s5="true" src="http://3.bp.blogspot.com/_6aaeZf7k3E0/TTxf-mmjQWI/AAAAAAAAAA8/kLC9HHEPFKE/s320/screeny12.jpg" width="320" /></a></div> atmosphere from space with terrain shading.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/_6aaeZf7k3E0/TTxf_uHQP4I/AAAAAAAAABA/-djnyAzD42U/s1600/screeny13.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="251" s5="true" src="http://3.bp.blogspot.com/_6aaeZf7k3E0/TTxf_uHQP4I/AAAAAAAAABA/-djnyAzD42U/s320/screeny13.jpg" width="320" /></a></div>I havent quite got the hang of the split merge funtionality , but its working to an aceptable level for now.Prof.Budingahttp://www.blogger.com/profile/17182292773540831339noreply@blogger.com0tag:blogger.com,1999:blog-8675097351283243549.post-86808501562376599232010-12-28T12:50:00.000-08:002010-12-28T12:50:15.262-08:00MultitexturingOk well i have managed to add water and also to multitexture my planet. The water is just a normal grid using a cube map and a wave map to produce the waves. Using the following function in the vertex shader to convert the height and calculate the position, depending on which side of the sphere (Cube) the wave is on and which angle it should rise at.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/_6aaeZf7k3E0/TRpMKrsZR9I/AAAAAAAAAAw/1pAVbITesW8/s1600/screeny5.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="252" n4="true" src="http://1.bp.blogspot.com/_6aaeZf7k3E0/TRpMKrsZR9I/AAAAAAAAAAw/1pAVbITesW8/s320/screeny5.jpg" width="320" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/_6aaeZf7k3E0/TRpMIEit5qI/AAAAAAAAAAs/JWWGYGLO5H0/s1600/screeny4.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="251" n4="true" src="http://1.bp.blogspot.com/_6aaeZf7k3E0/TRpMIEit5qI/AAAAAAAAAAs/JWWGYGLO5H0/s320/screeny4.jpg" width="320" /></a></div><br />
<br />
<pre style="background: url(http://2.bp.blogspot.com/_z5ltvMQPaa8/SjJXr_U2YBI/AAAAAAAAAAM/46OqEP32CJ8/s320/codebg.gif) #f0f0f0; border-bottom: #cccccc 1px dashed; border-left: #cccccc 1px dashed; border-right: #cccccc 1px dashed; border-top: #cccccc 1px dashed; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> float4 CalculateSphereHeights(float4 v, float2 tex,float heightv)
{
float4 p;
p = normalize(v);
return v + p * heightv;
}
</code></pre><br />
I have calculated the mutitexturing by getting the distance from the centre to the vertex, then passing that to the pixel shader and using 4 different textures blended at various different stages. Most of the code used is modified code from various tutorials that i have found around the web, (No point in reinventing the wheel) apart from the roam, which was adapted from a flat surface roam, and then mapped directly on to the cube which was warped to a sphere using the function i have shown in my earlier post.Prof.Budingahttp://www.blogger.com/profile/17182292773540831339noreply@blogger.com0tag:blogger.com,1999:blog-8675097351283243549.post-44609091427663067152010-12-26T16:30:00.000-08:002010-12-26T16:30:19.836-08:00Been working HardBeen really buzy porting well rewriting my engine over to xna i thought it was about time i moved away from managed dx since it was discontinued like 6 years ago, here is screeny from my latest procedural planet work. Its late now so i will prost some info and code when i have some time.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/_6aaeZf7k3E0/TRfeEPCsMkI/AAAAAAAAAAo/FIatOaBm0O4/s1600/screeny.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="250" n4="true" src="http://2.bp.blogspot.com/_6aaeZf7k3E0/TRfeEPCsMkI/AAAAAAAAAAo/FIatOaBm0O4/s320/screeny.jpg" width="320" /></a></div>Prof.Budingahttp://www.blogger.com/profile/17182292773540831339noreply@blogger.com0tag:blogger.com,1999:blog-8675097351283243549.post-32792704834476608602010-12-13T12:02:00.000-08:002010-12-13T12:02:58.243-08:00Been Buzzy, But still activeWell its been a while since i have posted on this blog, well i have been working on a few things. Fiest off the most important is i have managed to rigg toggether and XNA/VB.Net engine, which uses a content procesing tool to process the content in project form. So far i have most of the besic 2d stuff done but there is a alot of work till i get it up the quality of my Managed Directx Engine, so keep your eyes posted and eventualy i will have a new and improved and much better looking planet rendering engine.Prof.Budingahttp://www.blogger.com/profile/17182292773540831339noreply@blogger.com0tag:blogger.com,1999:blog-8675097351283243549.post-79319948040904778052010-09-12T13:07:00.000-07:002010-09-12T13:07:29.199-07:00failing upwards at the momentI been working on an atmosphere shader and not having much luck it seems to work but i cant get the parameters right but its still progress so i thought ill post a screeny.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/_6aaeZf7k3E0/TI0ytmvjGII/AAAAAAAAAAc/-pm_c3lUyzs/s1600/Screenshot+12.9.2010+20.51.7.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="480" ox="true" src="http://1.bp.blogspot.com/_6aaeZf7k3E0/TI0ytmvjGII/AAAAAAAAAAc/-pm_c3lUyzs/s640/Screenshot+12.9.2010+20.51.7.jpg" width="640" /></a></div>The outer atmosphere seems to work but for some reason the inner atmosphere which should be transparent dosent seem to work yet but im getting there. Once i get it working ill post some info on how i did it.Prof.Budingahttp://www.blogger.com/profile/17182292773540831339noreply@blogger.com0tag:blogger.com,1999:blog-8675097351283243549.post-79446308614664785342010-08-31T12:29:00.000-07:002010-09-01T04:29:41.003-07:00A small update<div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/_6aaeZf7k3E0/TH1Xc2WJRoI/AAAAAAAAAAM/QXc_dLkgzKI/s1600/Screenshot+31.8.2010+20.26.10.jpg" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" ox="true" src="http://4.bp.blogspot.com/_6aaeZf7k3E0/TH1Xc2WJRoI/AAAAAAAAAAM/QXc_dLkgzKI/s320/Screenshot+31.8.2010+20.26.10.jpg" /></a></div>I have now added height mapping to the sphere using the simple technique of just adding the height to the radius of the sphere while calculating the unit cube to sphere transaction.<br />
<br />
<br />
<div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;">And now close up<a href="http://4.bp.blogspot.com/_6aaeZf7k3E0/TH1XelGiUGI/AAAAAAAAAAU/oR0BfWu7snA/s1600/Screenshot+31.8.2010+20.26.30.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" ox="true" src="http://4.bp.blogspot.com/_6aaeZf7k3E0/TH1XelGiUGI/AAAAAAAAAAU/oR0BfWu7snA/s320/Screenshot+31.8.2010+20.26.30.jpg" /></a></div><div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;">This far from perfect but i now need to think about adding an atmosphere effect and some GPU generated texture splatting to make it look a little more realistic.</div>Prof.Budingahttp://www.blogger.com/profile/17182292773540831339noreply@blogger.com0tag:blogger.com,1999:blog-8675097351283243549.post-8839991513197992692010-08-30T00:43:00.000-07:002010-09-01T04:27:25.928-07:00My first ever postOhh well i finally decided to create a blog. This is mainly because i keep pissing people off on the forums by showing off almost every aspect of my games programming. I am starting with my current project which is a spherical terrain, using 6 height maps of a cube, which are quite cleverly warped on to a sphere. Here is a few screenshots from the early development stages; i will explain a bit better later on.<br />
The cube version before it has been warped<br />
<br />
<br />
<a href="http://img714.imageshack.us/i/screenshot5px.jpg/" target="_blank" title="ImageShack - Image And Video Hosting"><img border="0" height?380px?="" src="http://a.imageshack.us/img714/5674/screenshot5px.jpg" width="540" /></a><br />
<br />
Here it is after the clever warping using a simple function which was so gregariously given to me by the lovely Jasmine over at GPwiki forums.<br />
<br />
<pre style="background: url(http://2.bp.blogspot.com/_z5ltvMQPaa8/SjJXr_U2YBI/AAAAAAAAAAM/46OqEP32CJ8/s320/codebg.gif) #f0f0f0; border-bottom: #cccccc 1px dashed; border-left: #cccccc 1px dashed; border-right: #cccccc 1px dashed; border-top: #cccccc 1px dashed; color: black; font-family: arial; font-size: 11px; height: 322px; line-height: 20px; overflow: auto; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 90.26%;"><code style="color: black; word-wrap: normal;">1: Public Function CubeToSphereMapping(ByVal inputvector As Vector3) As Vector3
2: Dim L As Single
3: Dim x, y, z As Single
4: With inputvector
5: x = .X - 0.5
6: y = .Y - 0.5
7: z = .Z - 0.5
8: End With
9: Dim res As Vector3
10: L = Radius / (x * x + y * y + z * z) ^ 0.5
11: res.X = x * L
12: res.Y = y * L
13: res.Z = z * L
14: Return res
15: End Function
</code></pre><br />
Then we get<br />
<br />
<a href="http://img43.imageshack.us/i/screenshot7lx.jpg/" target="_blank" title="ImageShack - Image And Video Hosting"><img border="0" height="380" src="http://a.imageshack.us/img43/1491/screenshot7lx.jpg" width="540" /></a><br />
<br />
<br />
<br />
Early screenshot with some texturing and all 6 sides mapped to the cube.<br />
<br />
<a href="http://img830.imageshack.us/i/screenshot2982010211324.jpg/" target="_blank" title="ImageShack - Image And Video Hosting"><img border="0" height="380" src="http://a.imageshack.us/img830/4999/screenshot2982010211324.jpg" width="540" /></a><br />
<br />
Here is a wireframe version of the same<br />
<br />
<a href="http://img638.imageshack.us/i/screenshot308201082821.jpg/" target="_blank" title="ImageShack - Image And Video Hosting"><img border="0" height="380" src="http://a.imageshack.us/img638/8872/screenshot308201082821.jpg" width="540" /></a>Prof.Budingahttp://www.blogger.com/profile/17182292773540831339noreply@blogger.com0