O3D plugin update

Wednesday, May 6, 2009 | 7:43 PM

Hard to believe that it's been already two weeks since O3D shipped! We are all very excited to see how many of you took interest in it. Many thanks for all the great feedback you've been sending us, for the kind words of encouragement but also for raising your concerns and asking the tough questions. They are all very welcome, please keep them coming.

So, what have we been doing in the meantime? Well, after a bit of well deserved rest and a decent night of sleep, we're back to coding. We're happy to announce that today we're pushing out an update to O3D. There are no API changes in this release and no functionality has been added or removed. We mostly wanted to address some of the issues that you folks discovered when you first tried O3D out and correct some of the more glaring problems, at least the ones that we could fix in this short period of time.

Those of you who have already installed O3D will get the update automatically sometime later today. If you simply cannot wait, just go over to our main page and download the plugin again. Here's a list of what changed from our initial release:

Release Notes for Rel
Bug Fixes:
  • Fixed touchpad scrolling for mac Safari 4. 
  • Fixed mac bug that would crash the plugin when a tab is dragged out of the browser in Safari.
  • Mouse wheel events now return client-area-relative mouse coordinates.
  • Fixed a problem on the mac where the O3D window would hover over other HTML elements in certain instances.
  • Fixed a bug that prevented the O3D plugin from unloading in IE. 
  • Assorted crash bug fixes.
  • [Installer] Display an actual visible error message when O3D fails to install for lack of DirectX 9.0c.
  • [Installer] Mac installer now explicitly checks for OSX version 10.5 (Leopard) and refuses to install on earlier versions.

Other plugin changes:
  • Added missing sampler addressModeW setting.
  • Upgraded the embedded V8 to the latest version from Chromium. This should provide even better performance and likely fix some crash bugs too.

Samples/Utilities changes:
  • [Samples] Improved performance of PrinceIO. The sample was previously hardcoded to run at 20fps. (pick refresh to make sure your browser is not caching old files)
  • [Samples] Several improvements to the beach demo including:
    • The ocean and the island now display the correct textures and have shaders that mix between 2 textures based on vertex alpha.
    • There is an animated camera.
    • There is a proxy island that loads quickly before the detailed island loads.
    • 3D oriented particles are used at the bottom of the waterfalls.
  • [Utilities] o3djs/shape.js is now split into two files, shape.js and element.js
  • [Utilities] o3djs/quaternions.js: Changed quaternion representation from [w, x, y, z] to [x, y, z, w] (scalar part, w, is now the fourth component).
  • [Utilities] Added 3D particles to particle.js and the sample, particles.html.
  • [Utilities] Fixed bugs in effects.js related to making shaders for normal mapped assets.
  • [Utilities] o3djs/debug.js: Added createSphere and createCube utilities to let you create those in arbitrary space.
  • [Utilities] o3djs/math.js: Added method to create a 4-by-4 perspective transformation given a set of clipping planes.
  • [Utilities] o3djs/math.js: Added aliases for inverse, multiply and the determinant of 4-by-4 matrices.
Tools changes:
  • Removed performance timer output from the o3dConverter.
  • Added o3dVerifier, a tool that test-compiles the contents of a shader (.fx) file and converts it into the shader format accepted by O3D.
  • Fixed o3dConverter to return all the mesh streams found in the Collada file.
  • Fixed od3Converter to better handle local paths to shader files in the archive.
  • Changed the default extension to asset files generated by the o3dConverter from .tgz to .o3dtgz to avoid issues on certain server configurations (blog post with details to follow).

You should expect that updates like this one will take place with some frequency as we continue working with the code. In case you are wondering why you don't see individual checkins in our opensource subversion repository, let me assure you that this will change very soon. We are in the process of completely switching over from our internal Perforce repository to subversion. Once we fully transition our auto-build system to using the subversion tree, we'll be doing all our development out in the open. This has been our intention all along. Stay tuned! 

Posted by Vangelis Kokkevis, O3D Team


Dexter Pratt said...

Hi Guys,

I'm quite eager to try visualization of our molecular biology causal networks in this environment, but it looks like many (perhaps most) of the machines at our company have the plain vanilla intel gpus that you do not yet support.

I guess the key thing for me is to know if this is an inherent problem - Will these chipsets, and hence many computers, not be supported ever OR will this issue will be resolved soon?

Thanks very much,

Dexter Pratt
VP Knowledge Modeling
Genstruct Inc

Vangelis Kokkevis said...


Support for Intel integrated chipsets is probably the most common request we have gotten since launch! We're working on it and we should have a solution for it pretty soon (hopefully in our next release). Please stay tuned.