Slide 1 : 1/28 : Index : From QuicktimeVR to MPEG4 (index.en.html)
Slide 2 : 2/28 : Introduction : From QuicktimeVR to MPEG4 (intro.en.html)
Slide 3 : 3/28 : 3D File Format, Graphic Library/programming Langage (3d.en.html)
Slide 4 : 4/28 : QuicktimeVR (qtvr.en.html)
Slide 5 : 5/28 : QuicktimeVR examples (qtvr2.en.html)
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/28 : SGI (sgi.en.html)
The OO format of SGI
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/28 : DirectX (directx.en.html)
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/28 : VRML (vrml.en.html)
Slide 9 : 9/28 : VRMLVRML : Examples (vrml_examples.en.html)
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/28 : VRML like... (vrmlLike.en.html)
Slide 11 : 11/28 : VRML directions ... ? (vrmlDirections.en.html)
Slide 12 : 12/28 : Java 3D (java3d.en.html)
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/28 : JOGL (jogl.en.html)
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/28 : VPython (Ex Visual Python) (visualPython.en.html)
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/28 : Communications Middleware (communication.en.html)
Slide 16 : 16/28 : Living Worlds (livingWorlds.en.html)
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 17 : 17/28 : Open Community (openCommunity.en.html)
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 18 : 18/28 : Virtual Communities, Games (virtualCommunity.en.html)
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 19 : 19/28 : High Level Architecture (HLA) (hla.en.html)
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 infrastructure
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 20 : 20/28 : Java Shared Data Toolkit (JSDT) (jsdt.en.html)
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 21 : 21/28 : CavernSoft (cavern.en.html)
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 22 : 22/28 : DIVE (dive.en.html)
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 23 : 23/28 : MPEG4 (mpeg4.en.html)
Slide 24 : 24/28 : DIS (dis.en.html)
Slide 25 : 25/28 : What Else (end.en.html)
Slide 26 : 26/28 : News (news.en.html)
Real-time Applications via the Internet
Eutelsat, European Spatial Agency, is coordinating a pilot project named VERDI (Virtual Environments for Real-time applications over the Internet) in the framework of the Artes 3 programme of ESA dealing with VR and rich media applications over satellite notably for e-learning and e-marketing. VERDI will be the subject of a presentation and demonstration at VR World Congress V. See item 202.28 for details.
Philippe Van Nedervelde, CEO, E-Spaces (Belgium) and Co-CEO, X3D Technologies (USA) will present "Interactive Virtual 3D World Communities" at VR World Congress V.Distributed communities are the natural next step in the evolution of networked computing. They facilitate not just mobility of content to members, but also mobility of context. To support communities on a wide scale requires developments from low-level communication protocols supporting transparent access to mobile components, through to distributed operating systems, high-level programming languages and models allowing complex interactions.
LAB@FUTURE focuses on three strategic e-Learning experiments for laboratory education (Science-Fluid Dynamics, Mathematics-Geometry, and Arts and Humanities). Experiments will be run at large scale involving 20-50 schools from eight countries. The underlying technologies are based on operational and scalable paradigms including Augmented Reality, Mixed Realities, Haptics, Multiuser VR worlds and mobile technologies. LAB@FUTURE will be the subject of a presentation and demonstration by Dr Costas Davarakis at VR World Congress V.
Partners in LAB@FUTURE are Systema Informatics (Greece), University of Helsinki (Finland), Universitaet Bremen (Germany), Parallelgraphics (Ireland), Vizualizacijo (Slovenia), Technische Universitaet Wien (Austria) and Eidgenoessische Technische Hochschule Zuerich (Switzerland). Participating at VR World Congress V could help you enter an international consortium for a VR/i3D project.
Also for e-marketing, there will be a demonstration of Virtual Showroom: new ways of using 3D real-time visualization for e-commerce at VR World Congress V. See item 202.28 for details.
Slide 27 : 27/28 : Web3D Working Groups (web3dWorkingGroup.en.html)
(Extensible 3D) Task Group Goal: The X3D working group has
created the foundation for the X3D initiative by defining the X3D Core specification
and by continuing to define, implement and promote the XML bindings for
X3D. The specification effort is supported through the Commercialization
Team's Browser Working Group
and Implementation Team's Source Code Working
|CAD 3D Working Group|
|Goal: To enable technical cooperation
between vendor companies to help resolve the issues of sharing and viewing
of CAD/ 3D data via a common file format and viewing engine.
|Java Bindings Working Group|
|Goal: To standardize Java interfaces
to OpenGL and provide proof of concept renderers for Xj3D using these Java
|Source Code Management|
|| Goal: to manage and develop
the source code maintained by the Web3D Consortium. This currently includes
the blaxxun Contact source code (VRML browser) as well as the XJ3D loader
(VRML & X3D browser) under CVS.
|Intellectual Property Rights (IPR)|
|Goal: To survey standards-related
IPR and source licensing issues and recommend policies to the Web3D Consortium.
Goal: To continue the relationship between The Web3D Consortium and the Motion Pictures Experts Group (MPEG) and persue the interoperability and convergence of standards.
Goal: To support VRML/X3D content development and VRML/X3D content developers.
Interactive Simulation (DIS)
Goal: To establish initial networking conventions for building multicast-capable large-scale virtual environments (LSVEs).
Goal: To discuss means for representing geo-referenced data in VRML/X3D, and to develop tools, recommended practices and standards necessary to generate, display and exchange such data.
Goal: To create a standard VRML/X3D representation for humanoids.
Goal: To create a standard interface between a VRML world and an external environment.
Goal: To increase the realism of VRML/X3D worlds and decrease network downloads by defining a small, cross-platform library of locally resident media elements (textures, sounds and 3D objects) and a uniform mechanism by which content creators can incorporate these media elements into their worlds.
reality transport protocol (vrtp)
Goal: To provide client, server, multicast streaming & network-monitoring capabilities in support of internetworked 3D graphics and large-scale virtual environments (LSVEs).
Goal: To provide a forum where conformance testing issues can be discussed. In particular, this group will identify areas where implementations are diverging, and determine appropriate courses of action.
Rich Media Working Group
Goal: The Rich Media 3D Working Group is organized by the Web3D Consortium to develop a standard to describe multimedia content in the context of a 3D presentation engine. The standard is both to inform and be interoperable with other standards in this space, such as VRML200x and MPEG-4.
Former Working Groups - The following working groups
have been retired due to their work being superceeded by other working
groups or task groups.
Goal: To define one or more extension nodes to allow content creators to have access to keyboard input inside their VRML worlds.
Goal: To define standards and recommended practices for streaming VRML scene graphs and the streaming of arbitrary data into a VRML scene graph.
Goal: To facilitate 3D-based media integration -- the creation, delivery, rendering and interaction of synchronized 3D, 2D, video, text, and audio media types
Goal: To create and deploy digital tools and environments for research and learning about living systems.
Goal: To discuss and develop the binary encoding of VRML files, emphasizing the reduction of file size for fast transmission, and the simplification of file structure for fast parsing.
Goal: To find ways to bring VRML and the Java 3D (TM) programming API closer together and to improve interoperability between Java 3D and VRML.
Goal: To define a conceptual framework and specify a set of interfaces to support the creation and evolution of multi-user (and multi-developer!) applications in VRML.
Goal: To use natural language to interact with VRML animations to enhance the naturalness of the interaction and the flow of information between user and animation through the use of Question/Answer, Statement/Response dialogs and natural language based command and control of characters and operating system.
Generation Script API
Goal: To research and develop a future generation Script Node Language API.
Goal: To discuss and develop object-oriented extensions for VRML.
Slide 28 : 28/28 : QTVR others (qtvr3.en.html)
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