2022-12-09 10:00:40

X3D: Extensible 3D Graphics Standard

Extensible 3D (X3D) is the open standard for Web-delivered three-dimensional (3D) graph- ics. It specifies a declarative geometry definition language,

a run-time engine, and an application programming interface (API) that pro- vide an interactive, animated, real-time environment for 3D graphics. The X3D specification documents are freely avail- able, the standard can be used without paying any royalties, and numerous implementations are available.



It has been obvious since the late 1990s that a common, standardized format was needed for 3D graphics. Companies like ActiveWorlds, Cult3D, and MetaStream created browsers that would only display 3D content created for that particular browser. By the early 2000s, those companies were going out of business. The lessons learned by the early companies were that a common standardized format needed to run on desktop computers, interact with the World Wide Web, and provide several levels of functionality.

The initial X3D effort was started in 1999 by the Web3D Consortium. X3D was the evolutionary successor to the Virtual Reality Modeling Language (VRML97). The X3D language was designed based on lessons learned from VRML97 achievements and many com- paniesrsquo; early efforts.


The purpose for developing the X3D standard was to 1) develop a royalty-free specification for broad 3D graphics functionality; 2) define multiple levels of functionality for implementation on various classes of hardware; 3) define a variety of data-encoding formats; and 4) maintain compatibility with predecessor technology as much as possible. These objectives were chosen so that the stan- dard was understandable and usable, the resulting files fit into the larger Web architecture, and the content was dis- playable on a large range of displays. All of these objectives were met by X3D, which defined three equivalent encod- ing formats: an Extensible Markup Language (XML) version, a classic VRML version, and a compressed binary version. An X3D world (or X3D scene) was defined to be all the 3D content, animation behaviors, and user interac- tion needed for running an author- defined virtual environment.


Although standards development is often a slow process, a special relationship expedites the rapid yet thorough stan- dardization process for X3D. All of the X3D standards are first developed by the X3D Working Group of the Web3D Consortium and then reviewed, approved, and issued by the International Organization for Standardization (ISO). Web3D is responsible for all aspects of X3D development, including market research, implementation and testing of features, and standards document devel- opment. Standards documents are then submitted to the ISO as committee draft text. Proposed revisions go through a series of reviews and approvals by national bodies to ensure completeness, correctness, and clarity.

The X3D specification is defined in three separate ISO documents. Each doc-ument consists of multiple parts for a current total of seven parts. Typically, there are updates for three or four of these parts undergoing the ISO review process at any given time. The first X3D specification document (ISO/IEC 19775- 1) was approved by the ISO in 2004. The consortium submits amendments or revisions to the ISO every 12 to 18 months to keep current with advances in 3D graphics processing.


X3D is designed for applications where 3D models and behaviors can best illus- trate the spatial relationships and inter- active features that are otherwise difficult to show. Example applications are legion and include the HSV Football Stadium in Germany (venue/event view- ing), RayGun (social networking), Arabic language and cultural interaction (train- ing), visual analysis of amino acids and proteins (scientific), subsea drilling rig simulation (maintenance and training), radiation therapy and surgical systems simulator (medical treatment), Earth atlas (education and scientific), Anti- Terrorism Force Protection for the U.S. Navy (mission planning), and eScene (emergency response).



X3D provides a wide variety of capabili- ties used by the 3D community for ren- dering, texturing, modeling, animation, and user interactivity. Other advanced X3D components include geospatial positioning, interchangeable humanoid

animation (H-Anim) bodies, and the IEEE Distributed Interactive Simulation (DIS) network protocol.

The rendering, texturing, and mod- eling functionalities are designed for consistent cross-platform interoper- ability, based on the functionalities provided by the low-level graphics-ren- dering engines OpenGL and DirectX. Such capabilities can also be imple- mented directly by a software renderer when such hardware-driven graphics acceleration is not available. Rendering and texturing features range from sim- ple uniform coloring, color-per-face, color-per-vertex, and texture-image mapping to multiple-texture tech- niques and procedural shaders on an associated graphics processing unit.


A number of tools support the creation and display of X3D worlds. X3D-Edit is a free Java-based X3D/XML editor. It can also translate from XML to either classic VRML or VRML97 files using an extensi- ble stylesheet language for transforma- tions (XSLT) converter. Flux Studio is a WYSIWYG PC-based world building application. Other applications are list- ed in the “X3D Resources” section.

Common X3D browsers are BS Contact (Windows), Flux Studio (Windows), FreeWRL (Macintosh and Linux), Octaga Player (Windows), WireFusion (Java–



可扩展3D(X3D)是Web传送三维(3D)图形的开放标准。 它指定一个声明式几何定义语言,

运行时引擎和应用程序编程接口(API),为3D图形提供交互式,动画的实时环境。 X3D规范文件是免费提供的,该标准可以在不支付任何版税的情况下使用,并且可以使用许多实现。



自20世纪90年代后期以来,显然需要一种通用的,标准化的3D图形格式。 ActiveWorlds,Cult3D和MetaStream等公司创建的浏览器只能显示为特定浏览器创建的3D内容。 到二十世纪初,这些公司正在停产。 早期公司的经验教训是,需要在台式机上运行通用的标准化格式,与万维网进行互动,并提供多种功能。

最初的X3D工作是在1999年由Web3D联盟开始的。 X3D是虚拟现实建模语言(VRML97)的进化继承者。 X3D语言是基于VRML97成就和许多公司早期努力的经验教训而设计的。


开发X3D标准的目的是1)为广泛的3D图形功能开发免版税规范; 2)定义多个级别的功能,以便在各种类型的硬件上实现; 3)定义各种数据编码格式;和4)尽可能保持与前辈技术的兼容性。选择这些目标是为了标准可以理解和可用,生成的文件适合更大的Web体系结构,并且内容在大范围的显示器上可以显示。所有这些目标都由X3D实现,它定义了三种等效的编码格式:可扩展标记语言(XML)版本,经典VRML版本和压缩二进制版本。 X3D世界(或X3D场景)被定义为运行作者定义的虚拟环境所需的所有3D内容,动画行为和用户交互。


虽然标准制定往往是一个缓慢的过程,但特殊的关系加快了X3D快速而彻底的标准化进程。所有X3D标准首先由Web3D联盟的X3D工作组开发,然后由国际标准化组织(ISO)审查,批准和发布。 Web3D负责X3D开发的各个方面,包括市场研究,功能的实​​施和测试以及标准文档开发。标准文件随后作为委员会草案提交给ISO。建议的修订通过国家机构的一系列审查和批准,以确保完整性,正确性和清晰度。

X3D规范在三个独立的ISO文件中定义。每个文档由多个部分组成,目前共有七个部分。通常,在任何给定时间,有三或四个这些部分正在进行ISO审查过程的更新。第一个X3D规范文件(ISO / IEC 19775-1)由ISO在2004年批准。该联盟每12到18个月提交ISO修订或修订,以保持3D图形处理的进步。


X3D设计用于3D模型和行为可以最好地展示其他难以显示的空间关系和互动特征的应用程序。 示例应用程序是军团,包括德国的HSV足球场(场地/活动查看),RayGun(社交网络),阿拉伯语言和文化交互(培训),氨基酸和蛋白质(科学),海底视觉分析 钻机模拟(维护和培训),放射治疗和手术系统模拟器(医疗),地球图(教育和科学),美国海军反恐部队保护(任务规划)和eScene(应急响应)。



X3D提供了3D社区用于渲染,纹理,建模,动画和用户交互的各种功能。 其他先进的X3D组件包括地理空间定位,可互换类人形


基于OpenGL和DirectX的低级图形渲染引擎提供的功能,渲染,纹理和模型功能旨在实现一致的跨平台互操作性。 当这种硬件驱动的图形加速不可用时,这种功能也可以由软件渲染器直接实现。 渲染和纹理特征的范围从相关图形处理单元的简单均匀着色,每个面颜色,每个顶点颜色和纹理图像映射到多个纹理技术和程序着色器。


许多工具支持创建和显示X3D世界。 X3D-Edit是一款免费的基于Java的X3D / XML编辑器。它还可以使用扩展样式表语言(XSLT)转换器从XML转换为经典的VRML或VRML97文件。 Flux Studio是一款基于PC的WYSIWYG世界建筑应用程序。其他应用程序列在“X3D资源”部分。

常见的X3D浏览器是BS Contact(Windows),Flux Studio(Windows),FreeWRL(Macintosh和Linux),Octaga Player(Windows),WireFusion(Java-Windows,Macintosh和Linux),以及第一个X3D浏览器,Xj3D -Windows,Macintosh,Linux和Solaris)。所有这些X3D浏览器都有免费的下载版本。 FreeWRL,Flux Player和Xj3D是开源的。


一般来说,3D图形中存在许多不同的技术能力。 X3D通过允许作者精确地定义每个场景中需要哪些能力,从而在轻量级,高效的基于Web的交付和复杂的计算密集型应用程序之间有效平衡。具有相关功能的节点被收集到组件中。大多数组件被分为多个级别,其中级别是组件中节点的集合,其复杂性类似。 34个组件提供层次化的面向对象接口定义,并指定表达X3D世界功能的基本手段。


交换配置文件旨在用于各种3D内容创建应用程序之间的模型地理和纹理图像内容的基本交换。它包括简单的动画插值,但不包括用户交互。 CADInterchange配置文件添加地理位置节点和数据结构,以支持不同基于X3D的应用程序之间的计算机辅助设计(CAD)数据交换。它保持通常在常规CAD模型中定义的分层/部分结构。交互式配置文件添加了用户交互,网络协议和附加照明。沉浸式文件旨在提供所有必要的功能来开发基于桌面的沉浸式环境。它是最常用的配置文件。 Core Profile仅定义了X3D的基本功能。它没有可播放的节点,仅作为添加单个组件以构建高度优化和专业化世界的基础。完整配置文件包括所有X3D功能。虽然没有浏览器支持整个完整配置文件,但有些几乎完成。由于多个实现(包括至少一个开源实现)必须在X3D标准中包含新组件技术之前展示互操作性,因此多种浏览器支持许多X3D组件。



其他相关格式包括Universal 3D(U3D),OpenInventor,Coin3D和Collada。 U3D设计用于CAD模型的重新绘制和可视化,并提供几何,连续的细节水平,数据流和动画。 U3D不支持

端口交互性,具体不涉及3D内容的渲染。 OpenInventor是VRML的主要前提。它不活跃,但是Coin3D完全支持OpenInventor 3D。 Coin3D更适用于本地应用程序,而不是基于Web和Web感知应用程序。 Collada由Khronos集团维护,作为开放的数字资产交换和存档格式。 Coin3D和Collada均未获得独立标准组织的批准。








渲染每个单独的屏幕显示即每个帧所需的时间。精心设计和优化场景复杂度,以最大化渲染帧率。 X3D提供了可以从渲染循环中删除不需要的元素以提高性能的作者控制机制(如子树切换或级别的详细接近检查)。目前具有图形硬件加速功能的个人计算机系统能够以视觉平滑的速度(15帧/秒或更快)渲染除复杂最复杂的场景之外的所有场景。然而,X3D标准和概念测试套件都不规定最小或最大帧速率,因为X3D功能和实现和交付平台中的变化范围可能会有如此广泛的变化。不需要图形硬件加速;然而,没有它的系统的帧速率可能会显着更慢。在任何情况下,无论帧速率如何,动画必须以适当的实时速度进行,保证一致的终端用户体验。


X3D规范既灵活又可扩展,因此继续进行修订和修改。这样的添加可以支持由3D硬件行业引入和部署的新功能。目前X3D的工作包括增加优越的双向压缩,改进的导航功能,作为X3D Earth的一部分的地理空间可视化,以及用于分发X3D事件模型的网络协议。 Web3D联盟具有成员政策和工作实践,以确保规范中不包含未声明的专有知识产权。可以采用专利技术,但只能在免版税条款下才能确保最广泛使用的Web。

X3D旨在在万维网的上下文中兼容工作,因此需要与其他基于XML的规范,应用程序和文件格式进行互操作。为此,Web3D联盟正积极参与多个外部组织,以确保与其他标准(万维网联盟和开放地理空间联盟)的互操作性和兼容性,并开发最佳实践转换(Khronos Group for Collada)。它继续改进X3D,提供重要的新业务机会,并进一步扩展Web。



“X3D资源”侧栏包含教程,概述,书籍,可用软件的链接和其他资源。 资源列表的扩展版本也可以按照“X3D资源”中提供的链接进行。




作者感谢Kris Watkins博士有用的评论意见。


Leonard Daly(Leonard.Daly @ realism.com)是互联网咨询公司Daly Realism的总裁。 他是X3D标准编辑团队的成员。

Don Brutzman(brutzman @ nps.edu)是加利福尼亚州蒙特里海军研究生院的副教授,也是X3D工作组的主持人。





您需要先支付 30元 才能查看全部内容!立即支付