Slide 1 : 1 / 29 : Index : From QuicktimeVR to MPEG4
Slide 2 : 2 / 29 : Introduction : From QuicktimeVR to MPEG4
Slide 3 : 3 / 29 : 3D File Format, Graphic Library/programming Langage
Slide 4 : 4 / 29 : QuicktimeVR
Slide 5 : 5 / 29 : QuicktimeVR examples
Terrace, Pool, Reception, Bar, Restaurant and magnificent views of Dunk Island and the Coral Sea.
At 2228 meters above sea level Mount Kosciuszko is Australia's highest peak.
Slide 6 : 6 / 29 : SGI
The OO format of SGI
Introduction of a Scene Graph
OpenGL Performer provides a powerful and extensible programming interface (with ANSI C and C++ bindings) for creating real-time visual simulation and other interactive graphics applications.
OpenGL is a graphical library introduced by Silicon Graphics in 1992 to allow developers to write a single piece of code, based on the OpenGL API2, which is supposed to run in various platforms (as long as they have an OpenGL library implementation).
Since its inception OpenGL has been controlled by an Architectural Review Board whose representatives are from the following companies: 3DLabs, Compaq, Evans & Sutherland (Accelgraphics), Hewlett-Packard, IBM, Intel, Intergraph, NVIDIA, Microsoft, and Silicon Graphics.
Most of the Computer Graphics research (and implementation) broadly uses OpenGL which has became a de facto standard. Virtual Reality is no exception to this rule.
OpenGL Architecture Review Board, http://www.opengl.org
There are many options available for hardware acceleration of OpenGL based applications. The idea is that some complex operations may be performed by specific hardware (an OpenGL accelerated video card such as those based on 3DLabs Permedia series or Mitsubishis 3Dpro chipset for instance) instead of the CPU which is not optimized for such operations. Such acceleration allows low-end workstations to perform quite well yet at low cost.
We will see that such is the importance of OpenGL that both VRML and Java3D are built on top of it, i.e. if a given workstation has hardware support for OpenGL the VRML browser and Java3D, will also benefit from it.
These standards are mainly concerned with graphics and rendering of 3D scene graphs. They have very little or no consideration about communication between users and other networking related issues.
Slide 7 : 7 / 29 : DirectX
Microsoft DirectX® is a group of technologies designed by Microsoft to allow Windowsbased computers to run and display applications rich in multimedia elements such as fullcolor graphics, video, 3-D animation, and surround sound. DirectX is an integral part of Windows 98 and Windows 2000, as well as Microsoft® Internet Explorer 4.0. DirectX components may also be installed in Windows 95 as an optional package.
DirectX allows a compliant application to run in any Windows based system, independent of particularities of hardware of each system. In some sense it seems similar to OpenGL; however there is a logical limitation in disponibility as it is a Windows specific component.
DirectX accomplishes its task via a multilayered structure. The Foundation layer is responsible for resolving any hardware dependent issue. DirectX also allows developers to deploy creation and playback of multimedia content via DirectXs Media layer. A third layer, Component, complets the high level protocol layer stack.
Some VRML browsers also provide a Direct3D based version
(as well as the common
OpenGL). A good example is blaxxuns Contact 4.04
Slide 8 : 8 / 29 : VRML
Slide 9 : 9 / 29 : VRMLVRML : Examples
VRML 2.0, which is the latest version of the well-known VRML format, is an ISO standard (ISO/IEC 14772-1:1997). Having a huge installed base, VRML 2.0 has been designed to support easy authorability, extensibility, and capability of implementation on a wide range of systems. It defines rules and semantics for presentation of a 3D scene.
Using any VRML 2.0 compliant browser, a user can simply use a mouse to navigate through a virtual world displayed on the screen. In addition, VRML provides nodes for interaction and behavior. These nodes, such as TouchSensor and TimeSensor, can be used to intercept certain user interactions or other events which then can be ROUTed to corresponding objects to perform certain operations.
Moreover, more complex actions can take place using Script
nodes which are used to write programs that run inside the VRML world. In addition
to the Script node, VRML 2.0 specifies an External Authoring Interface (EAI)
which can be used by external applications to monitor and control the
VRML environment. These advanced features enable a developer to create an interactive 3D environment and bring the VRML world to life.
Slide 10 : 10 / 29 : VRML like...
Slide 11 : 11 / 29 : VRML directions ... ?
Slide 12 : 12 / 29 : Java 3D
Java 3D is part of the Java Media APIs developed by Javasoft. Providing developers with high level constructs for creating and manipulating 3D geometry in a platformindependent way, the Java 3D API is a set of classes for writing three-dimensional graphics applications and 3D applets.
Since a Java3D program runs at the same level as any other Java program/applet
in the virtual machine, controlling the virtual world
becomes very easy through calling the Java3D API from any Java program. Although Java3D and VRML both appear to target the same application area, they have fundamental differences. VRML is aimed at a presentational application area and includes some support for runtime programming operations through its External Authoring Interface and the Script node, as mentioned earlier. Java 3D; however, is specifically a Java language API, and is only a runtime API. Java 3D does not define a file format of its own and is designed to provide support for applications that require
higher levels of performance and interactivity, such as real-time games and sophisticated mechanical CAD applications. In this sense, Java 3D provides a lower-level, underlying platform API.
Many VRML implementations can be layered on top of Java 3D. In fact, it is possible to write a VRML browser using Java 3D, such as the browser developed by VRML consortiums Java3D and VRML Working group.
Slide 13 : 13 / 29 : JOGL
Chris Campbell (July 28, 2003 9:46PM PT)
[I was going to reply to Chris's excellent weblog in the talkback section, but I started rambling and it touched on some other thoughts I've had, so I decided to ramble here instead... Keep in mind that I'm only half-wearing my Sun cap right now (kind of like one of those green and brown, half A's, half Giants caps that were popular in the '89 Series), so I'm not speaking entirely on behalf of the company.]
In response to Chris Adamson's recent blog entry, The End (of Java3D) and the Beginning (of JOGL) :
I'd just like to point out that JOGL is not an all-out replacement for Java3D. The two can co-exist, and one could potentially rewrite the platform-specific layer of J3D to sit atop JOGL. Java3D does indeed act as an "isolation layer" for the underlying platform when a developer uses its "immediate mode" APIs, but more importantly Java3D offers a high-level scene graph API. Many educational and corporate institutions have chosen Java3D because of its scene graph offerings, in addition to the appeal of its cross-platform nature.
On the other side of the coin you have the traditional game shops, who want to get as close to the graphics platforms/hardware as possible. Many of these folks are finding JOGL a better fit because it's a lower-level API, and they can make use of their existing OpenGL knowledge/code base. So I think it depends on the type of application you're developing which API best suits your needs. The gaming community has been clamoring for official Java bindings for OpenGL for quite some time, so that's where Sun's efforts seem to be heading, but don't count Java3D out for good; it still serves its purpose quite well as a higher level 3D graphics library.
Related to this discussion, we're also starting to see some folks on the javagaming.org forums asking whether JOGL would be a better fit than Java 2D for their apps/games. Again, JOGL is not the end-all and be-all Java graphics library. Many people don't realize that OpenGL is actually an expressive 2D library, despite its tight association with the 3D world. However, there's so much more to 2D graphics than rendering lines and sprites really fast (think medical imaging, complete support for any image format or color/sample model, printing, text rendering, stable offscreen rendering, etc). This is where Java 2D really blows the proverbial socks off all the other 2D libraries out there.
My answer to those folks on javagaming.org is the same as my J3D response: Java 2D is a higher-level, easier-to-use, more robust, more full-featured 2D rendering API than JOGL. Like J3D, the two technologies can play well together (if we do our job correctly, there should be no reason why the two API's couldn't be used in the same application). Also like J3D, we use hardware-accelerated graphics libraries (such as Direct3D and OpenGL) under the hood, so for many applications, performance should be virtually the same whether you use Java 2D or JOGL. As I mentioned earlier for J3D, we could also port our OpenGL-based Java 2D pipeline to sit atop JOGL (in fact, we're exploring this idea for a future release, which should further decrease our dependence on native C code). If you want to access the very latest in hardware technology, such as programmable shaders, or if you have large data sets of vertices and you're comfortable with the increased complexity of OpenGL, then JOGL would certainly be a better fit.
So the choice is yours... Each API has its benefits; it's up to you to evaluate which one is best-suited for your next project! Chris Campbell is an engineer on the Java 2D Team at Sun Microsystems, working on OpenGL hardware acceleration and imaging related issues.
Slide 14 : 14 / 29 : VPython (Ex Visual Python)
Here is a complete VPython program that produces a 3D animation of a red ball bouncing on a blue floor. Note that in the "while" loop there are no graphics commands, just computations to update the position of the ball and check whether it hits the floor. The 3D animation is a side effect of these computations.
from visual import *
floor = box (pos=(0,0,0), length=4, height=0.5, width=4, color=color.blue)
ball = sphere (pos=(0,4,0), radius=1, color=color.red)
ball.velocity = vector(0,-1,0)
dt = 0.01
ball.pos = ball.pos + ball.velocity*dt
if ball.y < ball.radius:
ball.velocity.y = -ball.velocity.y
ball.velocity.y = ball.velocity.y - 9.8*dt
The program starts by importing the module "visual" which enables 3D graphics.
A box and a sphere are created and given names "floor" and "ball" in order to be able to refer to these objects.
The ball is given a vector velocity.
In the while loop, "rate(100" has the effect "do no more than 100 iterations per second, no matter how fast the computer."
The ball's velocity is used to update its position, in a single vector statement that updates x, y, and z.
Visual periodically examines the current values of each object's attributes, including ball.pos, and paints a 3D picture.
The program checks for the ball touching the floor and if necessary reverses the y-component of velocity,
otherwise the velocity is updated due to the gravitational force.
Slide 15 : 15 / 29 : Other Languages
Slide 16 : 16 / 29 : Communications Middleware
Slide 17 : 17 / 29 : Living Worlds
Living Worlds (LW) is a Working Group of the VRML Consortium, supported by a large number of organizations. The LW effort aims to define a set of VRML 2.0 conventions that support applications which are multiuser and interoperable. Scenesharing", which is concerned with the coordination of events and actions across the network, is one of the main elements of LW. In short, LW is a first attempt to devise a common VRML 2.0 interface to support basic interaction in multi-user virtual scenes and enables each participant to know that someone has arrived, departed, sent a message or changed something in the scene.
Although LW specifies rules for object sharing and exchanging
update messages across the network, it is not a communications middleware
and the reason it is being presented in this section is that it is also not concerned with graphics and rendering. In fact LW does not care about the actual technical implementation of the communications system that enables world sharing. Referred to as the Multi User Technology (MuTech), the actual system that runs on the network and is responsible for message passing among clients can be developed by any technology as long as its interface to the VRML world follows the LW specifications. Currently no implementations of LW are publicly available.
Slide 18 : 18 / 29 : Open Community
Open Community (OC) is a proposal of standard for multiuser enabling technologies from Mitsubishi Electric Research Laboratories. Spline (Scalable Platform for Large Interactive Networked Environments) is an implementation compliant with OC which provides a library with ANSI C and soon Java API. Such library provides very detailed and essential services for real-time multi-user cooperative applications. For its communication, Spline uses the Interactive Sharing Transfer Protocol (ISTP) which is a hybrid protocol supporting many modes of transportation for VR data and information, namely
The last two subprotocols are build upon the other three. ISTP does not provide videostreaming capability to date, however such support could be provided by extending ISTP with an extra appropriated subprotocol.
Slide 19 : 19 / 29 : Virtual Communities, Games
Cryo : liquidation judiciaire prononcée
Business - 2 Octobre 2002
Cryo Networks à la corbeille !
Business - 26 Septembre 2000
Philippe Ulrich et la théorie des Mantas
La solution Open Source de Geometrek est peut être
une alternative ou un point de départ pour ceux qui veulent mettre au
point une communauté virtuelle sans avoir à être dépendant
d'un éditeur. Le serveur et le client sont développés en
JAVA, Deep Matrix est compatible avec les plug in VRML les plus courants (Cortona,
Blaxxun, et CosmoPlayer), plug in qu'il utilise comme simple moteur 3D. Vous
l'avez compris, la solution est très ouverte, elle est en plus gratuite
pour une utilisation non commerciale.
Voici un autre serveur multi-utilisateurs Open Source.
Il est bâti sur la même architecture que Deep Matrix : un serveur
en Java, un client Java avec un plug in VRML pour afficher le monde virtuel.
Le protocole de partage de monde (déplacement d'objets, message privé,
événements partagés) est intéressant. VNET vous
est fourni avec ses sources.
VNET et Deep Matrix sont des solutions qui sont abandonnées depuis l'année 1999.
Suite aux problèmes financiers de Blaxxun, beaucoup de créateurs de mondes virtuels ne savent pas comment continuer à partager leurs créations, si Blaxxun venait à fermer son serveur gratuit. Certains groupes d'utilisateurs s'organisent actuellement pour "déterrer" VNET et DeepMatrix. Ces deux solutions sont effet stables et pleines de promesses, elles pouraient constituer une alternative à la solution gratuite de Blaxxun. Espèrons tout de même que Blaxxun survive à la tempête !
Slide 20 : 20 / 29 : High Level Architecture (HLA)
HLA is a framework for distributed simulation systems
developed by the U.S. Defense Modeling and Simulation Office (DMSO). HLA attempts
to provide a very generic environment that any virtual object can attach to
in order to participate in a simulation. It is a very well-thought architecture
that defines standard services and interfaces to be used by all participants
in order to support efficient information exchange. HLA is adopted as the facility
for Distributed Simulation Systems 1.0 by the Object Management Group (OMG)
and is now in the process of becoming an open standard through the IEEE.
HLA's Runtime Infrastructure (RTI) is a set of software components that implement the services specifies by HLA. Today, a few RTI implementations for different platforms are available.
If you want to learn HLA... http://www.ecst.csuchico.edu/~hla/courses.html
DIS / HLA - military standards tailored to the requirements of simulation and war games. DIS is an
efficient, if inflexible, protocol for medium scale simulation. The imaginatively named Higher Level
Architecture (HLA) is the spiritual successor to DIS, although it focuses more closely on the
problems of arranging very large-scale simulations rather than the run-time distribution of data.
HLA remains a hot topic in defence circles. Limitations of the specification provide great
opportunities for the lab, with the prospect of serious defence dollars on offer for a full simulation
Adam Martin wrote:
> From: "Lee Sheldon" <firstname.lastname@example.org>
>> Ann Arbor, MI - October 2, 2001 - Cybernet Systems, an Ann
>> Arbor-based research and development firm, today announced the
>> availability of a new massive multi-player networking
>> architecture that enables developers to create online games in
>> which tens of thousands of players can simultaneously interact
>> in the same environment.
>> Anybody have any thoughts about this?
> Having read all their stuff, and looked at the technology, I'd say
> its not as interesting as they make it sound; my impression from
> what they are saying publicly is that they are merely rehashing
> some pretty old ideas from wide area network multimedia stream
> distribution, wrapping it up as "applicable to MMOGs" and trying
> to patent it. Will check out the patent when we can (they are
> potential competition to our work) but based on their "white
> paper" I'm rather disappointed by the disparity between the
> marketing hype and the reality.
They're one of a couple players in the field currently. Each of the
current products is taking a somewhat different approach, both in
technological details and the business model behind the company.
The above summary of Open Skies leaves out much of their history and
grounding in solid research and implementations. Open Skies bases
their product on HLA, the Department of Defense standard "High Level
Architecture" which was the successor to the older DIS
standards. Cybernet has been working in that field for years, so I'd
doubt that that part of their product is new or totally unproven.
(That's not something that I'd expect to be true for some of the
other products in the field.)
A good starting point for information on HLA itself is at
The High Level Architecture (HLA) is a general purpose
architecture for simulation reuse and interoperability. The
HLA was developed under the leadership of the Defense Modeling
and Simulation Office (DMSO) to support reuse and
interoperability across the large numbers of different types of
simulations developed and maintained by the DoD. The HLA
Baseline Definition was completed on August 21, 1996.
Now, as Adam described, in addition to that, they're also pitching
their distributed caching/etc system.
In their favor, they also have a lot more public documentation than
some, possibly all, of their competitors. Also, if more people were
to be following the HLA standards, it might be interesting to see to
what extent interoperability among the products (at the source level
if nothing else) might be possible or useful.
They don't appear to have a lot of direct game systems or anything
at that level pre-built and part of their package. They seem to
currently be focusing their product offerings at the lower levels,
with promises of more to come later and sample code that does some
of the game system type things. So it isn't something that
currently appears to be aiming at the same type of market as the
MMORPG Construction Kit. :)
Their licensing isn't very clear to me (without contacting them).
Some of their distributed caching/server technology appears at least
superficially to be similar to TerraPlay:
Overall, I think there's a good bit of interesting fodder for
MUD-Dev discussion in their technology, if there's interest in that
sort of thing on the list. (I don't think HLA has ever really been
discussed on list? Or really any of the practical models for
scaling that are currently seeing commercial application.)
Slide 21 : 21 / 29 : Java Shared Data Toolkit (JSDT)
Although not specifically designed for 3D simulations and virtual environments, JSDT is part of the Java Media APIs developed by Javasoft and provides real-time sharing of applets and/or applications. JSDT provides many facilities such as tokens that can be used for coordinating shared objects. It also provides different modes of transportation including a reliable socket mode, RMI mode which uses Remote Method Invocation, and a multicast mode that makes use of the Lightweight Reliable Multicast Protocol (LRMP) and is useful for shared application with a large number of participants.
Java and its associated media streaming and networking packages represent an alternative basis for developing collaborative virtual environments. The core class libraries provide socket and distributed object (RMI) models of communication. In addition, there are a number of standard Java extensions that provide specialised data distribution mechanisms. Two extensions are especially relevant to the task of building collaborative virtual environments: the Java Shared Data Toolkit and the Java Media Framework.
The Java Shared Data Toolkit (JSDT) provides an abstract model of the network, designed specifically to support collaborative applications.
"The JavaTM Shared Data Toolkit software is a development library that allows developers to easily add collaboration features to applets and applications written in the Java programming language."
"This is a toolkit defined to support highly interactive, collaborative applications written in the Java programming language."
The fundamental abstraction used in the JSDT is that of a shared byte buffer. These buffers are un-typed blocks of data, but with the use of Java object serialisation can be used to replicate complete graphs of objects. Buffer replication can be performed over a range of different network transports, including a reliable multicast system as well as RMI, sockets and even http. A great strength of JSDT is that it is pure Java, and hence 100% portable. The main limitation is that it is not tuned for high performance or low latency, so its suitability for building collaborative VEs is an open question. If object serialisation is used then JSDT will also have problems inter-operating with non-Java clients.
"The Java Media Framework (JMF) is an application
programming interface (API) for incorporating time-based media into Java applications
"The Java Media Framework API specifies a unified architecture, messaging protocol and programming interface for playback, capture and conferencing of compressed streaming and stored timed-media including audio, video, and MIDI across all Java Compatible platforms."
Essentially, JMF allows you to manage audio and video
streams within a Java program. The crucial point about JMF is that most of the
"real" work is done in native code. Native platform codecs are used
throughout which means that performance is excellent, but compatibility is harder
The combination of the core Java networking classes, JSDT, JMF, a portable execution format (the Java class file) and automatic platform neutral serialisation mechanism make Java a very attractive base on which to build collaborative VEs. As with Java3D the principle concern is the runtime performance of Java. However, experiments conducted by the authors with early implementations of Java indicate that network bandwidth is a more common cause of performance bottlenecks : even a simple interpreted JVM can saturate a 155Mbit ATM network. Interoperability problems not-withstanding, Java should be considered an excellent environment for networking applications.
Texte extract from a non published paper by Sam Taylor and Hugh Fisher
Slide 22 : 22 / 29 : CavernSoft
CAVERNsoft is most succinctly described as a C++ hybrid-networking/database library optimized for the rapid construction of collaborative Virtual Reality applications. Using CAVERNsoft VR developers can quickly share information between their applications with very little coding. CAVERNsoft takes over the responsibility of making sure data is distributed efficiently.
The Information Request Broker (IRB) is the nucleus of all CAVERN-based client and server applications. An IRB is an autonomous repository of persistent data driven by a database, and accessible by a variety of networking interfaces. The goal is to develop a hybrid system that combines a distributed shared memory model with distributed database technology and realtime networking technology under a unified interface to allow the construction of arbitrary collaborative VR (CVR) topologies.
Slide 23 : 23 / 29 : DIVE
Still under active development, DIVE is a well-known and widely respected toolkit. It is designed around the notion that the environment should serve both for interactions and for developing new material. It makes extensive use of Tcl to provide extensibility and provides persistence through the use of a centralised database server.
Slide 24 : 24 / 29 : MPEG4
Slide 25 : 25 / 29 : DIS
Not modified since 2000 : http://web.nps.navy.mil/~brutzman/vrtp/dis-java-vrml/
Not midified since 2002 : http://cgi.ncsa.uiuc.edu/cgi-bin/General/CC/irg/clearing/projectAbstract.pl?projid=850
Slide 26 : 26 / 29 : What Else
Slide 27 : 27 / 29 : News
Slide 28 : 28 / 29 : Web3D Working Groups
Slide 29 : 29 / 29 : QTVR others
Le principe du panorama QT est d'assembler une succession
d'images prises à 360° autour de vous, afin d'en générer
une bande circulaire que l'on fait tourner à l'aide de sa souris. Tout
le monde en a déjà vu, c'est assez spectaculaire, quand le sujet
s'y prête. Depuis les débuts, le format s'est enrichi :
- du panorama multinodes (en cliquant sur une zone définie du panorama, on passe à un autre, comme dans cette belle balade en Corse http://evm.vr-consortium.com/regions/zzf/commun/framclub.htm
- du format Cubic (en plus de la dimension horizontale, on peut voir une scène également à 360° en vertical) http://www.apple.com/quicktime/gallery/cubicvr/
- du son panoramique http://www.axisimages.com/BelAirHotel_qtvr/mid.html
- des apports de Flash http://blueabuse.totallyhip.com/flash/
- de Zoomify, http://www.zoomify.com/
Le superbe baptistère de Parme http://vrm.vrway.com/projects/parma/
- architecture/immobilier (visite virtuelle d'une maison),
- tourisme (paysages, monuments, sites historiques, galeries d'art)
À l'intérieur de la pyramide de Khufu, Égypte http://www.pbs.org/wgbh/nova/pyramid/explore/khufuenter.html
Les salles du musée du Louvre, un classique http://www.louvre.or.jp/louvre/QTVR/francais/index.htm
Une présentation originale d'oeuvres d'art http://www.axisimages.com/vrviewer/index.html
Les sites classés au Patrimoine Mondial de l'Humanité par l'Unesco, superbe collection de VRs
avant que tout cela ne devienne que du virtuel, comme ce palais chinois, qui n'existe plus, détruit par un incendie http://preview.whtour.net/asia/cn/wudangshan/news.html
- industries (intérieur d'automobiles,...) http://www.buick.com/lesabre/photos/360/
Matériel : un appareil photo numérique doté d'un objectif grand-angle (équivalent d'un 28 ou 35 mm), fixé à un pied-photo à rotule graduée. Le plus simple est de prendre une photo en verticale tous les 22,5°, soit 16 photos en tout, la gestion des raccords entre vues étant optimale. Mais plus que la technique (passé l'apprentissage, c'est très facile en fait), l'intérêt, et donc la réussite de votre panorama VR, est lié au choix de votre point nodal, l'endroit d'où vous prendrez votre séquence de photos, ainsi que les conditions de lumière (c'est toujours de la photo). Quelques essais et repérages sont souvent nécessaires, au début.
Logiciels : VR Worx 2.1 http://www.vrtoolbox.com/vrthome.html (le plus simple pour débuter)
Stitcher http://www.realviz.com/products/st/index.php (plus préçis, permet de faire aussi du CubicVR)
Quelques sites excellents, à explorer :
VRWay - http://vrm.vrway.com/
Axis Images http://www.axisimages.com/home.html
Le QuickTime VR Objet , moins utilisé, est pourtant intéressant. Cette fois, l'appareil photo est fixe, et l'objet à photographier est posé sur un plateau rotatif, que l'on tourne à intervalles réguliers. À l'écran, l'objet peut alors être scruté sous toutes ses facettes, avec, comme pour le panorama, la possiblité de zoomer sur un détail. Idéal pour le site d'un antiquaire ou d'un bijoutier, ou pourquoi pas, pour présenter une collection de robes de mariée, des modèles réduits ou des bottes de chasse. Jusqu'aux plus bizarres http://www.apple.com/hardware/gallery/imac_july2002_320.html
Juste qqs exemples parmi beaucoup d'autres :
La magie, parfois, opère: http://www.axisimages.com/gallery_2001/danse/danse.html (trouvez la bonne vitesse de rotation).
Puisqu'on est dans les tours de magie :
http://www.outline.be/magie/myst1.html (vider le cache entre chaque tour)
Je vous donne pour finir qqs liens généralistes sur QuickTime, pour aller plus loin :
Et un exemple de ce qu'on peut faire avec LiveStage Pro
panØgraph -photographies panoramiques à 360°
une page de liens
360° ressources.de (superbe !)
D'autres tutoriaux pour apprendre et se perfectionner