Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

This is a really impressive demo. Most virtual globes (e.g. Google Earth) separate the terrain, surface image and building data. Normally, these are sent to the client separately and merged in the graphics card: the surface image is texture mapped onto the terrain, and then the building data is drawn separately on top. Special routines are used to draw trees (e.g. billboards).

What Nokia have done here is to merge everything - terrain, surface image, buildings and trees - into the same model. They're still using the classic chunked level of detail approach, just with more complex models, which the graphics card handles with ease.

This requires more work on the server side to prepare the data, but once it is done it is really fast for the client. The main disadvantage is that the data ends up being very static - you can't move objects around, for example.

P.S. I'm currently working on open source WebGL globes like OpenWebGlobe (www.openwebglobe.org) and WebGLEarth (www.webglearth.org). If you're interested in this sort of thing, I recommend reading www.virtualglobebook.com .



What? It's not just merging the different datasets into models, it's an complete accurate 3d model of terrain from C3 Technologies (now owned by Apple, btw), they take thousands of low-altitude photos and do a photosynth-esque reconstruction.


Lot of webGL these days. As you are directly working on this technology, I would like to know how the future of it is going to be?


I think the future for WebGL is very bright, especially as it becomes more widely available on mobile, and a full screen mode with mouse capture gets added on the desktop (critical for games).

A little more here: http://news.ycombinator.com/item?id=3429641


Mmmh sorry but I have to disagree with you. I can't let you tell this without some corrections, non-expert people could take it as it is.

In short, your post is mainly uninformative.

>> Normally, these are sent to the client separately and merged in the graphics card

It means nothing. You moreover can't really know what the batching and draw calls scheme is in google earth nor in this nokia 3D maps.

>> Special routines are used to draw trees (e.g. billboards).

Mmmh. Ok ok. 3d applications are complicated, there is special routines for a lot of things btw...

>> What Nokia have done here is to merge everything - terrain, surface image, buildings and trees - into the same model.

I agree with that.. vulgarly. It does not mean there is one mesh and it isn't. It can be confusing. What you mean is there is one skin.

>> They're still using the classic chunked level of detail approach, just with more complex models, which the graphics card handles with ease.

You don't know what the chunks and lod algorithm is and i guess it might be very innovative. Or not. Well but you are talking about the global chunked lod approach so you re right, but it can be very confusing. The LOD algorithm is probably very innovative.

>> This requires more work on the server side to prepare the data, but once it is done it is really fast for the client. The main disadvantage is that the data ends up being very static - you can't move objects around, for example.

This is just false. Please don't take it bad, people may be deceived by that and this is as false as possible. There is actually no benefit to explain why but it could looks like "there isn't any more server side preparation because the mesh is not construct on the fly, this is not faster in the client - you can't say it - it depends highly on the draw calls scheme, the vertex complexity, the textures fetches etc. etc. and the data are static you are right but yeah it is highly doubtful - 3D programmers are smart, take the example of moving BSPs in the quake engine, who could have say that BSPs can move...".

Anyway, thank you very much for the links and references, they are pretty interresting.

edit: please note that I'm trying to do all the efforts to make this post as constructive as possible.


>>> Normally, these are sent to the client separately and merged in the graphics card > It means nothing. You moreover can't really know what the batching and draw calls scheme is in google earth nor in this nokia 3D maps.

Install WebGL inspector http://benvanik.github.com/WebGL-Inspector/ and you can see exactly what batching and draw calls are used in Nokia 3D maps :-)

Disclaimer: I haven't looked at this in detail, my statements about the grouping of single LOD objects was based on watching how the image changed as data was progressively loaded.


Hehe, I should have be direct the first time. You are positive trolling. Your post is just spamish technical uninformative bullshits.

>> these are sent to the client separately

in different socket packets? in different ports? in different 'gameobjects'? in different 'line of caches'? in different 'structs'/'classes' or in different meshes? sorry but in this case, meshes and classes are not 'send-able' into a network...

>> merged in the graphics card

sorry but graphics cards have no "merge" function at all - I mean, it has no sense again.

and so on...


I don't think I'm the troll here.

The client is the WebGL application running in the user's browser. It requests the appropriate data from the Nokia's server for the area that the user is looking at. This is what I mean by "being sent to the client".

By "merged in the graphics card" I mean that the final image is composed in the graphics card.

Have a look at vterrain.org to get an idea of how these things work.


I knew I was right.

You were going to deceive people with an aggregate of technical non-senses and obviousnesses mixed with some good links.

I knew that your initial post was as empty as what you are saying now: the server is sending data (and the right one bob!) to the client, then the graphics card is composing the images (Dude!) and the cpu is executing some special instructions.

Good-Boy, right?

But.

It's a fact, people penalized me. I understand, (ultra)positive attitude is prefered over kindof technical and scientific honesty and demand. Even my bug report has been down-voted a lot =) Bugs are negative gnaaaa :>

Why not. I guess I have to apologize then.


I'd suggest that you probably got downvoted for saying things like "This is just false ... There is actually no benefit to explain why ...". Most of your responses provided very little information other than to disagree with the post you replied to.

Technical corrections can add a lot of value, but that kind of attitude overshadows any useful value you might have added to the discussion, and it makes it look like you don't intend to add any value at all. Effectively, it made your entire post look like a verbose "Nuh-uh!".


Well, you are right.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: