A-Frame不如x3dom

简介: 昨天才发现还有A-Frame这么个框架,是Mozilla(moz://a 这个logo挺有创意的)出的,但看了一下其实现方式和语法后,感觉与x3d/x3dom还是有差距的。二者的实现方式都是基于WebGL(也是Mozilla最先发起的,后来成为主流浏览器统一采用的底层图形库规范)。

昨天才发现还有A-Frame这么个框架,是Mozilla(moz://a 这个logo挺有创意的)出的,但看了一下其实现方式和语法后,感觉与x3d/x3dom还是有差距的。

二者的实现方式都是基于WebGL(也是Mozilla最先发起的,后来成为主流浏览器统一采用的底层图形库规范)。当然,A-Frame由于出的晚,占了WebVR这个新出规范的便宜,直接直接与VR头盔等硬件有结合。

A-Frame的技术栈是这样的:依赖three.js(基于WebGL实现)、实现WebVR规范草案。

<a-entity geometry="primitive: sphere; radius: 1.5"
          light="type: point; color: white; intensity: 2"
          material="color: white; shader: flat; src: glow.jpg"
          position="0 0 -5"></a-entity>

x3dom则直接依赖WebGL/Flash实现x3d这项Web3D ISO规范。

<x3d style="width:500px; height:400px">
    <scene>
        <shape>
            <appearance>
                <material diffuseColor='1 0 0'></material>
            </appearance>
            <box></box>
        </shape>
    </scene>
</x3d>

哪种结构更接近XML的本质、更清晰,程序更易被阅读、被解析?不用说肯定是后者吧。

PS:这里如果能基于同一个效果编写相应的两种代码可能更有说服力,不过没办法,见缝插针写两句,有机会再补啦。

PPS:前两天看阮一峰的一篇关于Mozilla的文章《痛苦造就性格》,里面提到Jamie Zawinski和他的日记,他是Mozilla的命名者。回想起来,Firefox真是改变了Web前端标准推广进程的大功臣。

目录
相关文章
|
JavaScript
jQuery 坐标值操作 offset()、position()、scrollTop()、scrollLeft()
jQuery 坐标值操作 offset()、position()、scrollTop()、scrollLeft()
49 0
|
7月前
video-04-videojs配置及使用
video-04-videojs配置及使用
239 1
|
7月前
|
JavaScript
Can‘t get DOM width or height. Please check dom.clientWidth and dom.clientHeight. They should not be
Can‘t get DOM width or height. Please check dom.clientWidth and dom.clientHeight. They should not be
486 0
CSS3 transform: translateX || translateY || translateZ
CSS3 transform: translateX || translateY || translateZ
42 0
|
图形学
CONTEXT_CREATION_ERROR: Renderer: Error creating Canvas3D graphics context/Not a GL2 implementation
CONTEXT_CREATION_ERROR: Renderer: Error creating Canvas3D graphics context/Not a GL2 implementation
141 0
|
C++
error LNK2001: 无法解析的外部符号 _ft_sdf_renderer_class/ _ft_bitmap_sdf_renderer_class
error LNK2001: 无法解析的外部符号 _ft_sdf_renderer_class/ _ft_bitmap_sdf_renderer_class
116 0
|
移动开发 JavaScript HTML5
02.HTML5(Video + DOM)
大多数基础内容来自W3CSchool HTML5 元素同样拥有方法、属性和事件 其中的方法用于播放、暂停以及加载等。其中的属性(比如时长、音量等)可以被读取或设置。
1004 0