[GeoWeb3DContest] GML + SSR

Information and updates on Web3D's Rotterdam city data competition geoweb3dcontest at web3d.org
Tue Mar 17 11:54:33 PDT 2015



FD, 

Thanks for your comments. 
Likewise my impression of Rotterdam data: texture heavy.
When I look today in more detail at the Rotterdam AFRIKUUNDERWUK /appearances images, it looks like they may be already mipmapped. Most VRML viewers do their own mipmapping of textures at runtime, so these would end up double-mipmapped.

Perhaps whoever created the data could have converted textures into equivalent vector data, perhaps at a loss of some detail at some LODs, and gain at some others.

If you have a client that's performing well on a high performance computer, one idea is to convert it into an SSR (server-side renderer), like I did with freewrl (a vrml client). Let me know - I can give you some hints/tips. 

-Doug
more..

Here's my vrml server-side renderer URL, I can't tell if it works from inside my firewall, and I will shut it down in a few hours.
http://ssrserver.ddns.net:8080/SSRClient.html
But the idea is to have all the GPU and CPU power on a server. Then mobile gets something very light.
x there's no click/picking implemented yet, just a walk navigation
- but it would take a small additional effort to get a picking click
The client and server-glue code is checked into the develop branch of freewrl
http://sourceforge.net/p/freewrl/git/ci/develop/tree/freex3d/src/SSR/
and it uses libmicrohttp - a C web server.



>
> Our biggest problem in the development of a client capable of rendering
> the whole city comes from the textures.
> Rendering the whole city at LOD 2 in an average PC is doable (mobile?
> not so much), and once you load the 3D model inside the GPU memory it
> renders fast (we get 30+fps with mid range gpu rendering the whole
> city). The trick here is to render big chunks of geometry at once thus
> lowering the number of draw calls, it still needs considerable amount
> of GPU memory.
> Making it fully interactive requires some tricks, you either need to
> hold the whole geometry hierarchy CPU side to do ray-casting/picking or
> to use color picking on the GPU on feature level, the whole geometry is
> rendered on an additional surface buffer where each surface have an
> unique color with which you can get the feature id and access the GML
> data (client or server side).
>
> The problems are the textures, first having a huge number of texture is
> extremely inefficient for the gpu, but even if you merge everything in
> big texture atlases you still have just too much data. The solution
> here is to implement something like id Software
> megatexture http://en.wikipedia.org/wiki/MegaTexture, and some sort of
> aggresive LOD technique. So you will only load the texture in the GPU
> that are actually used in the rendering of the image AND you do not
> load the full resolution texture but only a scaled down optimized
> version of it. When a geometry is close to the camera the full
> resolution texture is loaded and swapped with the old one.
>
> FD
>
> Federico Devigili
>
> Analyst and Developer
>
>
>
> Fondazione Graphitech
>
> Via Alla Cascata, 56/C - 38123 Trento – Italy
>
> Office: +39 0461 283397
>
> Fax: +39 0461 283398
>
> Skype: fededeviwork
>
> Email: federico.devigili at graphitech.it<mailto:federico.devigili at graphitech.it>
>
> Website: http://www.graphitech.it<http://www.graphitech.it/>
>
> On Mon, Mar 16, 2015 at 9:32 PM, Information and updates on Web3D's
> Rotterdam city data competition
> <geoweb3dcontest at web3d.org<mailto:geoweb3dcontest at web3d.org>> wrote:
> One idea for GML is to use it as a format for transmitting data that
> might normally be in a GIS database - the so called attribute tables.
> Once transmitted, it would be put back into geometry files and database
> attribute tables.
>
> If trying to use Web3d -vrml or x3d- to render, one idea is to put ID
> into the metadata for the web3d node. Then when searching for
> relationships, the ID for a picked item would be used to search
> GIS-like database attribute tables. This might allow skipping some or
> all of the cityGML-specific format -instead using X3D+database to
> implement/realize the goemetry and relationships.
>
> Another options is a 2 or 3 or 4 layer system: database, GML server,
> Web3d server, and client with a chain of communications between the
> layers.
> -Doug
>
>>
>> The thing to work out, and make public, would be the web-service
> 'dialog' between client and server, such as how to ask for an overview
> LOD0 map of the area to get started, then how to tell the server the
> client's new viewpoint pose: 3 rotations and 3 translations, and ask
> for a screenshot rendering. Or pose + xy click point, and ask for
> information on the item clicked.
>> - then any compatible client could work with any compatible server
>> -Doug
>> more..
>> I worked out an SSR for virtual reality recently, for freewrl, and
> the client and C web server glue code are checked into freewrl as 'MIT
> or equivalent' license, meaning 'have fun'.
>>
>> I was able to display a bit of rotterdam in vrml, using libcitygml's
> citygml2vrml.exe converter, followed by Chisel's CONDENSE> Create
> DEF/USE (otherwise vivaty/freewrl run out of memory re-mallocing
> textures), then wrapping the result in a Transform with -ve UTM / 3TM
> coordinates of an Point, so as to get the view frustum within near/far
> range of the geometry (vs being at the earths equator with the default
> viewpoint, and not being able to see the neatherlands).
>>
>> Then freewrl renders slow - 1.2 FPS. And that's just for one
> subdivision of Rotterdam, mostly due to what I would call 'heavy
> textures' 1024x1024x4 textures. But I do see 3D buildings.
>>
>> I got Aristoteles to run a bit, but it showed no textures, rendered
> 'zingers' -lines from each piece of geometry to a few arbirary points -
> and was hard to navigate and 'enjoy'.
>>
>> I tried building an SVN copy of Aristoteles but it doesn't build
> right out of the gate. Many of these GML software projects were
> abandoned about 5 years ago. I suspect GML was pushed by geography
> professors and a few cities trying to break ESRI stranglehold. That's
> hard, because most cities don't mind ESRI, have healthy budgets for
> ESRI licenses, and have no interest in anything unconventional/free.
> The general public doesn't need/want detailed GIS relationships. So who
> needs GML is the remaining question.
>> Esri black box server-side rendering of rotterdam:
>> http://www.esri.com/software/cityengine/industries/rotterdam
>>
>> When I look at google maps, and remember back to MS virtual earth,
> they used server-side rendering. What's changed: with webgl now readily
> available, it should be possible to adjust viewpoint pose more freely
> in 3D, including horizontal street views.
>>
>> In freewrl's web3d SSR, I do a 2-step dialog with the server: first I
> send where the client navigated to. Then the server does collision and
> gravity adjustments to that pose, and sends it back. Then when the
> client gets the adjusted pose, it asks for a snapshot in the second
> step. The server renders the snapshot and sends it back, and the client
> pastes it over the navigation grid.
>>
>>
>>
>>
>>
>>>
>>> One idea is to use server-side rendering (SSR) in the following way:
>>> - render GML LOD0, or 1 on the client side in real time, during navigation
>>> - one the viewpoint is pointed where you want it, lift the
> mousebutton/touch. The client then sends the viewpoint pose to the
> server. The server renders that viewpoint using LOD3 or 4, and sends
> back an overlay image.
>>> - you can then click on the overlay image, The client sends
> viewpoint, and point of clicking, back to the server
>>> - the server constructs a pickray and picks the LOD3,4 geometry,
> gets the IDs, looks up info in a database and sends back to the client.
>>>
>>> Benefit: client stays 'light', and server does all the heavy work.
>>> - client needs a bit of webgl for rendering LOD0 and/or 1, and for
> navigating
>>>
>>> -Doug
>
>
> _______________________________________________
> GeoWeb3DContest mailing list
> GeoWeb3DContest at web3d.org<mailto:GeoWeb3DContest at web3d.org>
> http://web3d.org/mailman/listinfo/geoweb3dcontest_web3d.org
>
>
> _______________________________________________ GeoWeb3DContest mailing
> list GeoWeb3DContest at web3d.org
> http://web3d.org/mailman/listinfo/geoweb3dcontest_web3d.org
 		 	   		  


More information about the GeoWeb3DContest mailing list