PDA

Vollständige Version anzeigen : First test inside Gaia Worlds


Jules Verne
20.July2007, 18:21
Hi there!

Ok as promised, a few screenshots from the engine, which I decided to call Gaia, it seemed appropriate hehe.

Please excuse the low quality, its very early stages yet, and making things look super pretty and putting plants and tree's everywhere is something that will come later on. I'm concentrating more on getting the meat of it working before I start to worry about the neat looking extras.

Saying that, adding a full screen glow had to be done lol. I don't know, I just like full screen glow effects over HDR effects. Not to mention it's less taxing.

Currently the perceived view distance is just over 20km. But I would think that will definitely shrink as time goes on. I'm aiming for around 5km, maybe 10. I don't really think there's a need to have it further than that, as you wouldn't be able to see much besides very basic (and low poly) distant terrain.

The way the whole thing works right now, is there are no actual lights on the terrain. Everything that appears to be lit is simply nothing more than textures which are baked into the model with a pre-rendered software. The reason for this is, its less work for the computer, and it actually makes things such as day/night cycles very easy, even if it isn't 100% realistic (no crawling shadows for example) To give the impression of day and night, the brightness/tint of the textures are changed. When you add in other effects such as a sun moving through the sky and changes in the sky itself, clouds and so on. It can look surprisingly believable, for a game anyway.

Course, anything that moves will be lit in realtime, but buildings, terrain etc. don't need to be lit like that. It also allows me to create a number of visual effects without without requiring the use of specific shaders. Meaning it becomes more backwards compatible, meaning more people can run it without having to buy top of the line hardware, just to see it looking good.

Here's an example of the process (which is no different to how games have been textured/lit for years, only the compiling is done in a professional 3D application)

http://img530.imageshack.us/img530/5928/renderedpicsg8.jpg
This first example is a pre-rendered image, took about 8 minutes, only a very fine global illumination solution to light it.


http://img505.imageshack.us/img505/172/realtimepicww0.jpg
The same image, only displayed in realtime. Very little difference visually.

The setback being increased amount of textures used (larger amount of HDD space required). And preventing world based objects from being able to move (the shadowing wont follow them as its all static) So the method does have its cons, but I think for increased visual appearance, they can be overlooked (so no physics engine for me!) :)


Ok onto the actual Gaia images.


Obviously the sky in these examples is nothing more than a photograph. I didn't have the time to make a proper sky yet.

http://img514.imageshack.us/img514/5696/gaia1cw3.jpg

http://img514.imageshack.us/img514/2770/gaia2gk2.jpg

This final image should I hope show my need for being able to tile the terrain and generate higher quality tiles from that one master terrain. As you can see, when you start to get in closer, currently the edges are very straight, with sharp corners. Caused because there isn't the height data available at that resolution for the terrains polygons to use. To avoid that problem, a simple heightmap would be cut up into smaller pieces, with each of those increased in size, at the same time the detail in each tile would increase, like a Mandelbrot image. See what I mean? Which would then allow for more detail closer up. To a point anyway, there's a limit on how many polygons I'm allowing per tile, to take into account everything else that's going to be viewable at the same time. But even just a slight improvement in detail on the terrain will almost instantly remove the unrealistic straight edges and sharp corners.

That would let me build the entire terrain in one piece. Get everything where I want it to be, the overall appearance of the terrain, then cut it up into smaller tiles, each of those having increased definition. It would be kind of like creating a terrain on a huge huge huge single image. Only by using tiles, the resources required to work with it drop significantly.

Jules Verne
20.July2007, 18:22
http://img514.imageshack.us/img514/2047/gaia3bv2.jpg

One last image (couldn't fit it in above, 4 image limit per post)

cajomi
20.July2007, 18:37
looks very promising!!
What is at time the max tile resolution?

Jules Verne
20.July2007, 19:00
Thanks! Early days yet but its getting there! :)

Each tile is a maximum (at the moment) of 1000x1000 polygons with each tile representing 1km². However those aren't all displayed at once (instant PC death!) If you imagine there's a collection of circles of influence around you, beyond which, the terrain is displayed one level down from the previous circle. So the closest area around you would be at 1000x1000, then the further out you go, the less polygons are used. It uses the same subdivision style as the terrain editor Earth Sculptor rather than using straight grids of different polygon resolution, which gives a smooth transition between terrain resolutions and works across discontinuous tiles. Depending on how things go, the resolution of that could be increased or decreased. Perhaps for people with very high end hardware who want incredibly fine details even?

So a heightmap on each tile of 1024x1024 would be enough to give it enough detail in the current version. The heightmap itself isn't actually used beyond the creation process. As each tile exists as an object on its own. The way I do it is just take a grid, add any UV's it needs, displace it with a 16bit heightmap, and thats the object thats used for the terrain. Meaning the engine doesn't need to spend time displacing terrain grids in realtime (again it has the disadvantage of making such things completely static, so no huge mountains appearing out of the ground suddenly hehe)

Jules Verne
20.July2007, 19:20
http://www.ernestszoka.com/tstriplod/tstrip.htm
This site explains the method for the subdivision LOD effect.

http://www.ernestszoka.com/tstriplod/T-Strip%20LOD.zip demonstration version. You almost can't even see the change in LOD, and where it is visible, its very smooth