Huge Map Rendering

Discuss about anything related to the Irrlicht Engine, or read announcements about any significant features or usage changes.
Post Reply
dlangdev
Posts: 1324
Joined: Tue Aug 07, 2007 7:28 pm
Location: Beaverton OR
Contact:

Huge Map Rendering

Post by dlangdev »

Image
JP
Posts: 4526
Joined: Tue Sep 13, 2005 2:56 pm
Location: UK
Contact:

Post by JP »

Basically a lot of it is to do with really efficient culling i think. As standard irrlicht just does Frustum culling but nadro and blindside have been working on occlusion culling too which would allow much more for these sort of large worlds. Resource management is of course another thing you need to worry about. Basically irrlicht can do it, though not on its own, you need to do a lot of work on your side as well to give it extra features.
Image Image Image
BlindSide
Admin
Posts: 2821
Joined: Thu Dec 08, 2005 9:09 am
Location: NZ!

Post by BlindSide »

First make a beautiful map like that, then worry about performance :lol:
ShadowMapping for Irrlicht!: Get it here
Need help? Come on the IRC!: #irrlicht on irc://irc.freenode.net
dlangdev
Posts: 1324
Joined: Tue Aug 07, 2007 7:28 pm
Location: Beaverton OR
Contact:

Post by dlangdev »

I'm eyeing that possibility, only if and only if I get the diffuse+normal+lightmap shader implemented, that would surely get me to the next level of city map level making. Add to that the possibility of adding cubemaps in there as well.

Maybe in few months, maybe in a year or two, it will come when my test programs show some form maturity and good workmanship.

I can't believe the columns look rounded and they appear to be high-polys, though.
Image
ultramedia
Posts: 175
Joined: Wed Dec 20, 2006 12:04 pm

Post by ultramedia »

still working just as hard as ever in that direction ;)
dlangdev
Posts: 1324
Joined: Tue Aug 07, 2007 7:28 pm
Location: Beaverton OR
Contact:

Post by dlangdev »

Here is one test I made.

This test went pretty well that the next test will be composed of twice or maybe quadruple the size of the current.

Image
Image
JP
Posts: 4526
Joined: Tue Sep 13, 2005 2:56 pm
Location: UK
Contact:

Post by JP »

And? What were your findings?

Posting screenshots is all well and good but we can't guess what your results were. If you've nothing useful to post you might do better not posting it ;)
Image Image Image
dlangdev
Posts: 1324
Joined: Tue Aug 07, 2007 7:28 pm
Location: Beaverton OR
Contact:

Post by dlangdev »

Here's another test I made.

I'm currently studying global positioning coz later on these buildings will have geotags so they can be automatically placed in the scene.

I'm kinda tempted of writing a racing game on this map. It's just too tempting.

I need to control myself coz I need to study instead of playing in this map.

All in good fun.

Image

Image

Image
Image
dlangdev
Posts: 1324
Joined: Tue Aug 07, 2007 7:28 pm
Location: Beaverton OR
Contact:

Post by dlangdev »

So, I found the diagram showing the concept. I'll have to use that to define the world, though. One big huge 3D world.

Image

Reference: http://www.ngs.noaa.gov/TOOLS/XYZ/xyz.html
Image
full.metal.coder
Posts: 68
Joined: Sat May 10, 2008 11:30 am
Contact:

Post by full.metal.coder »

whoa, wait... you discovered spherical coordinates? :roll: You haven't done much physics so far have you? Anyway I don't really see how this is gonna help you rendering big things. I really doubt any individual can afford hardware that can render a whole planet with speed and a level of detail suitable for games other than space combat where planets are just decorations... But if you really have something in mind I'm all ears :)
torleif
Posts: 188
Joined: Mon Jun 30, 2008 4:53 am

Post by torleif »

LOD for dynamic meshes and hidden surface determination for static meshes


That should be enough for any engine. It's up to the user to make Level of Detail for his meshes, but I think Occlusion culling should be up to the engine. I don't know if irrlicht uses it
dlangdev
Posts: 1324
Joined: Tue Aug 07, 2007 7:28 pm
Location: Beaverton OR
Contact:

Post by dlangdev »

I recently found out spherical coordinate can be projected onto a flat plane, using the mercator map.

See: http://science.nasa.gov/Realtime/rocket ... cator.html


Not the whole planet, only a small patch can be rendered at a time.

Of course, all these are being done as experiments, basically R&D.

Plus, this is the cheapest form of entertainment, you get to create something, put a story into it, make something move inside the virtual world. Do I need to go out and pay for entertainment?

Here's my latest upgrade on that scene. Basically, breaking them down into bits-n-pieces, componetize them into Lego-like blocks.

Image
Image
full.metal.coder
Posts: 68
Joined: Sat May 10, 2008 11:30 am
Contact:

Post by full.metal.coder »

Ok so what you're trying to do (correct me if I'm wrong) is :
* creating huge (planetoid) worlds using geographic coordinate to place object
* load scenes with patches of this world

Two important things to take into account :
* there are several different ways to project spherical coordinates into a plane, mercator projection is only one of them. http://en.wikipedia.org/wiki/Map_projection
* as explained in the above article ALL these projections induces distorsions (the farther from equator, the more distorted in mercator projection for instance)

Now if the distortion is not a problem for what you're doing I suppose all the maths involved are likely to be a bottleneck so it might be interesting to do the projection outside of the app and load the projected data.

On a completely unrelated note I'd be pleased if you could send me that city map of yours because I'm trying to get occlusion culling to work in Irrlicht and until now I did not have significant speed up but that's probably because the scenes I used where not big enough.
dlangdev
Posts: 1324
Joined: Tue Aug 07, 2007 7:28 pm
Location: Beaverton OR
Contact:

Post by dlangdev »

I really don't have the answers to your very good questions, I wish I do have them, as you probably can tell there's a lot of things I don't know about and this voyage into the unknown is just me showing how stupid I am in the face of all these huge and infenetissimal collection of knowledge.

I'm taking it one step at a time, while having fun along the way.

Well, the server will manage the geo-science of it, whatever it will be called. While the client will have no clue what's going on, all they see is a map with a scene definition. That's all I have at the moment, and slowly inching my way into the fog.

That is, so to speak, very exciting!

I will send you a sample level map, though as you can see, it's barely begun. Give me some time to reach a reasonable level and they will be sent your way.



Image
Image
full.metal.coder
Posts: 68
Joined: Sat May 10, 2008 11:30 am
Contact:

Post by full.metal.coder »

you probably can tell there's a lot of things I don't know
I doubt I can, just trying to put hundreds of hours of maths/physics lessons to some use (at last). Irony is as sweet and addictive as Genuine Imitation Ovalkwik and even if this one was not half as fun as rogerborg's gems it made me smile so thanks anyway. :)
as you can see, it's barely begun
Given my modeling/texturing-fu it looks a lot more than "barely begun"... As far as I'm concerned, "barely begun" ends when the shapes get more complicated than rectangles or textures are applied. :wink:
So even if you do not consider it very polished, I'll welcome a sample map, as long as it has many polys so that it allow me to test occlusion culling.
Post Reply