随着信息技术的迅速发展,虚拟现实(Virtual Reality,VR)技术在近些年不断完善,其应用范围也变得十分广泛。为了搭建逼真的虚拟场景,VR技术一般都需要用到大量精美的图像和复杂的动作。因此,大部分的VR应用都借助于复杂的Unity引擎构建。为了降低VR技术的使用难度,WebVR技术诞生。该技术使得开发者只需要利用JavaScriptWebGL等基础的Web技术即可创建VR场景。作为世界著名的非营利组织,Mozilla在WebVR方面做了大量工作。之前,该组织已经开始实现头部跟踪方面的WebVR API,用来跟踪VR设备的运动情况,增强VR场景的互动性。近期,WebVR API的标准草案正式出炉,供相关人士进行讨论。接下来,本文就对该草案内容进行简要介绍。

首先,该草案定义了访问基于Web的传感器和头戴式显示器(Head-Mounted Display,HMD)等虚拟现实设备的标准。一般而言,VR应用都需要底层硬件能够提供高精度、低延迟的数据以保证上层应用的用户体验。之前,VR设备的厂商都是根据自身设备的特点,提供各自定义的接口供上层使用。然而,这些接口既增加了应用开发者的难度,又很难保证精度和延迟。因此,WebVR API这一统一的标准被提出。

目前,该标准草案仅支持两个VRDevice设备的变量。这两个变量分别表示了一个硬件设备中其中一部分组件的一个特殊能力。以一个典型的Oculus Rift的HMD为例,它可以包含HMDVRDevice和PositionSensorVRDevice这两个变量。其中,HMDVRDevice用来描述设备的光学特性(包括视场和瞳孔间距等);PositionSensorVRDevice则用来描述HMD的位置和方向。这两个变量中的PositionSensorVRDevice可以单独存在,用来表示单个控制器(无显示设备)的位置等信息。草案指出,如果未来有新的硬件设备(如眼球追踪系统等)出现,标准可以再逐渐添加额外的VRDevice变量。

作为最主要的内容,草案详细描述了用来支持实时访问的文档对象模型(Document Object Model,DOM)的接口和功能。这包括了VREye、VRFieldOfView、VRPositionState、VREyeParameters、VRDevice、HMDVRDevice、PositionSensorVRDevice和Navigator Interface extension。其中,针对VRPositionState和VREyeParameters等接口,标准详细解释了各个属性和方法的含义,并给出了一些使用案例。

WebVR 作为将虚拟现实场景嵌入到网页的技术,已经开始广泛应用到电影、医药、建筑等行业。通过以上可以看出,WebVR API的标准草案为统一接口的定义提供了很好的参考。

Mozilla公布WebVR API标准草案的更多相关文章

  1. JS新API标准 地理定位(navigator.geolocation)/////////zzzzzzzzzzz

    在新的API标准中,可以通过navigator.geolocation来获取设备的当前位置,返回一个位置对象,用户可以从这个对象中得到一些经纬度的相关信息. navigator.geolocation ...

  2. JS新API标准 地理定位(navigator.geolocation)

    在新的API标准中,可以通过navigator.geolocation来获取设备的当前位置,返回一个位置对象,用户可以从这个对象中得到一些经纬度的相关信息. navigator.geolocation ...

  3. Atitit.跨平台预定义函数 魔术方法 魔术函数 钩子函数 api兼容性草案 v2 q216  java c# php js.docx

    Atitit.跨平台预定义函数 魔术方法 魔术函数 钩子函数 api兼容性草案 v2 q216  java c# php js.docx 1.1. 预定义函数 魔术方法 魔术函数是什么1 1.2. & ...

  4. [译]WebVR技术方案草案

    注:基于官方的.bs规范专用格式进行了翻译,但结果发现无法编译成html格式,所幸基本兼容.markdown格式. 中文翻译项目地址:https://github.com/web3d/webvr-sp ...

  5. ASP.NET Web API标准的“管道式”设计

    ASP.NET Web API的核心框架是一个消息处理管道,这个管道是一组HttpMessageHandler的有序组合.这是一个双工管道,请求消息从一端流入并依次经过所有HttpMessageHan ...

  6. ASP.NET Web API标准的“管道式”设计

    详见:http://www.cnblogs.com/artech/p/asp-net-web-api-pipeline.html http://www.codeproject.com/Articles ...

  7. 【腾讯Bugly干货分享】WebVR如此近-three.js的WebVR示例解析

    本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57c7ff1689a6c9121b1adb16 作者:苏晏烨 关于WebVR 最 ...

  8. Three.js与webVR

    WebVR如此近 - three.js的WebVR示例程序解析 关于WebVR 最近VR的发展十分吸引人们的眼球,很多同学应该也心痒痒的想体验VR设备,然而现在的专业硬件价格还比较高,入手一个估计就要 ...

  9. VR应用开发遍地走的日子还有多远

    从上世纪60年代美国计算机科学家Ivan Sutherland发明的第一款真正意义上的虚拟现实头盔,到Facebook以20亿美元收购"虚拟现实之眼"Oculus Rift,大批厂 ...

随机推荐

  1. FPGA异步时钟设计中的同步策略

    1 引言    基于FPGA的数字系统设计中大都推荐采用同步时序的设计,也就是单时钟系统.但是实际的工程中,纯粹单时钟系统设计的情况很少,特别是设计模块与外围芯片的通信中,跨时钟域的情况经常不可避免. ...

  2. Asp.NET获取文件及其路径

    [相对路径]   Request.ApplicationPath /src Path.GetDirectoryName(HttpContext.Current.Request.RawUrl ) //s ...

  3. Css3炫酷总结使用

    先从CSS3的选择器说起: E F:所有的子孙元素: E>F: E中的子元素: E+F:E元素之后的最近的选择器: E~F:E中所以后面兄弟元素(CSS3 不包括自己本身,前面也不包括) att ...

  4. js如何打印object对象

    js调试中经常会碰到输出的内容是对象而无法打印的时候,光靠alert只能打印出object标示,却不能打印出来里面的内容,甚是不方便,于是各方面整理总结了如下一个函数,能够将数组或者对象这类的结果一一 ...

  5. EDMX更新实体后出现键值映射问题

    近期做项目的EF改版时,在DB(ORACLE)中的表里添加一个新的PK,去除原有的PK. 在DB已添加完成操作,但这时在EDMX里进行从DB更新到EF里,更新完成后就发生如下错误提示: Error 6 ...

  6. iOS 多张图片保存到相册问题(add multiple images to photo album)

    不知道朋友们有木有做过多图保存到系统的相册这个需求,我在用`UIImageWriteToSavedPhotosAlbum`保存图片时候,在代理回调方`didFinishSavingWithError` ...

  7. 如何讓Android系統顯示CJK擴展區漢字

    由於一些特殊需要,需要在個人設備上顯示CJK擴展區漢字,經多方詢問並驗證,找到了一下辦法,暫總結如下. 一.電腦上顯示 在電腦(Windows,Linux,Mac等系統)上可以通過安裝「花園明朝字體」 ...

  8. (hdu)1022 Train Problem I 火车进站问题

    题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=1022 Problem Description As the new term comes, ...

  9. 九度OJ 1108 堆栈的使用

    题目地址:http://ac.jobdu.com/problem.php?pid=1108 题目描述: 堆栈是一种基本的数据结构.堆栈具有两种基本操作方式,push 和 pop.Push一个值会将其压 ...

  10. Headfirst设计模式的C++实现——装饰者模式(Decorater)

    Beverage.h #ifndef BEVERAGE_H_INCLUDED #define BEVERAGE_H_INCLUDED #include <string> class Bev ...