Searc

Tuesday 28 December 2010

Multitexturing

Ok 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.




     float4 CalculateSphereHeights(float4 v, float2 tex,float heightv)
  
     {
  
     float4 p;
  
     p = normalize(v);
  
     return v + p * heightv;
  
     }  

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.

Sunday 26 December 2010

Been working Hard

Been 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.

Monday 13 December 2010

Been Buzzy, But still active

Well 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.

Sunday 12 September 2010

failing upwards at the moment

I 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.

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.

Tuesday 31 August 2010

A small update

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.


And now close up
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.

Monday 30 August 2010

My first ever post

Ohh 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.
The cube version before it has been warped




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.

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  

Then we get





Early screenshot with some texturing and all 6 sides mapped to the cube.



Here is a wireframe version of the same