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.
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.
The video shown below was produced at Ernani Silva Bruno Primary School, in São Paulo, August, 2012. It shows two moments of an after school interactive media literacy project that has been carried out under the supervision of Jorge Franco.
The project’s goal is to stimulate students from the 4th grade level enhancing technical and cognitive skills as well as learning and applying science concepts from the curriculum through using digital media. Among other activities, the students have been editing X3DOM files. Through that it is expected they learn basics of computer graphics, develop spatial thinking and math skills related to coordinate systems and how to place virtual objects, and enhance reading and writing abilities which are experienced while they are programming and commenting X3D and HTML code.
We have further improved picking to cope with several problems that came along with the original approach (which was mentioned in a very old post). Therefore, picking now supports 64k different objects, a higher precision pick position and the normal at the picked position (both in world space) for all mouse events.
We still use a single-pass render-buffer-based approach, but instead of rendering the normalized world position into an FBO’s 8-bit RGB channel and the (internal) Shape ID into the (also 8-bit) alpha channel, we now render just the distance of the picked object position to the camera position into the RG channel (encoded as 16-bit value in the shader) and the Shape ID into the texture’s BA channel (also encoded as 16-bit).
Having the distance d between both positions provides enough information to calculate the full 3D position, since the x and y components (along with z later on) can be obtained by computing the view ray through the the picked pixel position (x,y).
var line = viewarea.calcViewRay(x, y); var pickPos = line.pos.add(line.dir.multiply(d));
And instead of just reading back a single (8-bit) RGBA value at the picked pixel position (x,y), we now read back a small 2×2 window, so that we can also directly compute the object’s normal by taking the cross product of the (decoded) world space position above (x,y-1) and to the right (x+1,y).