X3D
X3D是一种专为万维网而设计的三维图像标记语言。全称可扩展三维(语言),是由Web3D联盟 (页面存档备份,存于互联网档案馆)设计的,是VRML标准的最新的升级版本。 X3D基于XML格式开发,所以可以直接使用XML DOM文档树、XML Schema校验等技术和相关的XML编辑工具。目前X3D已经是通过ISO认证的国际标准。
X3D的特性
VRML和X3D有数次跟随显卡硬件发展的升级,现阶段多数的Direct3D 9.0c和OpenGL 2.0 GLSL的功能特效都可以实现。X3D的规格为支持显卡硬件的功能,添加了从底层的渲染节点,比如支持三角形、三角形扇、三角形条带等基本渲染元素;比如支持设置显卡的混合模式和设置帧缓存、深度缓存、模板缓存的功能;还有节点能支持多纹理和多遍绘制、支持Shader着色、支持多渲染目标(MRT)、支持几何实例(Geometry Instance)、支持粒子系统。2010年已经可以在X3D和VRML中使用延迟着色技术。现在的特效包括SSAO和CSM阴影、实时环境反射和折射、基于实时环境和天光的光照、HDR、运动模糊、景深。X3D支持对应3ds MAX标准材质的多种贴图/多纹理。
X3D通过H-anim组件支持骨骼动画和蒙皮,也可以通过原型扩展支持角色AI和动作混合。
X3D通过DIS组件或Networking组件多支持多用户场景和事件共享。
现阶段有几个X3D引擎能支持ODE物理引擎或PhysX物理引擎。
X3D浏览器可以通过插件的形式支持Wii控制器、Kinect体感识别、DirectInput等外设。 X3D浏览器可以通过插件的支持 语音识别和 TTS 文本朗读。
X3D和其它实时三维引擎的比较
和最流行Web3D引擎比较,VRML和X3D的市场占有率都不高。这并不是因为X3D技术本身的缺陷,而主要是X3D的制作工具和开发环境相对落后。以前的支持所见即所得的VRML实时开发环境Cosmo Worlds、ISA、Avatar Studio都因为开发公司的转向而没有继续发展,而后面开发的BS Editor、Flux Studio等还没有完善。另外X3D也没有提供完善的功能包,而Quest3D、Unity3D、3D VIA Virtools都提供了完善的功能包。
HTML5、WebGL 和 X3D
在Web3D联盟和相关公司的推进下,在主流的浏览器中现在可以使用XML DOM文档树和相关脚本解析<X3D>、</X3D>标签中的三维内容。这主要是利用HTML5和WebGL的功能实现的。这是 X3D 的一个重大的推进,X3D/VRML将推进到第四版(X3D是第三版、VRML97是第二版、VRML是第一版),并再次提交给ISO组织审阅。因为免插件安装等特性,X3D 有望再次成为新的浏览器中的三维标准。