<div dir="auto"><div>X3D has LOD and GeoLOD nodes but in the end really massive data sets will need to be managed dynamically by a server a la google maps. A while ago, I looked into a way to integrate multi resolution map tiles such as OSM into X3D which worked pretty well, and now the recently standardized cesium 3d tiles would be a good target for a new node.</div><div dir="auto"><br></div><div dir="auto">While opensource may not always fit turnkey requirements, it is major projects which have the potential to benefit most if they can afford support or in house development. Full access and friendly licensing can be important for longer term planning.</div><div dir="auto"><br></div><div dir="auto">A goal is to have native X3D web browser support but the trend for new features for a long time is away from declarative to JavaScript APIs despite the success of html. So this does not seem likely.</div><div dir="auto"><br></div><div dir="auto">Finally, if you are interested in a slightly different take on plugin free x3d in the browser, there is x-ite which is more focused on x3d features and compliance and somewhat less on integration with the web. It has a well organized and modern code base and is actively maintained.</div><div dir="auto"><br></div><div dir="auto">Cheers, Andreas</div><div dir="auto"><br><div data-smartmail="gmail_signature" dir="auto">---on the phone---</div><br><div class="gmail_quote" dir="auto"><div dir="ltr">On Mon, Feb 25, 2019, 3:17 PM Magnus Zeisig <<a href="mailto:magnus.zeisig@tele2.se" rel="noreferrer noreferrer" target="_blank">magnus.zeisig@tele2.se</a> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word;line-break:after-white-space">Hello Andreas,<div><br></div><div>That's a great compilation and overview of sea level change and its effects! Your full Earth 3D scene is really striking. I made my views in pieces because I wanted to use the full resolution of the GEBCO half minute grid dataset, hence the at first glance somewhat odd size and scale, with 667 km in 720 pixels/vertices vertically, but that's just 6° = 360' = 720 x 0.5'. Even if I'd love to make a complete overview like yours, I doubt many desktop computers would swallow 933,120,000 (360 x 120 x 180 x 120) vertices with coordinates, normals and colors and be able to render the resulting 1,866,240,000 tris it in somewhat smooth animation. It might be possible with LOD models, but I haven't gotten that far yet.</div><div><br></div><div>X3DOM is a really nifty web integration tool, and together with X3D so far the simplest way I've found of integrating 3D content on web pages. As I learn more, I can see that it's more capable than I thought at first, but then the learning curve also turns upwards steeply. It still has some way to go before it could become a generally acceptable standard for industry though. I was involved in a project a few years back where various 3D platforms were evaluated for a major investment, and what tripped most of them were lack of stable (meaning more than a few developers involved) and secure (meaning extensive test suites and quality management) development, and deficits in documentation, rather than their actual capabilities. Unfortunately, that's a problem with most opensource projects I've been involved in or in touch with.</div><div><br></div><div>Best regards,</div><div><br></div><div>Magnus Zeisig</div><div><br><div><br><blockquote type="cite"><div>25 feb. 2019 kl. 16:48 skrev Andreas Plesch <<a href="mailto:andreasplesch@gmail.com" rel="noreferrer noreferrer noreferrer" target="_blank">andreasplesch@gmail.com</a>>:</div><br class="m_8688637661499529392m_-6811843831505930657m_6814229292277821236Apple-interchange-newline"><div><div dir="ltr"><div dir="ltr"><div dir="auto"><div>Thanks for sharing a nice use case for X3D on the web.</div><div dir="auto"><br></div><div dir="auto">For a past global sea-level change demonstration I used a much subsampled DEM for a GeoElevationgrid in geodetic coordinates and a transparent, constant heights, GeoElevationgrid with matching gridding for the sea-level. The height attribute value can be dynamically modified using a slider and a bit of JavaScript via the DOM.</div><div dir="auto"><br></div><div dir="auto">The yScale field is reserved for vertical exaggeration for both grids which is helpful for visualization of large areas or the globe. It is dynamic as well.</div><div dir="auto"><br></div><div dir="auto">GeoElevationgrid is really useful for such global or continent scale datasets along with the other geospatial nodes since the distortions of map projections can be sidestepped this way.</div><div dir="auto"><br></div><div dir="auto">The geospatial nodes are also useful for direct consumption of lat.long. located data, or if the effect of the Earth's curvature is considered important for the scene.</div><div dir="auto"><br></div><div dir="auto">Here is a prototype of such a X3D scene:</div><div dir="auto"><br></div><div dir="auto"><a href="https://beta.observablehq.com/@andreasplesch/sea-level-past-present-and-future" rel="noreferrer noreferrer noreferrer" target="_blank">https://beta.observablehq.com/@andreasplesch/sea-level-past-present-and-future</a><br></div><div dir="auto"><br></div><div dir="auto">It uses a new approach to notebooks and was initially a test of how well x3dom fits in such a notebook environment. But it could be just as well a regular web page.</div><div dir="auto"><br></div><div>Apart from being a X3D browser, x3dom is geared towards integration into the web. Generally, web technologies work well with it. </div><div dir="auto"><br></div><div dir="auto">Andreas</div><div dir="auto"><br></div><div class="gmail_quote" dir="auto"><div dir="ltr">On Fri, Feb 22, 2019, 10:37 PM  <<a href="mailto:x3d-public-request@web3d.org" rel="noreferrer noreferrer noreferrer" target="_blank">x3d-public-request@web3d.org</a> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
Date: Thu, 21 Feb 2019 21:12:50 -0700<br>
From: GPU Group <<a href="mailto:gpugroup@gmail.com" rel="noreferrer noreferrer noreferrer noreferrer" target="_blank">gpugroup@gmail.com</a>><br>
To: Magnus Zeisig <<a href="mailto:magnus.zeisig@tele2.se" rel="noreferrer noreferrer noreferrer noreferrer" target="_blank">magnus.zeisig@tele2.se</a>><br>
<br>
Magnus, I think your spherical world with overlapping rectangles and<br>
anchors is great - a great way to do it.<br>
-Doug<br>
<br>
more on geospatial..<br>
<br>
The web3d geospatial has 3 options for coordinate systems:<br>
1. GC geocentric<br>
2. GD geodetic or lat,long<br>
3. UTM<br>
I'm not sure if/how a GeoElelvationGrid would work with GC.<br>
GD and UTM get a little funny around the poles. But lets say you use one of<br>
these. Then for sea level you set heights to 1, and yscale to 0, to get<br>
0=sea_level and scale by 10 to get 10.<br>
Q. when you say you did them on a plane, do you mean mapping plane, and if<br>
so what type of mapping plane ie UTM, stereographic, lambertian conic ...?<br>
One idea is expand the number of mapping planes offered in the geospatial<br>
component, so if you have a nice grid in some non-utm mapping plane, you<br>
don't have to regrid to utm or lat,long.<br>
<br>
On Thu, Feb 21, 2019 at 11:39 AM Magnus Zeisig <<a href="mailto:magnus.zeisig@tele2.se" rel="noreferrer noreferrer noreferrer noreferrer" target="_blank">magnus.zeisig@tele2.se</a>><br>
wrote:<br>
<br>
> Thank you for the feedback, Doug.<br>
><br>
> When I produced the 3D scenes in question, I hadn't gotten into the<br>
> geonodes yet, put dealt with them as general 3D scenes. Since they aim for<br>
> compatibility with a set of videos produced in the plane projection, I<br>
> probably would have decided to use that projection, at least for one<br>
> version, even if I had been familliar with the geonodes.<br>
><br>
> If I was to use GeoElevationGrid, would it work to add sea level as a<br>
> second GeoElevationGrid with some blue tint and all height values set to 0,<br>
> and then scale it with a transform where scale is set to<br>
> [1+SeaLevel/EarthRadiusEquator, 1+SeaLevel/EarthRadiusPoles,<br>
> 1+SeaLevel/EarthRadiusEquator], if using the ellipsoid approximation? If it<br>
> works the way I think, even using the geoid should be OK, since its<br>
> variation is only up to 106 m from the ellipsoid, giving an error of up to<br>
> 106/6371000*65?0.001 m at the maximum realistic sea level rise of 65 m. I'm<br>
> not sure what internal mathematical resolution is used though, since a 1 m<br>
> sea level rise would mean a scale factor of just about 1.00000016, which<br>
> would be problematic with single-precision floats.<br>
><br>
> If I understand your suggestion about linking from a geo world right, I<br>
> think I did something like that already, although "cheating" just using a<br>
> textured sphere and scaled boxes as scene markers:<br>
> <a href="http://sealevelrise.se/en/earth_3d1/map1.html" rel="noreferrer noreferrer noreferrer noreferrer noreferrer" target="_blank">http://sealevelrise.se/en/earth_3d1/map1.html</a> . The overlapping<br>
> semi-transparents mess up some, as with many 3D tools, but the anchor<br>
> principle works and I think should work also with more complex solutions.<br>
><br>
> I admit several of your other questions/suggestions are shooting a bit<br>
> over my head, since I'm no expert in GIS/geodata/geospatial handling, but I<br>
> might get there with time.<br>
><br>
> Best regards,<br>
><br>
> Magnus<br>
><br>
><br>
> 21 feb. 2019 kl. 17:04 skrev GPU Group <<a href="mailto:gpugroup@gmail.com" rel="noreferrer noreferrer noreferrer noreferrer" target="_blank">gpugroup@gmail.com</a>>:<br>
><br>
> I think its awkward and some things are missing from x3d geo nodes.<br>
> Lets say you have an elevationgrid in an arbitrary mapping plane, with<br>
> respect to geoid ie heights measured from sea level.<br>
> There's no node that will take that grid as it is and display it on a<br>
> spherical earth with the proper adjustments for curved ellipsoidal earth,<br>
> including geoid-to-ellipsoidal heights.<br>
> If it was a small grid, it could be positioned with a geoLocation node<br>
><br>
> <a href="http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/geodata.html#GeoLocation" rel="noreferrer noreferrer noreferrer noreferrer noreferrer" target="_blank">http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/geodata.html#GeoLocation</a><br>
> But what about large areas where an uncorrected grid would be obviously<br>
> wrong? Victoria Island in the Arctic Ocean for example?<br>
> A similar problem if you keep your elevationGrid and use a GeoTransform to<br>
> bring an ellipsoidal earth into your regular scene.<br>
><br>
> You could convert all your grid points to GeoCentric GC coordinates<br>
> offline, and show it as mesh of points in GeoCentric coordinates. But that<br>
> makes it awkward / less sensitive to show sea level rise relative to geoid.<br>
> Normally we convert geoid heights to ellipsoidal heights to render in geo<br>
> space. So a (geoid following) sea would need to be a grid of points<br>
> following the geoid, and (somehow) mathematically scaled.<br>
><br>
> Perhaps on your page listing all of the locations/areas-of-interest, that<br>
> could instead be on a geo world, and each area an approximate rectangle on<br>
> it, with TouchSensor/Anchor. Then when someone clicks on an area, you go to<br>
> your current elevation grid page? Would that work in x3dom?<br>
><br>
> To do it all on one ellipsoid<br>
> A node type that will take your grid in sea-level/geoid relative mapping<br>
> plane coordinates which may not be UTM - may be some other mapping plane<br>
> especially near the poles- and do the appropriate conversion on each grid<br>
> point for rendering and collision/terrain-walking, and do that also with a<br>
> grid for sea level too, and provide a way to animate the sea level height<br>
> around the world and/or locally (animated geoid? Geoid as an exposed field?<br>
> geoid scale factor? special sea level node that includes tide modeling?)<br>
> ... that needs work.<br>
><br>
> Doug Sanden<br>
><br>
><br>
><br>
><br>
> On Wed, Feb 20, 2019 at 4:16 PM Magnus Zeisig <<a href="mailto:magnus.zeisig@tele2.se" rel="noreferrer noreferrer noreferrer noreferrer" target="_blank">magnus.zeisig@tele2.se</a>><br>
> wrote:<br>
><br>
>> Hello Mike,<br>
>><br>
>> Thank you for your positive feedback and for the tip about the<br>
>> GeoElevationGrid. I admit I hadn't gotten that far yet, but will definitely<br>
>> keep it in mind for future 3D mapping projects. For this particular project<br>
>> I probably would have decided to stick with the ElevationGrid even if I had<br>
>> known though, since I then more easily could match it to a set of "flat"<br>
>> videos of the same areas I had already produced and had much of the data<br>
>> conversion done already for that purpose.<br>
>><br>
>> If I understand it right, the GeoElevationGrid can be used both for full<br>
>> sphere and partial sphere (if (xDimension - 1) * xSpacing < 360 or<br>
>> (zDimension - 1) * zSpacing < 180) topography, but will always result in a<br>
>> correct but sometimes impractical spherical projection, also more<br>
>> triangular (or really concentric circle sector) than rectangular towards<br>
>> the poles? Adding a sea level with adjustment should just be a matter of<br>
>> adding a corresponding second GeoElevationGrid with all height values 0 and<br>
>> scaling it by changing an enclosing Transform scale field?<br>
>><br>
>> Best regards,<br>
>><br>
>> Magnus<br>
>><br>
>><br>
>> > 20 feb. 2019 kl. 18:36 skrev Mike McCann <<a href="mailto:mccann@mbari.org" rel="noreferrer noreferrer noreferrer noreferrer" target="_blank">mccann@mbari.org</a>>:<br>
>> ><br>
>> > Hello Magnus,<br>
>> ><br>
>> > This is a very intuitive and informative interactive presentation!<br>
>> ><br>
>> > I agree that X3D/X3DOM is a smoother choice, especially when we have<br>
>> limited time and need to do a lot of data preparation.<br>
>> ><br>
>> > I notice that you use a single ElevationGrid and can understand why, as<br>
>> it?s simpler to integrate the Sea level adjustment component of your<br>
>> application.<br>
>> ><br>
>> > Just a note regarding dealing with geospatial data: X3DOM also has the<br>
>> Geospatial component ? if GeoElevationGrid were used then other data might<br>
>> be more easily added to the scene using latitude, longitude, elevation<br>
>> coordinates, rather than having to first convert to custom coordinates<br>
>> needed for each ElevationGrid.<br>
>> ><br>
>> > -Mike<br>
>> ><br>
>> >> On Feb 20, 2019, at 3:25 AM, Magnus Zeisig <<a href="mailto:magnus.zeisig@tele2.se" rel="noreferrer noreferrer noreferrer noreferrer" target="_blank">magnus.zeisig@tele2.se</a>><br>
>> wrote:<br>
>> >><br>
>> >> I just wanted to say thank you to the community and developers for<br>
>> providing a great, quick and simple tool to get 3D scenes done and<br>
>> published. It took me a week of spare time from completing the first<br>
>> "Hello, X3DOM!" tutorial to having a set of 370 coastal areas around the<br>
>> world in interactive 3D on the web, most of that time required to massage<br>
>> geodata from GEBCO and GeoNames into proper format:<br>
>> <a href="http://sealevelrise.se/en/earth_3d1/" rel="noreferrer noreferrer noreferrer noreferrer noreferrer" target="_blank">http://sealevelrise.se/en/earth_3d1/</a><br>
>> >><br>
>> >> At least initially looking more for a quick tool to get the job done<br>
>> than to really learn all the nuts and bolts of X3D and X3DOM, I've probably<br>
>> made a lot of beginners' mistakes, and I'm sure I'll revisit and improve<br>
>> the project as I learn more, but for now, it's up, working and looking<br>
>> good. Once more, thank you!<br>
>> >><br>
>> >> As a background, I'm not all new to 3D. I wrote my first 2-pass (light<br>
>> and shadow) 3D renderer back in 1981, in BASIC on a micro-computer with a<br>
>> 2.2 MHz 8 bit Z80-processor and 32 KB RAM, taking 2 weeks to render a 332<br>
>> face mesh model (608 tris) in high resolution (2304x1152 px). In 1995-1996,<br>
>> I created my first 3D scenes on the web using VRML, and later worked with<br>
>> software like RayDream Studio, POV-Ray, Carrara and Poser. 2007-2008 I went<br>
>> into virtual worlds like Second Life and OpenSimulator, and contributed<br>
>> some code to OpenSimulator. Lately, I've created some 3D web content using<br>
>> WebGL and ThreeJS, and contributed some to the ThreeJS documentation.<br>
>> >><br>
>> >> I left VRML when the existing viewers went defunct on Macintosh in the<br>
>> late 1990's, leaving it without a properly functioning viewer for a while,<br>
>> and since I didn't hear much about VRML afterwards, I assumed it more or<br>
>> less dead. I'm happy to see I was wrong and that its offspring X3D is still<br>
>> alive and kicking. While e.g. ThreeJS has its charm for some projects, it's<br>
>> overkill for others, and at least for this project, X3D/X3DOM definitely<br>
>> was a smoother choice.<br>
>> >><br>
>> >><br>
>> >> _______________________________________________<br>
>> >> x3d-public mailing list<br>
>> >> <a href="mailto:x3d-public@web3d.org" rel="noreferrer noreferrer noreferrer noreferrer" target="_blank">x3d-public@web3d.org</a><br>
>> >> <a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" rel="noreferrer noreferrer noreferrer noreferrer noreferrer" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><br>
>> ><br>
>> ><br>
>> > _______________________________________________<br>
>> > x3d-public mailing list<br>
>> > <a href="mailto:x3d-public@web3d.org" rel="noreferrer noreferrer noreferrer noreferrer" target="_blank">x3d-public@web3d.org</a><br>
>> > <a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" rel="noreferrer noreferrer noreferrer noreferrer noreferrer" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><br>
>><br>
>><br>
>> _______________________________________________<br>
>> x3d-public mailing list<br>
>> <a href="mailto:x3d-public@web3d.org" rel="noreferrer noreferrer noreferrer noreferrer" target="_blank">x3d-public@web3d.org</a><br>
>> <a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" rel="noreferrer noreferrer noreferrer noreferrer noreferrer" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><br>
>><br>
><br>
><br>
-------------- next part --------------<br>
An HTML attachment was scrubbed...<br>
URL: <<a href="http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20190221/aacfb921/attachment-0001.html" rel="noreferrer noreferrer noreferrer noreferrer noreferrer" target="_blank">http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20190221/aacfb921/attachment-0001.html</a>><br>
<br>
------------------------------<br>
<br>
Subject: Digest Footer<br>
<br>
_______________________________________________<br>
x3d-public mailing list<br>
<a href="mailto:x3d-public@web3d.org" rel="noreferrer noreferrer noreferrer noreferrer" target="_blank">x3d-public@web3d.org</a><br>
<a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" rel="noreferrer noreferrer noreferrer noreferrer noreferrer" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><br>
<br>
<br>
------------------------------<br>
<br>
End of x3d-public Digest, Vol 119, Issue 66<br>
*******************************************<br>
</blockquote></div></div>
</div></div>
_______________________________________________<br>x3d-public mailing list<br><a href="mailto:x3d-public@web3d.org" rel="noreferrer noreferrer noreferrer" target="_blank">x3d-public@web3d.org</a><br><a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" rel="noreferrer noreferrer noreferrer" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><br></div></blockquote></div><br></div></div></blockquote></div></div></div>