Fork me on GitHub

Online normal creation

12.10.2010 Uncategorized

A new example is online which shows how to use the creaseAngle property to control the online normal creation and update process.

Use this feature careful. This can kill your init, update and render performance!


Auto-splitting large meshes for WebGL

23.09.2010 Uncategorized

WebGL only supports 65k indices per mesh and therefore large models have to be split. X3DOM splits this now automatically if necessary.

sofaGirl

SofaGirl with more than 64k indices


Support for Typed Arrays

17.08.2010 Uncategorized

We now use Typed Arrays instead of WebGL*Arrays, since all browsers switched to this new interface. Please, as always, update to the latest version of Firefox, Chrome or WebKit to use the currently online dev-build.


Bugfix: Local eventListener per x3dom

Uncategorized

Some people had problems with the existing global key-handler per x3dom window. We fixed this in the current build ( >= 620) and now register EventListener per canvas. You can also switch off the key-mapping altogether with <x3d keysEnabled=’false’ …>. Talking about key-mapping: We do not support the X3D-KeySensor/StringSensor in our profile. Use an extra <div> with addEventListener(‘keypress’) to register a key-handler per x3d-element.


AR-Example works again

09.08.2010 Uncategorized

We did some cleanups on the server after Siggraph and killed a few examples. Especially the AR-example had an extra debug-window, which prevented the tracker to work.

ar works again

AR works again

We fixed the code and links, and thereby everything should work again.


Siggraph2010: HTML/X3D and WebGL BOF

04.08.2010 Uncategorized

X3DOM was presented at the HTML/X3D and Khronos/WebGL BOF during Siggraph 2010 last week. We introduced the framework and general idea using some slides and showed some of the examples. There was a large interest in declarative (X)3D at both meetings and we got very good feedback and had some interesting discussions with potential users of the system.

HTML/X3D BOF at Siggraph 2010

HTML/X3D BOF at Siggraph 2010

There where around 120 people at the HTML/X3D BOF and more than 150 at the WebGL BOF. Both meetings where packed and it was really fun to match some faces to email-addresses.


x3dom layer in native iOS App

23.07.2010 Uncategorized

The new instantMini version, build on OpenGL ES directly and not WebGL, provides an WebKit layer which supports x3dom content. It was tricky to get everything through the stringByEvaluatingJavaScriptFromString method but finally it works.

x3dom-iphone

The current App does not just support X3D elements in the DOM but also additional elements to configure the vision subsystem (e.g. Marker). This system will also be shown on the Web3D booth (#1024) at siggraph next week


Internet Explore 8 support

22.07.2010 Uncategorized

Following our own Fallback-model we support now Internet Explore 8 in x3dom. This setup utilizes not WebGL for rendering but needs a installed X3D-SAI plugin.

instantReality-Plugin used as x3dom backend

instantReality-Plugin used as x3dom backend

We use a modified  version of the SAI-importDocument-service to import the DOM-data and this is only available in the plugin version of InstantReality right now. You have to install and register the daily-build version.

Not everything works yet and you have to install an extra ActiveX-Plugin. On the other hand you get the high-performance C++-implementation which supports all X3D-profiles and some extra feature: Like Raytracing your data in realtime.

We will demo this version during siggraph next week at the Web3D booth (1024). Come by to see the whole setup running.


New shader-composer code in WebGL backend

Uncategorized

Timo added the new dynamic shader-composer code with example. We now support multiple dynamic lights and everything is (again) lit per fragment.

dynamic lights scene

dynamic lights scene

The new code support all X3D light types (PointLight, SpotLight and DirectionalLight ) and Fog. This also the bases for the CommonSurfaceShader implementation.


Canvas Texture Example

15.07.2010 Uncategorized

dom supports a generic <Texture> node already for months. This node does not reference an external source directly (like ImageTexture and MovieTexture) but uses an HTML5 tag (img, video or canvas) as pixel source:
<Texture>
<img src=”…” >
<Texture>
<Texture>
<video src=”…” >
<Texture
<Texture>
<canvas width=’256′ height=’256′ >
<Texture>x

x3dom supports a generic <Texture> node already for months. This node does not reference an external source directly (like ImageTexture and MovieTexture) but uses an HTML5 tag (img, video or canvas) as pixel source:

<Texture> <img src=”…” > </Texture>

<Texture> <video src=”…” > </Texture

<Texture> <canvas width=’256′ height=’256′ > </Texture>

The HTML5-tag is usually just used for texturing and not visible otherwise. We now added an attribute “hideChildren” to switch this behavior on and off which allows web-developers to reuse the image on the HTML-page. This is a minor change but useful for some applications.
canvas painter

canvas painter

We wrote a little example which uses this functionality to build a live texture-painter.

Support for X3D-Follower animation added

12.07.2010 Uncategorized

Yvonne added most (but not all) chaser and damper from the Follower-component. There is also a simple examples which demonstrates the Position-, Orientation and Color-Chaser functionality. This is, after the Interpolator-component, the second and last animation component form X3D we propose for the HTML-Profile. Every other animation has to be done with javscript or (3D) CSS Animation.


X3DOM goes siggraph

09.07.2010 Uncategorized

We have an official spot at the web3d booth (Hall J, booth 1024) and demo the latest features related to the x3dom.org and instantreality.org frameworks.

x3dom goes siggraph

x3dom goes siggraph

Come by to see some interesting demos, talk to the developers and chat about the idea, design and implementation issues you have.


CSS 3D Transform support in X3DOM

07.07.2010 Uncategorized

Just a really simple example right now but this is really cool. We now support CSS 3D Transforms and CSS animation on X3D-Nodes. This only works in WebKit-based browser (Apple-WebKit and Google-Chrome) right now.

Screen shot 2010-07-07 at 17.26.24

It only works on < Transform >-nodes but you can use all forms to style your actually transformation.

More example coming soon.


ColorRGBA for conformance and MeshLab support

28.06.2010 Uncategorized

MeshLab is an excellent tool for manipulating mesh datasets and it is utilized in various application areas (e.g. Cultural heritage pipelines) today. It comes with a great X3D exporter which can handle texture, vertex/face-normal and vertex color. However, the tool creates always a ColorRGBA-node even so there is no alpha-data in the vertex color. Since ColorRGBA is in our proposed profile we added this node to better support MeshLab right now.

MeshLab output with ambient occlusion results in ColorRGBA

MeshLab output with ambient occlusion results in ColorRGBA

The example uses the ColorRGBA values to store the ambient occlusion values per vertex calculated in MeshLab


X3DOM goes mobile

17.06.2010 Uncategorized

Thomas was the first to discover the mobile webgl support on the N900 and Yvonne was brave enough to patch her phone with the latest firmware-upgrade which includes support for WebGL.

Dancing Dr. B on the N900

Dancing Dr. B on the N900

Not everything works (e.g. not the AR-Demo ) but at least some examples, including the dancing Dr. B, works on the phone. Even with animation and sound. Quite impressive! Now all we need is webgl support on iOS devices.


First AR tutorial

25.03.2010 Uncategorized

The ever growing interest in Augmented Reality (AR) application makes it an important scenario for a generic web-based 3D framework. However, there is a main problem. Web-Browsers (UA) /HTML does not provide any API to read the pixels of your attached video-camera.

Until now there were only two generic options to overcome this problem: Utilizing a specific AR-plugin (fast, but with all plugin issues) or Flash-based. Flash is also a plugin but installed on more than 90% of all UA and can read the pixels directly.
AR demo with Flash/X3DOM

But pure Flash-based AR-solutions have one major drawback. Flash has no API to access the GPU directly for 3D rendering. Therefore all 3D-render  libs are limited (e.g. polygon-count and shading feature) compared to some hardware accelerated solutions (e.g. WebGL).

We use in this tutorial and Demo a Flash-based tracker (which processes all camera-pixels) and create the 3D-overlay with X3DOM. The result is quite impressive. Really fast AR-apps, without any plugin (besides Flash) and a very simple production pipeline.


Support for explicit GLSL/ComposedShader added

23.03.2010 Uncategorized

The X3D Profile (not just WebSG) supports now explicit GLSL shaders utilizing the X3D Shaders component. The example uses multiple textures (diffuse, normal and env) and generic VertexAttribute containers to feed the render backend.
GLSL/ComposedShader example

Support for the X3D Shaders component allows mixing shader-based materials with declarative mesh content.


Final node updates for first release

17.03.2010 Uncategorized

A bunch of new X3D nodes like LOD, Switch, PointSet, IndexedTriangleSet and ComposedShader as well as new functionality like the sky-box background and a more complete DOM-event handling have been implemented for the first release.

A dynamically generated list of all X3D nodes and components can be found here. If you are interested in the node interface or full specification just click on the respective node or component.


Improved picking demo online

Uncategorized

To improve performance and precision, picking (i.e. the onclick event) now uses a render-buffer-based approach (as shown in the screenshot below) instead of a scene traversal with standard bbox-based intersect tests.

Picking buffer (see top left of image) and real scene. After a click the small ball is repositioned to the last pick position (see examples page).

Picking buffer (see top left of image) and real scene. After a click the small ball is repositioned to the last pick position (see examples page).


3dsMax exporter for x3dom

09.03.2010 Uncategorized

The InstantReality X3D exporter for 3dsMax can now directly export to HTML/XHTML. Daily beta builds are now available for Windows XP, Windows Vista and Windows 7 32 and 64 Bit. The package contains versions for Max 2008, 2009 and 2010.

ftp://ftp.igd.fraunhofer.de/outgoing/irbuild/InstantExport/

Bugs should be reported in the instantReality forum:

http://forum.instantreality.org/index.php?board=19.0


« Older posts | Newer posts »