I don’t think anyone on the team has really looked too much into x3dom, but from what I do know I’m not sure what use cases would make it useful for Cesium. What type of integration did you have in mind?
I added another new idea to the list that people have asked for in the past: the ability to write CZML from Cesium. This would be done using the Entity API and would let you write out data loaded into a DataSource or EntityCollection as CZML. In the short term, this would be useful for simple serialization and debugging. Longer term, I could see JavaScript based servers, like node, using it to generate CZML dynamically on the server (or ahead of time in Node apps)
I realize that sounded like a rookie suggestion. But I saw that you were thinking about combining Three.js and Cesium, and from my perspective I consider that x3dom is also a good tool to work with 3D elements. The problem is Cesium works mainly with WebGL so I don’t think x3dom would be so much of an asset. In that case, I’ll try to think about more ideas, but this time, some that can actually be used.
Best Regards,
Simão
quinta-feira, 5 de Março de 2015 às 15:28:53 UTC, Matthew Amato escreveu:
That Streetview driving video is pretty cool! The frame to frame interpolation works well. I did a split screen GE and SV setup, but the Streetview was still frames without interpolation, plus I limited it to only updating SV every few seconds (I should make some videos featuring quicker SV updates.)
Interpolation is very good for smooth motion, but has a downside distorting the image. I plan to do SV splitscreen for Cesium as well after the 3DMouse plugin. But instead of an app, I’d like to make that a plugin as well, if I can somehow have Cesium take up just half of the cesiumContainer div, and SV the other half (by dividing the div into 2 sub divs) so it would work even when you full screen Cesium.
Another application with dual-3DMice would be one hand controlling a camera and another hand controlling a 3D pointer. A 3D pointer can not only point at a location, but also point in a direction from that location so you can quickly convey 2 pieces of info at the same time. Actually with a 2D pointer you can’t even convey depth, it’s just assumed you mean a point on the ground. Dog fighting with multiple controllers sounds interesting as well, any videos by chance?
@Patrick I’m definitely interested in any improved Navigation and control projects.
The “Add ability to export CZML from the Entity API” idea sounds interesting, I wrote a small exporter for GSoC '14 and would love to work on something similar. I could apply some of the knowledge I’ve gained working on KML for GSoC '13 as well.
I contacted Matt Amato and he suggested other idea which was to natively support other file formats in Cesium, in particular GPX and Shapefiles, this is similar to the KML work I did and would probably be a little easier this time around given what I already know. I think I could finish both of them easily. I believe that smartwatches and other wearable devices are becoming mainstream consumer goods, this means that the need for applications capable of generating, interpreting and representing information tracked by GPS will grow exponentially, that’s why supporting the GPX format will greatly benefit Cesium and it’s community. Supporting other known formats like Shapefiles will also enrich Cesium and increase it’s use cases.
I think I’ll write two project proposals and then Cesium’s org admins can decide where I’d be a better fit considering my background and other candidate’s applications.
quinta-feira, 5 de Março de 2015 às 15:33:42 UTC, Matthew Amato escreveu:
Yes, the compass / navigation widget is a potential project for GSoC 2015.
I don’t know of any specific beginner-friendly issues related to that project, but the advice I and others have given before applies here as well: get set up building Cesium on your own machine, work through the tutorials (especially the camera tutorial for this project), write a small demo that uses the Cesium API, and sign the Contributor’s License Agreement. Maybe you’ve done some or all of that already?
For this project, it would also be helpful to learn a bit about Asynchronous Module Definition (AMD) and CommonJS modules, because if you decide to start with the compass in National Map, one of your first jobs will be converting some CommonJS modules to AMD. It would also be helpful to become familiar with Knockout, which both Cesium and National Map use for databinding in their user interfaces. A basic understanding of matrices and how they are used to transform vectors will be extremely helpful as well.
I was going through the project list for GSOC '13 and found this project on adding support for GML (Geography Markup Language). I’d love to work on this given that it overlaps with my research work. I am working on GML compression. I developed a firefox addon(Link) for compression, decompression and visualization of a subset GML files(polygon features only).
GML is an OGC standard and I think it will be vital to have native support for GML in cesium. A simple feature profile can be implemented during a summer. WFS can then be implemented in future. What do you guys think?
I created an app for rendering GMLz (compressed GML) using cesium (Link). Its not the best possible implementation, I basically edited the HelloWorld.html page and created a gmlz.js file. Here’s what it looks like:
Done! You can checkout the app http://ayk115.github.io/cesium-apps/. I also re-factored the code as pointed out by you earlier. Again, the sample GMLz files are included in the repository (Link) or you can download them directly (Link).