昨天才发现还有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前端标准推广进程的大功臣。

A-Frame不如x3dom相关推荐

  1. Spring Security中文文档

    Spring Security中文文档 来源:https://www.springcloud.cc/spring-security.html#overall-architecture 作者 Ben A ...

  2. 使用 x3dom 框架及 WebGL 在浏览器上显示 3 维模型

    如果需要在浏览器上显示 3D 画面的话, 现在一般会使用 ​WebGL, 典型的例如 three.js(​http://mrdoob.github.com/three.js/), 但是 WebGL 对 ...

  3. Android 逐帧动画(Frame)

    Android 逐帧动画(Frame)  很好理解就是将多张图片放到一个容器里面通过控制这些图片一帧一张图片从而形成动画 使用的使用通过AnimationDrawable 加载放好的图片 然后通过调用 ...

  4. FRAME与IFRAME

    FRAME与IFRAME 框架概念 : 所谓框架便是网页画面分成几个框窗,同时取得多个 URL.只需要 转载于:https://www.cnblogs.com/vibratea/archive/200 ...

  5. ORB_SLAM2帧Frame

      在追踪线程的一开始就会创建一个帧 cv::Mat Tracking::GrabImageMonocular(const cv::Mat &im,const double &time ...

  6. HTML动画 request animation frame

    在网页中,实现动画无外乎两种方式. 1. CSS3 方式,也就是利用浏览器对CSS3 的原生支持实现动画: 2. 脚本方式,通过间隔一段时间用JavaScript 来修改页面元素样式来实现动画. 接下 ...

  7. HTML教程-各窗口间相互操作(Frame Target)

    文章来源: 山西之窗 由Frames分出来的几个窗口的内容并不是静止不变的,往往一个窗口的内容随着另一个窗口的要求而不断变化,这就提高了Frames的利用价值.为了完成各窗口之间的相互操作,我们必须为 ...

  8. selenium之frame操作

    前言 很多时候定位元素时候总是提示元素定位不到的问题,明明元素就在那里,这个时候就要关注你所定位的元素是否在frame和iframe里面 frame标签包含frameset.frame.iframe三 ...

  9. iframe 自动适应高和宽问题 和 其他Frame操作技巧

    < DOCTYPE html PUBLIC -WCDTD XHTML TransitionalEN httpwwwworgTRxhtmlDTDxhtml-transitionaldtd> ...

  10. frame,iframe,frameset之间的关系与区别

    2019独角兽企业重金招聘Python工程师标准>>> ■ 框架概念 : 所谓框架便是网页画面分成几个框窗,同时取得多个 URL.只需要 <FRAMESET> <F ...

最新文章

  1. Linux 最常用命令(简单易学,但能解决95%以上的问题)
  2. 面试:如何快速过滤出一次请求的所有日志?
  3. 吴恩达给 74 岁老父亲发证了!8 年完成 146 门课程!
  4. “发明在商业上获得成功”对专利法22条第三款有关创造性规定的影响
  5. 字节跳动-文远知行杯”广东工业大学第十四届程序设计竞赛
  6. C和汇编如何互相调用?
  7. Gstreamer调试命令(五)
  8. 随时发生的网络攻击怎么防?这是一场网络安全的全民保卫战!
  9. StarUML Choice控件写上文字Text
  10. qt文件复制不成功问题
  11. 小新pro13黑苹果配置实录
  12. jenkins学习与实战
  13. docker安装oracle
  14. LaTeX学习 |(6)LaTeX中的特殊字符
  15. 程序员:为什么我抛弃了996工作?
  16. 一文读懂超融合与私有云的区别与联系
  17. ofo的snapchat效应:成功从校园走出去已成功一半
  18. 数据结构:学生档案管理系统(C++版)
  19. hdu2048 错位排列
  20. 对于一款软件而言,完备的功能固然重要,但交互体验也不该被忽视

热门文章

  1. GdiPlus[6]: 五种画刷总览
  2. 大丈夫不可一日无权啊!——项目经理的误区(转)
  3. MOOON-server新消息处理接口
  4. 小技巧: 从开始菜单进行网络搜索
  5. Linux的init进程(内核态到用户态的变化)
  6. Mysql中S 锁和 X 锁的区别
  7. 很实用的Python运行提速方法
  8. 跳过51单片机,直接学STM32有什么严重后果?
  9. 嵌入式为什么不受欢迎?谈谈我对嵌入式的理解!
  10. mysql数据库名虚拟机_linux虚拟机上装mysql数据库