[GeoWeb3DContest] GML + SSR

Information and updates on Web3D's Rotterdam city data competition geoweb3dcontest at web3d.org
Fri Mar 20 01:09:07 PDT 2015


It financial support depends on the flight costs for obvious reasons. Flight costs usually depend on distance. The main reason for the competition is that we would like to see people using 3D city models as benchmark (not only the Stanford bunny) to be able to compare web based visualization of geospatial data. Unfortunately, 3D city models are usually not freely available. But the city of Rotterdam made their model open data, so everyone can make use of it. 

> Also, btw, how do we actually apply to the contest? Do we have to 
> prepare a presentation document?

We expect a short paper / extended abstract to highlight the approach and a link to the implementation. I will create a small guideline on what we expect the next days.

Deadline is extended to 15. April. 

Regards
    Volker


----------------------------------------------------------------------------- 
 
Prof. Dr. Volker Coors
Studiendekan Informationslogistik
Hochschule für Technik Stuttgart
University of Applied Sciences
Fakultät Vermessung, Informatik, Mathematik Schellingstr. 24
D-70174 Stuttgart

fon: +49 (0)711 8926 2708
     +49 (0)711 8926 2606 (Sekretariat)

fax: +49 (0)711 8926 2556

email: Volker.Coors at hft-stuttgart.de

www.coors-online.de








-----Ursprüngliche Nachricht-----
Von: GeoWeb3DContest [mailto:geoweb3dcontest-bounces at web3d.org] Im Auftrag von Information and updates on Web3D's Rotterdam city data competition
Gesendet: Mittwoch, 18. März 2015 16:09
An: geoweb3dcontest at web3d.org
Betreff: Re: [GeoWeb3DContest] GML + SSR


> 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 grap
> hitech.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:ge
> oweb3dcontest 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:Geo
> Web3DContest 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
 		 	   		  
_______________________________________________
GeoWeb3DContest mailing list
GeoWeb3DContest at web3d.org
http://web3d.org/mailman/listinfo/geoweb3dcontest_web3d.org




More information about the GeoWeb3DContest mailing list