[GeoWeb3DContest] GML + SSR

Information and updates on Web3D's Rotterdam city data competition geoweb3dcontest at web3d.org
Wed Mar 18 08:08:56 PDT 2015


> Doug,
>
> Our current renderer wroks at interactive frame rates, but without textures.
> It uses java applet and JOGL and a custom format for streaming geometry
> data from a servlet parsing the CGML.

OK I know little of Java. Thinking of SSR,
Q1. is there a way to run the applet as a standalone app -no web browser?
Q2. can I talk on ports?
Q3. is there a way to do a screenshot of the app and save to disk?
If so then one idea is to run it on your data server -where data is all handy- have it pre-load all the data, run as a scene. But once per frame it would check for messages on a port. If there's a message, it would see if it's a camera pose, and if so it would navigate to that pose, do a snapshot, and send the snapshot back on the port
There would be glue code for the server that would manage sessions - sending the snapshot back to the correct requester.
If you get 60FPS on the server, then you could serve ~O(60 requests/s) with one server machine.

>
> http://iscope.graphitech-projects.com/indexTest.html
> To load Rotterdam press ctrl+0->testing->LoadCustom Pilot->Rotterdam
> and navigate to the area.
>

On the Testing tab, Rotterdam always 'whitescreens' (applet crashes?) for me (windows 8.1, i5 with intel graphics, Chrome, not sure what Java version) and Chicago and Trento never seem to load - the world is all I see.
On the Pilots tab, I visited CLES and TRENTO - they look great. Nice work on the software and datasets.  I can get the orthophoto, 3D terrain. I see color, or color index when picking - I gather that's what you would send to the database as ID, or use to look up ID, to get info on an element.


> Also there are other datasets:
> http://iscope.graphitech-projects.com
>
> We do support some sort of texturing but it is very specific to this
> project and it consist in applying an orthophoto on top of buildings
> roofs.
>
> Also, btw, how do we actually apply to the contest? Do we have to
> prepare a presentation document?

I have no idea. It's very vague. The prize is 'financial assistance' to go to Crete. But $1/EU 1 could be considered assistance. So between vague rules, vague prize and vague entry procedures I suspect there's no real/sincere contest. Hypotheses:
H0: it's an attempt to breath life into a dying 'sport' by making it seem somehow alive with exciting contests. 
H1: its 'rigged' and the winner has already been decided.
H2: prize is vague out of necessity because the financial viability of the crete conference is in question

I'm not here to enter or win myself -no time for Crete- just to learn a bit. I did 15 years of photogrammetry including DEM/DTM, orthophoto, satellite, cadastral, GIS software and projects, then 'threw in the towel' and switched over to game programming and virtual reality. This topic seems to recombine the two a bit - some GIS, some orthophoto, some virtual reality.

>
> 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 Tue, Mar 17, 2015 at 7:54 PM, Information and updates on Web3D's
> Rotterdam city data competition
> <geoweb3dcontest at web3d.org<mailto:geoweb3dcontest at web3d.org>> wrote:
>
>
> 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><mailto: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><mailto: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><mailto:GeoWeb3DContest at web3d.org<mailto:GeoWeb3DContest at web3d.org>>
>> http://web3d.org/mailman/listinfo/geoweb3dcontest_web3d.org
>>
>>
>> _______________________________________________ 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<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