ROAM Planet rendering

A place to show off your latest screenshots and for people to comment on them. Only start a new thread here if you have some nice images to show off!
Post Reply
palaslet
Halfling
Posts: 61
Joined: Tue May 25, 2010 7:52 am
Location: Fredrikstad, Norway

Re: ROAM Planet rendering

Post by palaslet »

Alex,

I can see from your screenshots that the colors have no variance over large areas. What I mean is that in real nature, a large area of grass will have great variances in green shades.
Same will apply for stone, sand and ultimately all surfaces.

Would it be possible to use a guassian algorithm just to slightly adjust the saturation? Or will shaders and bump maps be enough to create a natural look for this?
"It seems that perfection is reached not when there is nothing left to add, but when there is nothing left to take away"
User avatar
DavlexDesign
Orc
Posts: 400
Joined: Thu Apr 23, 2009 7:23 am
Location: Australia
x 19
Contact:

Re: ROAM Planet rendering

Post by DavlexDesign »

G'day palaslet,

I know what you mean, It's all in the color and tile look up map, I tint the textures with a bias, if I change the color variance in the look up, then I will get variance in the tones for the grass and rocks etc, all I did for those shots on the previous page was change the saturation of the current look up map, nothing special, just to keep Daniel happy. I will invest a little time to the look up map soon, and hone it, to make it look just right, plus use a few more tiles out of the atlas, at the moment I think I'm only using about 4 or so out of the possible 16.
This is what the look up map is composed of.
This is what the look up map is composed of.
terraintexlu.jpg (53.27 KiB) Viewed 4782 times
I have routines in the engine, to actually calculate the slope and altitude at each new vertex and setup a second set of uvs that would give me a range of 0.0 - 1.0 across an arbitrary map of indexes that contained values of 0 - 15 in the alpha channel (well actually 16 ranges in 255, because that gave me a little leeway to make it easier to draw the index map, I could see the shade differences). Now this gives me an index into the Atlas texture of now 2048x2048 in size that is split up into a 4x4 grid of 16 512x512 seamless textures, and I can reference those textures via the index map in a left to right / top to bottom way, index 0 being top left texture region and index 15 being the bottom right texture region.

The rgb area of the map is where I can put in variances in color tint to apply to the textures I'm using, so I can use the 16 tiles, but also I can modify them as well, all in a single look up instruction, so in theory, I can have one texture with the height x width of the look up maps' color variances on it. I just need to spend some time on it, it's still really only a proof of concept look up map at the moment.

Hope that explains a few things.

Alex
User avatar
Zonder
Ogre Magi
Posts: 1168
Joined: Mon Aug 04, 2008 7:51 pm
Location: Manchester - England
x 73

Re: ROAM Planet rendering

Post by Zonder »

when you get the heat map in there you will need more tiles as you should be able to calculate where deserts should be and snowy regions. Are you going to do a water map as well? (this post got long can't remember)
There are 10 types of people in the world: Those who understand binary, and those who don't...
User avatar
DavlexDesign
Orc
Posts: 400
Joined: Thu Apr 23, 2009 7:23 am
Location: Australia
x 19
Contact:

Re: ROAM Planet rendering

Post by DavlexDesign »

G'day Zonder,

Yeah, I have a climate system in there, it's not really functional just yet (well, I'm not using it yet) but it is already in there, and being calculated on the fly.
As for the water, well that is it's own baby, separate from the terrain, but not, if that makes any sense, as in, the water system is a completely separate system, but actually takes the terrain system into account, I don't know exactly how to explain it, but I don't have maps as such, well not in the conventional sense of the word. I use my mesh as a dynamic Octree as such, as it is a perfect pre lodded system from step 1 to what ever step it needs (or I allow it) to get to.
Mesh structure while on the ground.
Mesh structure while on the ground.
The above picture shows the layout of the mesh while running around on the ground, I know it looks a mess, but it actually isn't, there is real structure to it. Even as complex as it looks, I can spin on the spot while on the ground at a pretty brisk pace, and the system keeps up quite well, while only utilizing a really small percentage of cpu power, even with the threading switched off, it still runs perfectly fine. I made sure of that because games have allot more than a terrain to worry about, and this thing would be useless if it needed all of the cpu to keep itself running smoothly.

I can utilize an almost unlimited number of layers per vertex, obviously I don't, because I want this thing to run nice on a conventional computer, and not need a super computer to drive it. I have very quick access to any vertex and it's neighbors, any triangle and it's neighbors, as well as any page and the list goes on. I have gone to great pains to keep the system in a sensible and logical order in ram, as like I've mentioned before, this thing can shove a triangle split anywhere in the mesh at any time, and I needed that efficient.

OOPS!!! I rambling aren't I ? I keep doing that to poor sovaka on msn, poor bugger, he throws in a little question, and I go on for hours dreaming up ways to accomplish one of his many wishes. He must have the patience of a saint sometimes.

To cut a long story short, NO, I'm not using maps for the water, it's all procedural, and that was the aim of this thing from the start If I remember correctly.

Alex
User avatar
Jabberwocky
OGRE Moderator
OGRE Moderator
Posts: 2819
Joined: Mon Mar 05, 2007 11:17 pm
Location: Canada
x 218
Contact:

Re: ROAM Planet rendering

Post by Jabberwocky »

Cool to see so much action (and eye candy!) on this lately.
palaslet wrote:I can see from your screenshots that the colors have no variance over large areas. What I mean is that in real nature, a large area of grass will have great variances in green shades.
Same will apply for stone, sand and ultimately all surfaces.
The old school way of achieving this is to use a detail map, like terrain_detail.jpg that comes with Ogre 1.7. You do a regular texture lookup on the detail map (just like for your other textures), and multiply the diffuse, or final pixel colour by this value. Or you could get fancy and do a saturation calculation instead. It may look best to scale the uv for your detail texture lookup based on the camera height above the terrain, in order to avoid too-large or too-small pixels. Although I don't know if this shifting uv-scale would make it look weird as you descended towards the planet surface or not.

- edit: although this assumes you even have UVs on your terrain, like the Ogre::TerrainComponent would. Maybe you don't, I don't know anything about ROAM.
Image
User avatar
DavlexDesign
Orc
Posts: 400
Joined: Thu Apr 23, 2009 7:23 am
Location: Australia
x 19
Contact:

Re: ROAM Planet rendering

Post by DavlexDesign »

G'day Jabberwocky,

Yes I have uvs all right, actually 3 sets per surface terrain vertex would you believe, one set holds the terrain slope and altitude (0.0 to 1.0) for lookup in the index map, one set holds the page uvs for tiling across the page face, and another set that encompasses all the pages for the unit sphere face for when I switch out to a simplified sphere mesh for far viewing, before I turn it into a sprite/billboard.

As for the scaling uvs, I'm already doing that for the page uvs, when in outer space, I'm only tapping the atlas once or twice per pixel, when I hit the ground, I'm tapping a few times more per pixel and basing the final color from those taps, as well as tinting according to the diffuse in the tile index look up map. So, it doesn't look strange when using dynamically scaling uvs, as long as you use the right numbers, which is a pretty simple formula to work out.

I will be playing with maps shortly, but only for areas that are artist driven (if need be), mainly for conventional levels that can be tacked into this things mesh. I think that will probably be a necessity for a would be user of this system, so that their asset pipeline isn't affected too much.

Alex
palaslet
Halfling
Posts: 61
Joined: Tue May 25, 2010 7:52 am
Location: Fredrikstad, Norway

Re: ROAM Planet rendering

Post by palaslet »

Alex,

Have you ever considered procedural textures? http://en.wikipedia.org/wiki/Procedural_texture

Just to get it all procedural :)
"It seems that perfection is reached not when there is nothing left to add, but when there is nothing left to take away"
palaslet
Halfling
Posts: 61
Joined: Tue May 25, 2010 7:52 am
Location: Fredrikstad, Norway

Re: ROAM Planet rendering

Post by palaslet »

And what I meant when talking about the variation of saturation or alphachannel was not to implement a guassian algorithm, but rather utilize perlin noice to generate fractional brownian motion to use as a alphachannel map.

Here's the wiki for that if someone is interested: http://en.wikipedia.org/wiki/Perlin_noise
"It seems that perfection is reached not when there is nothing left to add, but when there is nothing left to take away"
User avatar
DavlexDesign
Orc
Posts: 400
Joined: Thu Apr 23, 2009 7:23 am
Location: Australia
x 19
Contact:

Re: ROAM Planet rendering

Post by DavlexDesign »

G'day palaslet,

Yes I have and am looking into procedural texturing, something high on my to do list.

OH, just toying around with the clouds, and sort of enhanced the current from space look, more procedural texturing.
The clouds look OK now, just got to setup the closup stuff.
The clouds look OK now, just got to setup the closup stuff.
You can see now that the clouds actually respond to the suns position, giving them a depth, as they actually sort of self shadow, I'm now working on the real nitty gritty of it now, so we will be able to fly through them properly.
Cloud look from the ground.
Cloud look from the ground.
And another shot from on the ground.
And another shot from on the ground.
Also, they are starting to look thicker from under them also, I will start with the procedural detail soon, to give them real definition, and real depth.

Alex
User avatar
aguru
Goblin
Posts: 236
Joined: Tue Feb 26, 2008 5:48 pm
x 3

Re: ROAM Planet rendering

Post by aguru »

:shock: Wow, that's some insane visual progress in the last few days!! I was waiting for this moment where the groundwork gets the visual representation it deserves. love what you are doing :)
palaslet
Halfling
Posts: 61
Joined: Tue May 25, 2010 7:52 am
Location: Fredrikstad, Norway

Re: ROAM Planet rendering

Post by palaslet »

Alex,

Will this engine apply ROAM on all meshes? Even trees/flora and artist generated stuff?

Would be cool if artists could design without any polygon budget, and the engine would do the triangle optimization. Maybe with a threshold to keep it from being one giant triangle in the distant, and maybe with double the detail of the terrain to keep it real.

Just a thought...
"It seems that perfection is reached not when there is nothing left to add, but when there is nothing left to take away"
User avatar
DavlexDesign
Orc
Posts: 400
Joined: Thu Apr 23, 2009 7:23 am
Location: Australia
x 19
Contact:

Re: ROAM Planet rendering

Post by DavlexDesign »

G'day aguru,

Thanks for the vote of confidence mate, much appreciated, makes me more keen to keep going.

G'day palaslet,

ROAM on all the objects is sort of in the wind, I think I mentioned a while back, that I have a tessellation system I'm working on, it works, but not flawlessly, it's a sort of ROAM on the GPU for arbitrary meshes, based on some stuff from NVidia, but with my very own slant on the thing, reduces draw calls, and makes it run a shit load faster than what others are doing, on DX9.0c to boot. Would be nice to use DX11 stuff, but this thing is comparable to that, but not without its glitches.

It's still a work in progress, so please be patient.

Alex
User avatar
DavlexDesign
Orc
Posts: 400
Joined: Thu Apr 23, 2009 7:23 am
Location: Australia
x 19
Contact:

Re: ROAM Planet rendering

Post by DavlexDesign »

G'day guys,

Fiddled with the clouds a bit after tea, and got this result.
New Detailed Cloud Map from high orbit.
New Detailed Cloud Map from high orbit.
Detailed clouds from the ground looking over a barron area of the terrain.
Detailed clouds from the ground looking over a barron area of the terrain.
Detailed clouds from one mountain looking across a valley to another mountain
Detailed clouds from one mountain looking across a valley to another mountain
I got these results by adding in a 256x256 normal mapped perlin noise texture, tacked it into the shader so that it reacted with the sunlight and took on a little of the sky color, told it to increase the lighting where the clods are thinner, to give the clouds a halo as such, and the normal mapping gave it a self shadow effect. I think it all worked a treat, and cheap to render too, as it hasn't hit the frame rate at all.
The thing that I really like, is that this look goes planet wide, and this planet is no marble.

I know there is no real depth to them yet, but that will come, I'm just pretty happy with the look, and this will only be the base line look, when you get close, that's when this thing will really look nice (I hope).

What do you guys think of it so far ?

Alex
User avatar
DavlexDesign
Orc
Posts: 400
Joined: Thu Apr 23, 2009 7:23 am
Location: Australia
x 19
Contact:

Re: ROAM Planet rendering

Post by DavlexDesign »

G'day again guys,

Don't mean to boor you with this, but these following pics, show more of the effect with different lighting angles and conditions.
This one shows the finer lighting interaction better.
This one shows the finer lighting interaction better.
And a better look in higher orbit.
And a better look in higher orbit.
And now when just inside the atmosphere.
And now when just inside the atmosphere.
I don't know if you noticed this, but it seems to me, that the more I add tho this thing, the faster it is going, how does that work ???
Have a look at the frame rates on these shots, I don't get it, but I'm not arguing with it.

The question still stands, as to what do you think ?

Alex
User avatar
Chris Jones
Lich
Posts: 1742
Joined: Tue Apr 05, 2005 1:11 pm
Location: Gosport, South England
x 1

Re: ROAM Planet rendering

Post by Chris Jones »

You are definitely not boring me at least, the more updates the better! Good work!
palaslet
Halfling
Posts: 61
Joined: Tue May 25, 2010 7:52 am
Location: Fredrikstad, Norway

Re: ROAM Planet rendering

Post by palaslet »

This looks real great. The clouds add much realism to the planets just as with the waves on the sea.

Would love to see this with multiple layers of clouds, and more depth of course :)
"It seems that perfection is reached not when there is nothing left to add, but when there is nothing left to take away"
User avatar
DavlexDesign
Orc
Posts: 400
Joined: Thu Apr 23, 2009 7:23 am
Location: Australia
x 19
Contact:

Re: ROAM Planet rendering

Post by DavlexDesign »

Sorry guys,

Fiddled around a little with the shader to see if I could get a real nice look at dawn and the way the sky looks behind you at dawn, here is the result so far.
Here's the look looking towards the sun.
Here's the look looking towards the sun.
And here's the sky behind you at that point
And here's the sky behind you at that point
I think I am getting there, I know, I Know, my water shader is crap !!!, I will work on that soon too.

Alex
LordBaal
Halfling
Posts: 55
Joined: Thu Mar 31, 2011 9:43 pm
x 2

Re: ROAM Planet rendering

Post by LordBaal »

Simply breathtaking.
User avatar
DavlexDesign
Orc
Posts: 400
Joined: Thu Apr 23, 2009 7:23 am
Location: Australia
x 19
Contact:

Re: ROAM Planet rendering

Post by DavlexDesign »

G'day Guys,

I was looking at Lingfors' Atmospheric scattering and liked it so much, I thought I'd see if I could pull it off with my system, and here is the result so far...
Test of altitude and distance based scattering.
Test of altitude and distance based scattering.
I can't use any of those systems like O'Neils' and that because of the way they do their calculations, and the limitation of standard floating point numbers in the shader, Well, maybe it's a limitation of my math skills, I don't really know, but I could never get those systems working on this thing. I'm still working on the sky shader too, it's never been quite right in my opinion.
Test atmospherics from space.
Test atmospherics from space.
It's allot better than it has ever been I think, looks better from outer space too now, but still not quite right.

Alex
User avatar
DavlexDesign
Orc
Posts: 400
Joined: Thu Apr 23, 2009 7:23 am
Location: Australia
x 19
Contact:

Re: ROAM Planet rendering

Post by DavlexDesign »

G'day again Guys,

Just fiddling with the atmospherics again, but this time I added in a little noise and adjusted some of the parameters a little, to make the scattering look more like it should, and not in London on a winters morning.
Atmospherics with a little noise added, and toned down a little.
Atmospherics with a little noise added, and toned down a little.
I think it looks better, I'll see if I can fix up my sky shader too now, because I need that right to make the clouds look right too, as I will be using the base colours from the sky and the ground to affect the over all shades of the clouds, as they have their own sub surface scattering too, and should be affected by the mountains as well when they are moving over and or trying to go through them.

Wish me luck.

Alex
Arkiruthis
Gremlin
Posts: 178
Joined: Fri Dec 24, 2010 7:55 pm
x 10

Re: ROAM Planet rendering

Post by Arkiruthis »

These screenshots are massively inspiring, thank you so much for sharing these! Amazing what some people are up to. :)

In my mind I'm dreaming of an Elite IV with this engine. :lol:
LordBaal
Halfling
Posts: 55
Joined: Thu Mar 31, 2011 9:43 pm
x 2

Re: ROAM Planet rendering

Post by LordBaal »

Imagine walking an army trough those fields!!! :D
User avatar
DavlexDesign
Orc
Posts: 400
Joined: Thu Apr 23, 2009 7:23 am
Location: Australia
x 19
Contact:

Re: ROAM Planet rendering

Post by DavlexDesign »

G'day guys,

Just playing around with the atmosphere again, but this time I am working on the atmosphere transparency, so bodies outside of the atmosphere can be viewed correctly.
Here's the result so far ....
Atmosphere Transparency test from outer space.
Atmosphere Transparency test from outer space.
Atmosphere Transparency Test from closer orbit
Atmosphere Transparency Test from closer orbit
Atmosphere Transparency Test from inside the atmosphere at ground level.
Atmosphere Transparency Test from inside the atmosphere at ground level.
Now don't be fooled by these pics, I picked the nicest ones, I still have some issues with transparency when the sun is at different angles, but I am very close to getting that all solved.
OH and by the way, the Gas Giant is approximately 20 million km away from the small planet, so it's a huge body. (Avatar anyone !!!).

Alex
User avatar
DavlexDesign
Orc
Posts: 400
Joined: Thu Apr 23, 2009 7:23 am
Location: Australia
x 19
Contact:

Re: ROAM Planet rendering

Post by DavlexDesign »

G'day again,
Atmosphere Transparency from way out.
Atmosphere Transparency from way out.
Scale comparison of Earth to Gas Giant.
Scale comparison of Earth to Gas Giant.
As you can see, that Gas Giant is quite large.

Alex
LordBaal
Halfling
Posts: 55
Joined: Thu Mar 31, 2011 9:43 pm
x 2

Re: ROAM Planet rendering

Post by LordBaal »

HOLY MOLLY!!! Can we go to the gas giant too??
Post Reply