Most of the X3DOM developers will be at this year’s Web3D conference in San Sebastian, Spain, which takes place from June 19th to June 22nd 2013. There, we will have a tutorial on X3DOM (consisting of two parts) as well as some papers. So, if you are around, do not hesitate to talk to us or discuss your issues and feature requests with us. See you in Spain…
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.
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.
The scalable SimScale platform uses X3DOM as viewer frontend for visualizing the results of online numerical simulations on CAD data.
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.
More info: http://visual-configuration.t-systems-mms.eu
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 CeBIT Fraunhofer 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.
This external showcase developed by the Virtual Reality Center Production Engineering (VRCP) in cooperation with the Fraunhofer Institute for Machine Tools and Forming Technology (IWU) shows an innovative way to present complex content with the use of 3D models. 3DWebpresenter makes it obvious that X3DOM can also visualize complex 3D scenes combined with interactive Web elements. While navigating intuitively through a virtual factory, further information of the results of 30 projects of the Innovation Alliance “Green Carbody Technologies” can be accessed.
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.
Europeana enables people to explore the digital resources of Europe’s museums, libraries, archives and audio-visual collections.
The W3C Community Group “Declarative 3D for the Web Architecture” met in a breakout session at this year’s TPAC conference in Lyon
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.
Welcome to X3DOM 1.4!
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)
- Tutorial for image and binary geometry generation
- OrthoViewpoint and Viewfrustum
- Basic support for VolumeRendering component (VolumeData node, OpacityMapVolumeStyle, MPRVolumeStyle) – like the Geometry2D component not part of X3DOM core
- Programmatic documentation API
- 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
- Many Flash backend fixes (e.g., LOD now also in Flash renderer supported)
- Many more bugfixes in IndexedFaceSet, skybox background node etc.
You can get the this X3DOM release from:
This release note is also available in our official documentation.
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.