Developer tools are mostly personal preference and there’s no right or wrong in choosing editors and IDEs. However, we feel there’s one IDE to mention which stands out of the crowd: The WebStorm IDE from JetBrains, creators of IDEA.
The WebStorm IDE is the JavaScript incarnation of IDEA and the one tool our X3DOM developers are crazy about. It makes writing code so much more fun and productive. Even die hard Vi guys started using it, and that means something. We are very grateful that JetBrains has been so generous to issue a free open source license of their WebStorm IDE to all X3DOM developers. We have been using WebStorm to develop X3DOM for 2 years now and we could not be happier. Thank you very much JetBrains.
X3DOM now provides enhanced support for shadows. This includes support for all X3D light types (DirectionalLight, SpotLight and PointLight) and for multiple lights per scene. Advanced shadow rendering techniques have been implemented to give shadows a more authentic look and to facilitate applicability in large environments.
To control these capabilities, a set of new light properties has been introduced. Their usage is explained in the shadow tutorial.
Yet another interesting industrial show case from Frank Lamack, T-Systems, Germany. Goal of this solution is to build a web 3d based environment for distributed teams to enable collaborative design reviews or co-browsing with customers for sales, configuration and consulting sessions – on one common 3d product model: Without any plug-in or additional software licences – simply via web. Upcoming features: dimensioning, annotation on parts or co-design-editor, to transform 3d-shapes.
T-Systems Multimedia Solutions (MMS) develops web-based solutions for large corporations and medium-sized enterprises. Around 1.000 employees serve customers from every sector, developing web innovations for services used in domestic and commercial digital contexts. This includes e-commerce, information management and knowledge management. The actual developing team develops visual configuration solutions, that use 3D construction data and product meta data in combination with rule-based configurations for immersive e-sales and e-commerce applications for web or mobile devices.
We have started a new project for online model conversion, which can be found on GitHub, too. It is an 3D model optimization and sharing service especially for the cultural heritage domain. The system is written in Python and allows optimization and conversion of 3D models for Web presentation and sharing these models on the Web. Its main features are:
Upload and conversion of 3D Models to X3DOM
Sharing of models on the web (permalinks to converted models)
Downloadable ZIP packages of converted models
Triangular Mesh optimization of models
Converted/Optimized models can be embedded in different templates
Asynchronous process
Server-Sent Events for fast status updates
Upload archives with many models and textures at once
This project was supported by V-Must, an EU-funded project that aims to provide the heritage sector with the tools and support to develop Virtual Museums that are educational, enjoyable, long-lasting, and easy to maintain. The developed code is open-source and you can just grab it from GitHub, where you also find everything to get started.
At this year’s Hannover Messe Fraunhofer IGD presents interactive web applications for the visualization of e.g. simulation results using X3DOM. The developed interactive methods for scientific visualization (see left image) allow the user to gain insights, interpretations, and knowledge quickly. More information can also be found here. You’ll find us at booth B10 of the Fraunhofer Allianz SIMULATION in hall 7 (Digital Factory).
At this year’s CeBITFraunhofer IGD presents solutions for 3D Internet applications like the instant3DHub. The system generates and delivers 3D Web apps on-the-fly, which are tailored for specific use cases and device classes incl. tablets or smart phones. This way, for instance engineers and technicians are able to inspect 3D CAD data etc. on the Web and even on site. Another example are interactive 3D product presentations for online shopping. This new technology builds upon existing standards and uses the InstantReality framework for backend services as well as X3DOM for visualization.
Basically, the instant3DHub is a service architecture consisting of an app service for providing device and use case specific templates, a transcoder service for converting and caching 3D applications and data from existing resources, and finally a vis service for presentation on the Web.
Resulting from a collaboration between Fraunhofer IGD and Vicomtech in Spain, X3DOM now also provides basic support for the new X3D VolumeRendering component, that originally was developed by the Web3D medical working group and will be part of the upcoming X3D V3.3 specification. Here and here you find some first tests. However, please note that this component is not part of the X3DOM HTML profile, but generally follows the extension mechanism described here.
When using declarative 3D approaches for the rendering of large models, it is crucial to externalize vertex data from the HTML document by using binary containers (see previous post). Attribute data can be concurrently fetched by the Browser via Ajax calls or image downloads and is directly transferred as-is to GPU memory for rendering. Such a straightforward approach significantly reduces the memory and processing overhead, which is especially of high importance on mobile devices with limited CPU power.
A new X3DOM example, which uses the BinaryGeometry node, demonstrates how a compact vertex data representation for efficient visualization of large models can look like.
We furthermore improved our culling and mesh compression techniques to get the famous Boeing 777 model running at interactive frame rates. This “out-of-browser”-based hybrid client/server approach allows rendering 350 million triangles, where a special out-of-core server constantly streams up to 9 million triangles to the client. The results are not yet final, but the current state shows that the method scales and we can handle models even of the size of the 777. And here is the link to the video: http://www.youtube.com/watch?v=4TrJBsb74f0
As mentioned in an older post, there are several ways to enable WebGL/ X3DOM support on iOS. The good news here is that with an upgrade to iOS 6.0.1 or 6.1 X3DOM now works again smoothly, so there is no more need to stick to iOS 5…
Generally, while the official WebKit implementation on iOS includes WebGL, it is not activated by default. The standard Safari browser hence does not yet support WebGL. Therefore, we wrote our own instantGLory App (which basically is a wrapper around the WebView widget), and there are other solutions around.
The X3DOM team wishes you and your families a Merry Christmas and a Happy New Year!
And as little present we added a new example showing some more “advanced” interaction techniques using mouse events, like dragging an object and positioning an oriented marker, which can be found here.
Europeana enables people to explore the digital resources of Europe’s museums, libraries, archives and audio-visual collections.
We are happy to see that 3D models are now listed on Europenea. After selecting a detailed view of the model, a link is presented to the X3DOM driven 3D Coform Data Catalog rendering of the model.
The main goal was to present the overall strategy shift to provide even more use cases and applications on the existing “polyfill” layers (e.g. X3DOM and XML3D), instead of focusing on an overall declarative 3D specification upfront.
The main goal therefore is to harmonize and extent this so-called polyfill layer to provide all the features and technologies needed for an extended set of targeted use cases. This includes CSS-based material systems as well as a deep integration into the DOM event and monitoring mechanism. The proposed system architecture was well received and people encouraged the presenters and declarative 3D community group to work on hard requirements for the related W3C specification and UA vendors.
Another topic being discussed was the support for polyfill layers in general. Especially systems that provide new and novel DOM elements are not fully supported yet. The proposed web component are oriented to Web application developers, but layers that provide APIs and features, which are indistinguishable from native UA features are not yet adequately supported.
The X3DOM showcases reported here have largely been centered around industrial or scientific applications. However there’s a lot of potential for commercial applications that has not been explored yet. As the framework matures, it is much more interesting and usable for larger deployments.
One example of such an application is Mixee Me. A recent startup which sets out to bring 3D printing to the average joe. The gist: Mixee Mee allows everyone to create funny little 3D characters through a simple interface, have them printed with a 3D printer and shipped to your doorstep. In order to allow for online composition of the 3D figures, X3DOM ist used to drive the interface.
After almost one year in the making we are proud to announce a new X3DOM release. With this latest installment of our defacto standard JavasSript library that marries HTML with declarative 3D content, we are able to provide many fixes and enhancements.
New in 1.4
Experimental geometry nodes that externalize vertex data in binary containers:
ImageGeometry (which holds vertex attributes in images),
BinaryGeometry (which holds vertex data in binary files, where attributes can have – besides standard 32-bit – 8-bit and 16-bit precision),
BitLODGeometry (which also holds vertex attributes in external files, though here the containers can consist of variable bit precision for JPEG-like effects)
Basic support for VolumeRendering component (VolumeData node, OpacityMapVolumeStyle, MPRVolumeStyle) – like the Geometry2D component not part of X3DOM core
MultiTouch integration now supporting iOS devices, Chrome, and Mozilla
Added attribute setters, viewpointChanged event, helicopter mode etc.
Enhancements and Fixes
Enhanced picking with a max. of 65,535 objects, while the corresponding mouse or touch event also provides the picked position with 16-bit precision and the object normal at this position
More rendering features like the sortKey/sortType Appearance fields for defining the rendering order, or the DepthMode (App. child) to define if an object shall be readOnly
Multiline Text support per specification
Changed FontStyle size field to X3D default behavior
Enhanced JavaScript runtime API now with a plenthora of additional methods
Many Flash backend fixes (e.g., LOD now also in Flash renderer supported)
Many more bugfixes in IndexedFaceSet, skybox background node etc.
For a complete and detailed list of changes, refer to the CHANGELOG file or the GitHub Issue tracker.
The official WebKit implementation on iOS includes WebGL that is not activated by default. The standard Safari browser does not yet support WebGL. However, there are various ways to enable WebGL. We wrote our own instantGLory App and there are some other solutions (e.g. http://demoseen.com/webglenabler/, https://github.com/benvanik/WebGLBrowser), which provide a WebGL browser, and we made sure that X3DOM works smoothly on iOS.
WARNING: There is a bug in x3dom/iOS6 right now so you should stick with iOS5. We have some strange performance issues with iOS6 that seem to be caused by using FBOs. Therefore, you can only use the old “box” mode picking until these issues are resolved.
For a list of supported browsers and possible caveats see the Browser Support page.
More demo videos of X3DOM applications running on iOS here and here.
This external application created by the german company 3D Betrieb, shows how X3DOM can be used to create a real-time product configurator. The application features a PDF export as well as still image dislpay of the configured product.
Last week (3-7 September 2012) a training activity of the EU-funded project V-Must took place in Schmitten, Germany, near the famous Roman Saalburg. The picture below shows the participants in front of the building.
In this V-Must Virtual Heritage school international students, professionals, and young researchers learnt about the new field of Web deployment of VR and AR Applications (“VR/AR Apps”) and related topics on applied CG technologies in the area of virtual and augmented digital heritge. Topics included 3D reconstruction, 3D documentation, and presentation layers. Here, the X3DOM framework as well as the mobile AR system developed at Fraunhofer IGD were introduced as technological tools for processing and integration into Web front-ends, while likewise registering the 3D-scanned objects with the physical world.