No Warranty Expressed Or Implied
Lisp, music, electronics, 3D   |   john at johnp.net, john at synchromesh.com   |   John Pallister   |   Wellington, New Zealand & Norfolk, England
(me)
2011: Jan ( 1) Feb ( 1) Mar      Apr      May      Jun      Jul      Aug      Sep      Oct      Nov      Dec     
2009: Jan      Feb      Mar      Apr      May      Jun      Jul      Aug      Sep      Oct ( 3) Nov      Dec     
2008: Jan      Feb ( 1) Mar ( 3) Apr      May ( 3) Jun ( 2) Jul ( 2) Aug      Sep ( 1) Oct ( 1) Nov      Dec     
2007: Jan      Feb      Mar      Apr      May      Jun      Jul      Aug ( 1) Sep      Oct      Nov      Dec     
2006: Jan ( 8) Feb      Mar ( 2) Apr      May      Jun      Jul      Aug      Sep      Oct      Nov ( 2) Dec ( 3)
2005: Jan      Feb      Mar ( 5) Apr ( 9) May ( 4) Jun ( 3) Jul (12) Aug (12) Sep ( 3) Oct (15) Nov ( 8) Dec ( 8)
2004: Jan ( 6) Feb      Mar ( 1) Apr      May      Jun      Jul ( 3) Aug      Sep ( 4) Oct ( 8) Nov ( 6) Dec     
2003: Jan      Feb      Mar      Apr (11) May (14) Jun (10) Jul ( 6) Aug ( 7) Sep ( 5) Oct      Nov ( 7) Dec ( 7)
2002: Jan      Feb      Mar      Apr      May      Jun      Jul      Aug      Sep      Oct      Nov      Dec ( 1)
RSS 2.0

31 May 2008 More Ajax3D options
Demolition

OK, there are more options than the ones I listed in my last post. Some others include:

Instant Reality

Developed by the Fraunhofer Institute in Germany, this is a "high-performance Mixed Reality (MR) system, which combines various components to provide a single and consistent interface for AR/VR developers." Runs on Windows with beta versions available for Linux and OS X. Full X3D with extensions for clustering, devices, stereo and more. No browser plugins (although they're on the roadmap). Not exactly sure what the licensing is like, but they seem to be free to use for non-commercial stuff at least. Static logos on scenes. No source available AFAICT.

Java 3D

This is probably a better solution than I give it credit for, but for various reasons it turns me off.

Papervision3D or Away3D

Papervision3D (or PV3D as it is known) is a 3D engine written in Flash. Away3D is a fork of PV3D.

From a purely technical point of view I'd much rather use an X3D plug-in that calls the underlying hardware-accelerated 3D directly. Obviously the performance would be far superior; also the language itself is much better suited to the task. But the reality is that I can't really do that with a free, cross-platform player that doesn't have someone else's logo in the corner. And requiring people to download a plug-in is still (seen as) a significant disincentive to new users. I think that installing a Firefox add-in might be less of a barrier, but there aren't any for VRML or X3D (yet).

However, in other ways it's not really that bad. Flash 10 is on its way and apparently it will include some 3D support for projects like PV3D. (See this interview with Rob Bateman of Away 3D and this interview with Ralph Hauwert of PV3D.)

Also, the sort of stuff I want to start with doesn't require anything terribly amazing in terms of sheer 3D horsepower. Hopefully by the time I have something that people actually find useful, PV3D and Flash will have evolved together into more of a fully-fledged Web 3D (if not X3D) solution.

In the meantime, I guess PV3D is a case of "worse is better", at least compared to X3D and Croquet.

See also the Papervision3D developers blog, some tutorials and other resources and the code.

Croquet

Technically the best solution. Fully open-source and cross-platform. IMHO destined never to catch on widely (compared to Flash). Which just goes to show that there ain't no justice in this game.

Links

A few links to vaguely relevant 3D stuff on the web (some courtesy of Miles):

chronotext.org
"chronotext is a growing collection of software experiments exploring the relation between text, space and time" by Ariel Malka, "a designer and programmer based in Tel-Aviv." Uses Java 3D and Java Web Start.
Ogoglio
An attempt to build a city in the metaverse. By Trevor Smith. Uses Java 3D, Apache & Tomcat etc. but not X3D. Runs in the browser, uses OSS protocols, formats and libraries.
PV3World blog
A sort of community site for Papervision3D.
[ajax3d] # .

27 May 2008 Cross-platform X3D player options
Bevan at the Monaco GP

I would like to develop interactive process visualisation tools that use 3D and virtual reality techniques to provide better, more powerful user interfaces. These tools should be delivered to the user's web browser and should follow modern Web principles such as Web 2.0 and REST where appropriate.

I suspect that eventually 3D capabilities (i.e. the ability to use the underlying hardware acceleration via OpenGL or Direct3D) will appear in Adobe Flash and modern browsers (there is already a Canvas 3D for Firefox 3 and something similar for Opera). But in the meantime browser support for the X3D standard is non-existent, and some sort of plug-in is required to view and interact with 3D content.

Adobe Flex provides the browser with good communication links to server-side code (e.g. true bidirectional sockets) as well as a nice 2D user interface platform. The combination of Flex (or other Ajax techniques) with an X3D plug-in on a web page has been termed Ajax3D.

Alex in Bulgaria

According to the NIST VRML Plugin and Browser Detector page, there are currently no free X3D browser plug-ins that work on Windows, Linux and OS X that don't display some sort of "nag" logo or are otherwise impaired (and/or in beta).

I guess my options for cross-platform browser-based Ajax3D can be summarised as:

Windows-only

Since I mainly use Windows (since my clients all use Windows) I could ignore other platforms until I have something of interest to the world at large. Then I could use whichever plug-in I wanted (probably the Player formerly known as Flux). The problem then is that your content won't work on any other player/platform without (I would expect) some serious re-engineering. Perhaps this could be anticipated in the initial design.

Hillary in Monaco

Best player per platform

I could pick one plug-in (and one browser, i.e. Firefox 3 at this point) per platform and make sure that my code works on those three OS/browser/plug-in combinations. Then at least I'll know my code is reasonably cross-platform, and other people will be able to try out my code much sooner. This is important, as I'll need feedback for both motivation and "navigation"; I need to find out what's actually useful to people, so I head in the direction of something actually marketable.

FOSS all the way

The third option is to use the OpenVRML library and its plug-in wrappers on Windows, Linux and OS X. This might limit my initial audience (possibly not a bad thing) but would give me the greatest flexibility (for the features it actually supports) if I'm prepared to work for it (yay, another big C++ project to work on. At least it uses Boost).

Something to think about, anyway.

[ajax3d] # .


powered by PyBlosxom powered by Nginx Python Paste