immersive education initiative -...

22
Immersive Education Initiative. WORKING DRAFT: PLANNING DOCUMENT This document provides a high level overview of the Immersive Education platform ecosystem open file format project. This document is intended only for Immersive Education platform developers and Education Grid collaborators. If you have received this document in error please return it to: Name: Aaron E. Walsh Mail: 1 Nassau Street Boston, MA 02111 Web: http://gridinstitute.com/people/aew Email: aaron.walsh (AT) gridinstitute.com Phone: +1-617-777-0452 WORKING DRAFT: PLANNING DOCUMENT

Upload: others

Post on 13-Sep-2019

37 views

Category:

Documents


0 download

TRANSCRIPT

Immersive Education Initiative.

WORKING DRAFT: PLANNING DOCUMENT

This document provides a high level overview of the Immersive Education platform ecosystem open file format project. This document is intended only for Immersive Education platform developers and Education Grid collaborators. If you have received this document in error please return it to:

Name: Aaron E. Walsh Mail: 1 Nassau Street Boston, MA 02111 Web: http://gridinstitute.com/people/aew Email: aaron.walsh (AT) gridinstitute.com Phone: +1-617-777-0452

WORKING DRAFT: PLANNING DOCUMENT

IMMERSIVE EDUCATION INITIATIVE 2 of 22 PLANNING DOCUMENT

DOCUMENT: Immersive Education Open File Format Project Overview STATUS: Working Draft REVISED: 2008-05-14 AUTHORS and REVIEWERS:

Byrne, Paul, Sun Microsystems Carfora, John, Amherst College Dapkus, Steven, Google Deffeyes, Suzy, IBM Research Edlund, Aake, Royal Institute of Technology Fisher, Glenn, Linden Labs Greg Corson, Sony Computer Entertainment US R&D Ilomaki, Antti, realXtend Johnson, Larry, New Media Consortium L’Amoreaux, Claudia, Linden Labs Lamont, Ian, Computerworld Levine, Alan, New Media Consortium Levinson, Dave, Cranial Tap Limber, Mark, Google Lombardi, Julian, Duke University Mayo, Merrilea, Kauffman Foundation McCahill, Mark, Duke University Nagel, H. Nicholas, Media Grid Foundation Orkin, Jeff, MIT Media Lab Patil, Sachin, Federation of American Scientists (FAS) Pirkola, Jani, realXtend Roebuck, Kevin, Sun Microsystems Roper, Michelle, Federation of American Scientists (FAS) Walsh, Aaron E., Media Grid Foundation Yankelovich, Nicole, Sun Microsystems

IMMERSIVE EDUCATION INITIATIVE 3 of 22 PLANNING DOCUMENT

TABLE OF CONTENTS

Immersive Education Overview

“Create Once, Experience Everywhere”

Open 3D/VR File Format Standards: Extensible 3D (X3D) and COLLADA

Native File Formats vs. Transcoding vs. Direct Support for Open File Formats

Transcoding vs. Direct Support

Transcoder Architecture

Second Life Import/Export Tool

COLLADA for Second Life

COLLADA for Wonderland and Croquet

References

Immersive Education Overview Immersive Education combines interactive 3D graphics, commercial game and simulation technology, virtual reality, voice chat, Web cameras (webcams) and rich digital media with collaborative online course environments and classrooms. Immersive Education uses these and other advanced technologies to take distance learning and self-directed learning to a new level.

IMMERSIVE EDUCATION INITIATIVE 4 of 22 PLANNING DOCUMENT

Unlike traditional distance learning, Immersive Education is designed to engage students in the same way that today's best video games grab and keep the attention of players. Immersive Education thoughtfully combines interactive virtual reality, simulations and learning games with sophisticated digital media and collaborative online environments. Immersive Education gives students a sense of "being there" even when attending class in person is not possible or practical. This, in turn provides faculty and remote students with the ability to connect and communicate in a way that greatly enhances the learning experience. Immersive Education is developed by the Immersive Education Initiative, a non-profit international collaboration of universities, colleges, research institutes, consortia and companies that are working together to define and develop open standards, best practices, platforms, and communities of support for virtual worlds, simulation and game-based learning and training systems. The Immersive Education Initiative is an activity of the Media Grid international standards group. The Media Grid is a not-for-profit standards organization that is actively applying open standards to specific problem spaces, such as distance learning, digital libraries, and the impact of digital media on culture and society. Media Grid and Immersive Education are sponsored by the Grid Institute, a research company established in 2005 to lead the design and development of the emerging global Media Grid in collaboration with industry, academia, and governments from around the world. The Media Grid is a novel decentralized network infrastructure and software development platform based on new and emerging distributed computational grid technology. The Media Grid is an on-demand public computing utility that a wide range of software programs and Web sites can access for delivery and storage of content (graphics, video, animations, movies, music, games, text, and so forth), media processing services (such as data visualization and simulation, medical image sharpening and enhancement, motion picture scene rendering, special effects, transformations and compositing, and other digital media manipulation capabilities) as well as traditional grid services not focused on digital media. Simply put, the Media Grid is a public network that builds upon, and improves, the existing Internet and World Wide Web to provide advanced digital media delivery, storage, and processing capabilities in addition to general grid computing capabilities not specifically related to media.

Immersive Education and the Media Grid were recently recognized with a national award by Computerworld as “innovative, promising technologies which hold the potential to significantly affect society in the near future ”

“Create Once, Experience Everywhere” In the context of Immersive Education the term platform refers to any virtual world, simulator or 3D game-based environment that may be used for teaching or training purposes. The Immersive Education platform has evolved considerably over the past decade and the 3rd generation (“next generation”) is now under development. Whereas the previous two generations of Immersive Education were based on specific client-side platforms tied to proprietary server-side infrastructures, the future of Immersive Education revolves around multiple client-side platforms working in unison through the server-side Education Grid. Based upon open source technologies and open standards, the Platform Ecosystem and Education Grid will provide educators with a comprehensive end-to-end infrastructure for a new generation of virtual world learning environments, interactive learning games, and simulations. To this end the Immersive Education Initiative has a mandate to design, develop and promote open and platform-neutral file formats that enable interoperable learning objects and experiences to be seamlessly deployed across a wide variety of virtual world and game platforms (e.g., Second Life, Croquet, Wonderland, and other 3D/VR platforms) as Figure 1 illustrates. Figure 1: Open, platform-neutral file formats will

make it possible for learning objects and experiences to be seamlessly deployed across

a wide variety of virtual world and game platforms. In this figure the Education Grid, depicted by the inner gray circle, is shown delivering learning content to Second Life, Wonderland, Croquet and other Immersive Education platforms (the purple sphere represents both individual

learning objects and complete learning experiences). In other words, each

Immersive Education platform will support the same open file format in the near future.

Second Life, Wonderland, and Croquet do not currently support the same 3D/VR file formats, however. Today’s virtual world and game platforms are essentially walled gardens; users are not able to interact with the same objects or experiences from different platforms, nor are users of one platform able to interact with users residing in another platform. Although the Immersive Education Initiative does not plan to address the latter concern (user interoperability across platforms), we are actively standardizing cross-platform content interchange by adopting and promoting open, platform neutral 3D/VR file formats that enable the promise of “create once, experience everywhere.”

IMMERSIVE EDUCATION INITIATIVE 5 of 22 PLANNING DOCUMENT

Open 3D/VR File Format Standards: Extensible 3D (X3D) and COLLADA X3D (Extensible 3D; ISO/IEC FDIS 19775-1.2:2008) and COLLADA ("COLLAborative Design Activity") are two leading open and royalty-free 3D/VR file format standards. X3D is an international standard developed by the Web3D Consortium and ratified by ISO/IED (International Organization for Standardization and International Electrotechnical Commission). COLLADA is a de-facto standard that was initially developed by Sony and is now maintained and enhanced by the Khronos Group. Both X3D and COLLADA are open, fully specified and royalty-free standards that may be implemented by platform developers free of charge. Both of these standards represent 3D data using XML schema technology, but they were designed for different purposes. X3D is primarily a delivery and run-time format whereas COLLADA is an exchange/interchange format. X3D standardizes the 3D run-time by specifying a run-time model that enables picking, viewing, and navigation. In addition to standardizing scripting, behaviors and interaction, X3D also defines an API to manipulate the scene graph at run-time. X3D also specifies requirements about how 3D content (objects, avatars and worlds) is rendered. X3D has a rich set of componentized features that can be tailored for use in engineering and scientific visualization, CAD and architecture, medical visualization, training and simulation, multimedia, entertainment, education, and more. Because of its comprehensive features and capabilities, and the very nature of a run-time format, implementing a product that fully supports X3D is complex and time consuming.

IMMERSIVE EDUCATION INITIATIVE 6 of 22 PLANNING DOCUMENT

COLLADA, in contrast, focuses on representing the types of data that a 3D/VR platform needs: it specifies an XML-based schema for transporting 3D assets between applications. COLLADA doesn't require developers to implement a specific 3D run-time, nor does it specify requirements for behaviors, scripting or scene graph structures. COLLADA instead allows developers to implement these features in any way they see fit. To that end COLLADA allows files to contain a wide variety of profiles, techniques and scenes that different 3D applications (such as games or virtual world platforms) can interpret in any manner they wish. COLLADA also has a simple extension mechanism that allows platform-specific data to be easily added to files. This enables a single COLLADA file to contain multiple representations of an object or scene, each one optimized for a specific platform.

CONTENT REPOSITORIES An abundance of pre-made X3D and COLLADA avatars, models and objects reside in free and commercial (for-fee) content repositories. These repositories present a wealth of content assets that educators and students can utilize immediately. A few examples include: Google 3D Warehouse: http://sketchup.google.com/3dwarehouse/ Turbo Squid: http://turbosquid.com/ Daz3D: http://www.daz3d.com Web3D Repository: http://web3d.org/models/

Despite their differences, X3D and COLLADA are similar in terms of their ability to represent 3D content and the two formats can peacefully co-exist and can even be used together. An X3D application can be implemented to use COLLADA assets, for example. The Developing Web Applications with COLLADA and X3D whitepaper (see References) was written by leading COLLADA and X3D experts who summarizes the difference between these two formats as follows:

“COLLADA is the format of choice for Digital Content Creation (DCC) tools, for conditioning tools, and for archiving rich content. COLLADA enables the free exchange of asset data, enabling developers to construct an authoring pipeline from multiple tools. COLLADA can provide the content required for compelling X3D applications, in much the same way that it can carry and process the content for game applications. X3D is a lingua franca for delivering interactive 3D Web and enterprise applications that require real-time delivery of 3D data, ranging from online advertising and gaming, to virtual worlds and social networks, GIS and mapping, CAD, military simulation and medical visualization.”

Native File Formats vs. Transcoding vs. Direct Support for Open File Formats Today’s virtual world, simulator and game platforms do not support the same 3D/VR file formats. Each platform currently supports its own native file format(s). Second Life, for example, supports a proprietary format developed by Linden Labs that is based on “prims”. Wonderland, in contrast, currently supports the mesh-based Extensible 3D format (X3D, an international ISO/IEC standard) and is expected to support COLLADA later this year. Croquet, meanwhile, supports the mesh-based ASE (ASCII Scene Export) format and it previously supported the OBJ format (OBJ support is broken in the current version of Croquet). Consequently, there is no way for these platforms to exchange 3D/VR content or to provide users with the same immersive learning experience. Because each platform supports different native file formats end users are limited in terms of the learning objects and learning experiences that are available to them from within a given platform. Content authors must either re-create content for each platform or (more commonly) create content for only platform and simply ignore the others as Figure 2 illustrates:

Figure 2: Today’s virtual world, simulator and game platforms do not support the same 3D/VR file formats. Each platform instead supports its own native file format(s). Because of the cost, time, and complexity involved with building content for multiple platforms the vast majority of content authors focus on only one platform and ignore all others. In the rare case where the same object or learning experience is created for multiple platforms the end result is typically redundant and imperfect owing to differences between file formats and platform rendering engines.

IMMERSIVE EDUCATION INITIATIVE 7 of 22 PLANNING DOCUMENT

Transcoding tools, as Figure 3a illustrates, can eliminate much of the effort associated with making the same object or experience available to multiple platforms. Transcoding is a suboptimal stop-gap measure, however, that frequently requires manual “touch-up” work and re-coding of scripts. In contrast, platforms can directly support open file formats and skip the transcoding process altogether (see Figure 3b).

Figure 3a: Transcoding tools can automate the process required to make 3D/VR content available to multiple platforms. In this figure an object or experience (depicted by the purple file) is transcoded into multiple native formats, one for each platform. Although transcoding can automate much of the work associated with making content available to multiple platforms, the process isn’t perfect. Because of file format differences some manual refinement is usually necessary. Scripts, in particular, may need to be manually re-coded for each platform.

IMMERSIVE EDUCATION INITIATIVE 8 of 22 PLANNING DOCUMENT

Figure 3b: Platforms that directly support open file formats can skip the transcoding process entirely. Direct support is preferable to transcoding for three major reasons: 1) transcoding is an imperfect process that often produces suboptimal results that require subsequent “hand tuning” by an experienced content author, 2) scripts are difficult to transcode and may need to be manually re-coded from scratch for each platform by an experienced programmer, and 3) transcoding is an inconvenient extra step that takes time and effort.

IMMERSIVE EDUCATION INITIATIVE 9 of 22 PLANNING DOCUMENT

IMMERSIVE EDUCATION INITIATIVE 10 of 22 PLANNING DOCUMENT

Transcoding vs. Direct Support Transcoding is a stop-gap measure that is only necessary when a platform doesn’t directly support the target file format. Direct support is preferable to transcoding for three major reasons. First, and foremost, is the fact that transcoding is rarely a perfect process that often produces suboptimal results that require subsequent “hand tuning” by an experienced content author. In addition, because scripts can’t easily be transcoded they may need to be re-coded for each platform by an experienced programmer. Finally, transcoding is an inconvenient extra step that can be skipped by platforms that directly support the target format. Although direct support is preferred, transcoding is a reasonable approach when a platform already has a complete, well-defined exchange format that fully represents every feature of the platform. In such cases a transcoder tool can be written to convert from that format to another format. A disadvantage of this approach is that a custom transcoder tool needs to be written for each platform in order for that platform’s file format(s) to be converted into the format(s) supported by other platforms. For example, transcoding services to support the current Immersive Education platforms will require the development of six custom transcoder tools (assuming a total of three platforms, namely Second Life, Wonderland and Croquet). As more formats and platforms are introduced the number of transcoder tools required increases exponentially, which in turn makes maintenance and support difficult if not entirely unfeasible [if N is the number of platforms, N*(N-1) transcoders are required assuming one-way transcoders]. Transcoding to and from an intermediate format reduces this concern; for each platform only two transcoder tools are required (one each to convert to and from the intermediate format). This approach is much more manageable and cost effective. The intermediate format used must be complete or extensible enough to represent all of the features required by each platform, however, so that no data will be lost during the transcoding process. COLLADA was specifically designed to be an intermediate or exchange format, making it the natural choice as an intermediate format in the transcoding process. Another option is to add a plug-in or other code to a platform to directly import and export to an intermediate format like COLLADA. This is the best approach in terms of the platform’s users, since a user can export the file once and then import it directly into other programs without being required to run a transcoder every time. In most cases, writing this kind of direct import/export plug-in is easier than developing a stand-alone transcoder. If a platform doesn't already have its own interchange format using one (like COLLADA) can avoid the need to design a new format and the tools that use it. This is also a good solution in cases where a platform vendor wishes to keep their native file formats confidential.

Transcoder Architecture The transcoder is fundamentally a content conversion Web service that accepts 3D/VR input data and converts it into a format specified by the caller at the time the service is requested (i.e., input data and output format are specified in the service request). Figure 4 and Figure 5 illustrate the basic process:

Figure 4: The transcoding service converts 3D/VR files from one format to another.

Figure 5: Transforming a variety of 3D/VR files from one format into another.

IMMERSIVE EDUCATION INITIATIVE 11 of 22 PLANNING DOCUMENT

The transcoding service can run locally on the client-side (on the same computer that the platform runs on) or it can run on the server-side. Regardless of where the transcoder service resides it executes outside of—and entirely independent from—the platforms, taking as much burden off the platforms as possible. Platforms only need to make a service request and provide the data to transform (convert), and the service does the rest. The service can return the resulting output data to the caller (the platform) as part of the response payload, or it can place the converted data file(s) on one or more servers and provide the caller with link(s) to the file(s). The transcoder service is a standard Web service that can run locally on the end user's computer or remotely on a Web server. Platforms use the standard HTTP protocol to interact with the service. Secure Sockets Layer (SSL) over HTTP (https) can also be used to facilitate secure interaction with the service. The service may be implemented as a RESTful Web service or traditional SOAP-based Web service.

Second Life Security Consideration: Owing to Second Life’s content permissions system the ideal solution for the Second Life platform is to have Second Life servers interact with the transcoding service after a user has initiated an import or export action via the client-side Second Life viewer. The alternative solution is to have the Second Life viewer handle all interactions with the transcoding service. In addition to making the transcoding service available to Second Life servers over secure HTTP (https) other security measures that may be taken, including: a) viewer and user authentication, b) not releasing the source code for the Second Life conversion tools, c) panel review of exported data files before making them available to the caller, d) logging import/export activity for periodic review.

Conversion Tools (pluggable tools)

COLLADA-to-PRIM PRIM-to-COLLADA COLLADA-to-ASE ASE-to-COLLADA PRIM-to-X3D X3D-to-PRIM etc.

Computer (local or remote) running the transcoding service

Service request and input data to convert

Invoke

converter

Figure 6: Tightly coupled conversion tools.

In the architecture diagram above (Figure 6) each transcoder conversion tool is tightly coupled to a specific input format. The X3D-to-PRIM tool only accepts input data in the X3D format, for instance. An alternate and more flexible solution involves the initial conversion of input data into a standard intermediate file format that all converter tools would be required to support. If COLLADA is the intermediate file format, for example, input data files will always be converted to COLLADA first and then, once in COLLADA format, any of the format-specific conversion tools can be used to generate the requested output format as depicted by Figure 7 and

IMMERSIVE EDUCATION INITIATIVE 12 of 22 PLANNING DOCUMENT

Figure 8 (note that the result of the input-to-intermediate format conversion process becomes the input for the intermediate-to-native conversion process).

Conversion Tools

(pluggable tools)

PRIM-to-COLLADA ASE-to-COLLADA X3D-to-COLLADA OBJ-to-COLLADA XYZ-to-COLLADA etc.

Computer (local or remote) running the transcoding service

Service request and input data to convert

Convert to intermediate file format

Conversion Tools (pluggable tools)

COLLADA-to-PRIM COLLADA-to-ASE COLLADA -to-X3D COLLADA -to-OBJ COLLADA -to-XYZ etc.

Convert to platform’s native file

format

output

Figure 7: Loosely coupled conversion tools using an intermediate file format.

TRANSCODING vs. DIRECT: Transcoding is a stop-gap measure, and is only necessary when a platform doesn’t directly support the target file format. Sun’s Wonderland platform, for example, will soon support COLLADA. Wonderland is scheduled to support COLLADA in late 2008, at which time Wonderland will not require COLLADA transcoding services. Direct support is preferable to transcoding for three major reasons. First, and foremost, is the fact that transcoding is rarely a perfect process that often results in suboptimal results that require subsequent “hand tuning” by an experienced content author. In addition, because scripts can’t easily be transcoded they may need to be re-coded for each platform by an experienced programmer. Finally, transcoding is an inconvenient extra step that can be skipped by platforms that directly support the target format.

IMMERSIVE EDUCATION INITIATIVE 13 of 22 PLANNING DOCUMENT

Figure 8: Cross-platform Example: Transcoding Wonderland’s Extensible 3D (X3D) content into the PRIM format for Second Life, using COLLADA as the intermediate file format during the transformation process.

TRANSCODER ARCHITECTURE REQUIREMENTS:

Implement as a standard Web service, accessible via REST and/or SOAP Exposes services through http and https (Secure Sockets Layer over HTTP) Deployable to the client or server (can be run on the local client or remote server) Executes entirely outside of the platform (not coupled to any platform) Honors content copyrights and permissions systems of target platforms Support for platform and user authentication Output returned to caller in either the body (payload) of the response or via external servers Comprehensive usage logging (usage metrics collected for subsequent analysis)

IMMERSIVE EDUCATION INITIATIVE 14 of 22 PLANNING DOCUMENT

IMMERSIVE EDUCATION INITIATIVE 15 of 22 PLANNING DOCUMENT

Second Life Import/Export Tool

Second Life’s native 3D/VR file format is based on programmatic primitive objects (as opposed to mesh-based objects), or so-called “prims”. Prims and Sculpted Prims are described by the official Second Life wiki as follows:

Primitives in Second Life are constructed by starting with a basic two dimensional shape, modifying it, and extruding it in to the third dimension along a path while applying modifications to the extrusion. The most basic example is a cube which starts out as a 2D square and extrudes along a linear path with no modifications to make a cube. A cylinder starts out as a circle and extrudes along the same linear path. If the circle was extruded along a circular path you would create a ring, and if a half-circle is extruded along another type of circular path you create a sphere. A Primitive or prim is a single part object. Multi-part objects will have multiple primitive parts ("prims"). In Second Life, virtual physical objects such as cars, houses, jewelry, and even less obvious things like hair are made out of one or more primitive parts called prims. Objects made from prims are usually created in-world using the built in object editing tool. This tool is used for all sorts of 3D modeling in Second Life, playing the same role as 3D Max, Maya, or Blender, but customized for the Second Life way of doing things. A Sculpted Prim, or sculptie, is a prim whose shape is determined by an array of x, y, z coordinates stored as RGB values in an image file (a Sculpt Texture or Sculpt Map). Sculpted prims can be used to create more complex, organic shapes that were not previously possible with the Second Life prim system.

A transcoding tool for Second Life, therefore, involves a) importing content from an open format and converting that content into corresponding prim and sculpted prim objects, and b) exporting prims and sculpted prims to an open format. Below are draft requirements for the proposed Second Life transcoding tool: EXPORT REQUIREMENTS:

Retain author, copyright, and related metadata from prims and sculpted prims being exported Honor Second Life permissions (allow Second Life content authors to export only their own content) Transcode geometry (form) and textures (images) to corresponding open file format Transcode scripts if possible, retain otherwise (export as-is for reference)

IMPORT REQUIREMENTS:

Import and assign author, copyright, and related metadata from source materials Assign Second Life permissions on corresponding prims and sculpted prims accordingly Transcode geometry (form) and textures (images) to corresponding prims and sculpted prims Transcode scripts if possible, otherwise discard or save to external file

UNDER ACTIVE DEVELOPMENT: As with all virtual world and game platforms that are under active development, Second Life is expected to continually enhance the capabilities of the 3D/VR file formats that it supports. Prim and sculpted prim capabilities may be enriched over time, and new file formats are likely to be introduced. Transcoding tools for Second Life must therefore be enhanced (upgraded) in step with the platform itself to maintain compatibility. NOT COPYBOT: The high-quality Second Life transcoding tools and direct support options that we describe stand in stark contrast to the unauthorized and potentially damaging export tools such as CopyBot, Export to World, and more recent efforts to export content from Second Life. By working closely with Linden Labs on this project, and by honoring Second Life’s copyright and permissions systems, we will produce a feature-rich import/export solution that adds value to Second Life instead of detracting from it.

IMMERSIVE EDUCATION INITIATIVE 16 of 22 PLANNING DOCUMENT

COLLADA for Second Life

econd Life’s native 3D forma s, whereas the majority of 3D

don’t support there has been discussion about

S t consists of primitives and sculpted primitivecontent authoring tools are based on polygonal meshes. These two approaches are currently incompatible and at odds; it would be ideal if these two approaches met somewhere in the middle so that, for example, 3D content files created with popular authoring tools can be used directly by Second Life. COLLADA offers a convenient, proven, open standard and royalty-free solution to this problem.

ince Second Life requires features that most 3D file formats Smaking a custom XML 3D format just for Second Life. But building a complete XML format with APIs and manipulation utilities is time consuming, expensive, and does not solve the content authoring problem: tool vendors would still be required to add support for the new format to their products. In contrast, the existing, proven, open and royalty free COLLADA standard can save Second Life platform developers a tremendous amount of time and effort while simultaneously making it possible for content developers to use a wide array of authoring tools to construct content for Second Life. Following are the main reasons that we propose COLLADA for Second Life:

COLLADA already defines many features required by Second Life, such as materials, shaders, physics, copyright/asset control information, animation and object/scene structure, while custom features can be easily

tra> tag ber

added using the <extra> tag. COLLADA has a well defined extension mechanism based on the XML <exwhich allows application-specific information to be added nearly anyplace in the COLLADA file. A large numof applications, including Maya, Max, and XSI have all successfully used the <extra> system to add their own extensions to COLLADA.

itives in COLLADA merely requires adding appropriate <extra> extensions to COLLADA’s existing <geometry> tag. Similar <extra> tags could be used to embed Second Life object scripts in

To support Second Life prim

the same file. This basic approach has been used with great success by other vendors. For example, Crytek’swidely acclaimed Cryengine 2 game engine and Avid’s SOFTIMAGE|XSI “Mod Tool” have both successfully used <extra> to put a large amount of custom game engine data into their COLLADA files.

Second Life prims and corresponding polygonal mesh representations can reside in the same file, for example). This feature enables

COLLADA is designed to support multiple profiles and drawing techniques in the same file (

a single file to contain different renditions of an object for both current and future versions of Second Life and content creation tools.

by a large number of open source tools. The open source COLLADA DOM C++ API will likely be the most useful for Second Life initially. The COLLADA DOM C++ API is used to read and write

n

COLLADA is supported

COLLADA files, and other XML parsers (such as libxml2 or Java’s schema-based XML DOM system) can alsoread/write COLLADA files. If Linden Labs develops an XML schema for Second Life extensions, for example, the COLLADA DOM’s automatic code generation tool will add API calls to the DOM; this makes it easy to access and manipulate the extended data. Open source COLLADA plugins for 3D Studio Max and Alias Maya caalso be very useful for the Second Life content authoring community (these plugins can be enhanced to allowSecond Life extended data to be read directly into these tools or to convert between polygon and primitive representations).

present high-resolution content, and in a future version will support scalable content that renders at the appropriate resolution for the device on which it’s deployed (an object can be rendered at low quality for

e

COLLADA can re

low-powered devices, and high quality on powerful devices). Support for high resolution avatars (characters), objects, and environments (worlds) is a non-negotiable requirement (NNR) for the next generation of ImmersiveEducation, and it’s likely that scalable content will also become an NNR. By supporting COLLADA directly thSecond Life platform can support high quality graphics now or in the future. Figures 9, 10 and 11 show high resolution graphics rendered directly from COLLADA files.

IMMERSIVE EDUCATION INITIATIVE 17 of 22 PLANNING DOCUMENT

COLLADA SPECIFICATION: COLLADA is an open, royalty-free standard developed through the Khronos Group. Visit http://www.khronos.org/collada/ to view the COLLADA specification and to learn more about COLLADA’s <extra> extensions.

Figure 9: COLLADA ship comprised of approximately one million polygons (see Fig 10 close-up).

Figure 10: COLLADA ship close-up (ship comprised of approximately one million polygons).

IMMERSIVE EDUCATION INITIATIVE 18 of 22 PLANNING DOCUMENT

Figure 11: COLLADA character (avatar) rendered with ray tracing and bump mapping.

IMMERSIVE EDUCATION INITIATIVE 19 of 22 PLANNING DOCUMENT

IMMERSIVE EDUCATION INITIATIVE 20 of 22 PLANNING DOCUMENT

COLLADA for Wonderland and Croquet

Wonderland Sun’s Project Wonderland platform currently supports the mesh-based Extensible 3D (X3D) file format, an open and royalty-free international standard for 3D on the Web (ISO/IEC FDIS 19775-1.2:2008). In 2008 Wonderland’s Java 3D rendering engine will be replaced by JME (JMonkeyEngine). In addition to high performance and high resolution graphics capabilities the JME rendering engine supports COLLADA directly. Consequently, as of version 0.5 the Wonderland platform will not require transcoding because it will support COLLADA directly.

Croquet Croquet currently supports the mesh-based ASE (ASCII Scene Export) format and in a previous version supported the OBJ format (OBJ support is broken in the current version of Croquet). Croquet provides a relatively simple mechanism for developers to extend the platform to support additional file formats. Croquet developers have already written file format plug-ins for: Virtual Reality Modeling Language (international standard ISO/IEC 14772-1:1997 and ISO/IEC 14772-2:2002, the predecessor to X3D); MDL; and OBJ. A COLLADA plug-in for Croquet would enable this platform to support COLLADA directly (the preferred solution, as opposed to transcoding). Writing a COLLADA plug-in for Croquet is a relatively modest development effort that is expected to take less time than writing COLLADA-to-ASE and ASE-to-COLLADA transcoders. Note: Croquet is the low-level software development toolkit upon which the end-user Cobalt application is being built. Enhancements to the file format(s) supported by Croquet will therefore have a direct impact on Cobalt and all other applications created using Croquet.

IMMERSIVE EDUCATION INITIATIVE 21 of 22 PLANNING DOCUMENT

Compatibility and Conformance Testing

Conformance suites are necessary to provide developers with adequate testing materials during the implementation of transcoding tools or when enhancing a platform to directly support a target file format. Conformance test suites are intended to be used as a tool to aid developers during the implementation of transcoding tools and direct support for a specific open file format described in this document. For example, a COLLADA conformance test suite is necessary for developers to build COLLADA transcoding tools or to implement direct support for the COLLADA file format for a given platform. CONFORMANCE TEST SUITE REQUIREMENTS:

Conformance test suites will be developed as collections of open and freely available materials that any individual or organization can utilize.

Conformance test suites will include content (avatars, objects, models and environments) and test programs (code) that measure the quality and validity of the import/ export capabilities of a transcoding tool or platform. Exported files, for example, will be passed through a XML validation process that will test the exported content for conformance with the target file format specification.

Test suites will be comprised of avatars, objects, models and environments taken from a variety of existing content repositories and will also include newly constructed materials that are created from ongoing Immersive Education content development efforts.

Platform and tool certification is outside the scope of this project; conformance test suites will be provided as

informational resources only.

IMMERSIVE EDUCATION INITIATIVE 22 of 22 PLANNING DOCUMENT

References

General Reference Materials COLLADA community: http://collada.org COLLADA standard: http://www.khronos.org/collada Croquet and Cobalt: http://opencroquet.org Developing Web Applications with COLLADA and X3D (white paper): http://www.khronos.org/collada/presentations Extensible 3D (X3D): http://www.web3d.org/x3d/specifications Java 3D: http://java.sun.com/javase/technologies/desktop/java3d JMonkeyEngine (JME): http://www.jmonkeyengine.com Khronos Group: http://www.khronos.org PRIM: http://wiki.secondlife.com/wiki/Prim and http://wiki.secondlife.com/wiki/Prims Sculpted PRIM: http://wiki.secondlife.com/wiki/Sculpted_Prims Second Life: http://secondlife.com/ Virtual Reality Modeling Language (VRML): http://www.web3d.org/x3d/specifications/#vrml97 Web3D Consortium: http://web3d.orgWonderland: https://lg3d-wonderland.dev.java.net

COLLADA Reference Materials COLLADA tools COLLADA DOM, an API for reading and writing COLLADA which can use schema to add user extensions to the API: http://sourceforge.net/projects/collada-dom/ COLLADA plugins for Maya, Max and MotionBuilder: http://sourceforge.net/projects/colladamaya/ COLLADA refinery, a framework for COLLADA file manipulation tools, including transcoding http://sourceforge.net/projects/colladarefinery/ Open Scene Graph, a scene graph renderer that can read/write COLLADA: http://www.openscenegraph.org Papervision, a Flash plugin that can render COLLADA in 3D: http://blog.papervision3d.org/ Commercial COLLADA software Softimage XSI, supports COLLADA in the free "mod tool" version and all the pay versions: http://www.softimage.com GoogleSketchup, a powerful but easy to use modeling tool that can export COLLADA models (source of most of the models in Google Earth): http://www.sketchup.com Google Earth, a 3d earth viewer, all the 3d building models are COLLADA and user created models can be imported: http://earth.google.com Google 3D warehouse, a large community for 3d models, most can be downloaded as COLLADA: http://sketchup.google.com/3dwarehouse/

End of Document