- 博客(144)
- 收藏
- 关注
翻译 VR系列——Oculus Mobile SDK文档:二、移动SDK安装指南(三)
Android Studio基础该指南针对在Android Studio和Gradle中使用Oculus Mobile SDK提供了一些建议,用以补充Android Studio相关文档。将Eclipse项目迁移到Android Studio关于如何将Eclipse项目导入到Android Studio的具体信息可以参考安卓的说明文档:http://developer.android.com/sdk
2017-11-06 21:33:04
1410
1
翻译 VR系列——Oculus Mobile SDK文档:二、移动SDK安装指南(二)
Android Studio开发环境安装(测试版)本节介绍了构建原生的Oculus公司的移动应用程序时,Android Studio IDE 和Gradle的安装配置。Android已经弃用了对Eclipse、ADT和Ant的支持,现在指定 Android Studio和Gradle作为核心的开发工具。Oculus公司的移动SDK 1.0引入了与Android Studio和Gradle的
2017-07-20 22:11:28
1531
翻译 VR系列——Oculus Mobile SDK文档:二、移动SDK安装指南(一)
移动SDK安装指南这个指南将引导你设置你的三星设备和准备移动VR应用程序的开发环境。安装Oculus移动SDK下载移动SDK的地址:https://developer.oculus.com/downloads/.移动SDK包是.zip的压缩格式,它包含了源码和媒介文件:ovr_sdk_mobile_<版本号>.zip。下载之后,解压到你指定的目录(例如:C:\Oculus\Mobile)。Unity
2017-07-10 20:38:52
2361
1
翻译 VR系列——Oculus Mobile SDK文档:一、Mobile SDK的介绍
Mobile SDK的介绍欢迎进行Gear VR移动应用开发。 这篇指南提供了开发所需的SDK内容及细节的概述。入门准备好开始开发了吗?移动端SDK安装指南指导你一次性地准备和配置你的开发环境。 这有编辑好的建议,用于开发、调试以及分析VR应用,推荐给所有开发者:移动VR应用开发指南Android调试性能分析Unity和Unreal的开发者作为安装指导,请一定回顾移动端SDK安装指南的U
2017-07-04 23:16:12
6433
1
翻译 VR系列——Oculus Rift 开发者指南:八、性能平视显示器及Oculus调试工具
性能平视显示器性能平视显示器(HUD)可以使你或你的用户能够查看任何使用SDK 0.6或之后版本构建的应用程序的性能信息。性能HUD屏幕是由合成器渲染呈现的,使他们能够由单一SDK调用来显示。在OculusWorldDemo,您可以按F11来实现性能HUD界面切换。延迟时间HUD的延迟时间显示了APP到中期光子、时间异常到光子-启动和时间异常到光子-启动的曲线图。下面的截图显示了HUD的延迟时间:
2017-06-28 21:24:54
3634
翻译 VR系列——Oculus Rift 开发者指南:七、SDK样品和手柄的使用及低级传感器详述
SDK样品和手柄的使用Oculus SDK的一些样品通过使用手柄控制器来支持在虚拟世界的运动。本节介绍目前支持的设备和安装说明。Xbox 360有线控制器支持Windows系统建立控制器将该设备插入USB端口。window应该能识别控制器并自动地安装一些必要的驱动程序。罗技F710无线游戏手柄设置Windows游戏手柄:通过将控制器前面的开关移动到“X”位置来把控制器调为“XInput”模式。
2017-06-26 19:39:25
2410
翻译 VR系列——Oculus Rift 开发者指南:六、Oculus触控
Oculus触控Oculus SDK为获取每个Oculus触控的位置、状态提供了API。这些数据体现在两个地方:ovrTrackingState::HandPoses[2]——返回每个触控的姿态以及跟踪状态。ovrInputState——ovr_GetInputState返回的结构体,包含按钮、操纵杆、触发器和电容触摸传感器的状态。把触控的手势数据从输入状态中分离出来是因为他们来源于不同的系统
2017-06-22 22:36:13
3616
翻译 VR系列——Oculus Rift 开发者指南:五、色差
色差色差是通过透镜观察产生的一种视觉假象。这种现象会导致在物体周围产生彩色条纹,并且越接近透镜边缘越明显。这是由不同波长的光通过透镜时的折射率不同导致的(波长较短的蓝光折射小于波长较长的红光)。Rift的图像由红、绿、蓝像素组成,很容易受到色差的影响。图像的红、绿、蓝像素点会呈放射状向外扩展,并且数量也会不同。受影响的效果取决于图像内容以及用户对边缘区域的专注程度。色差幸运的是可编程GPU能够大大减
2017-06-21 21:13:54
1046
翻译 VR系列——Oculus Rift 开发者指南:四、高级渲染配置(五)
使用单视角渲染提高性能立体渲染的一个显著成本是渲染两个视图,分别对应每个眼睛。对于一些应用程序来讲,立体渲染可能不是特别重要,并且为了提高一些性能使用单视角也是可以接受的。在其他情况下,立体视图可能会给一些用户带来用眼疲劳,他们会希望切换成单视角。即便如此,他们也仍然希望戴上能给他们提供大视场和头部跟踪的HMD(译者注:FOV–Field Of View 视野、视场;在刘越教授的透视式头盔显示器的设
2017-06-14 22:17:42
634
翻译 VR系列——Oculus Rift 开发者指南:四、高级渲染配置(四)
通过缩小视场来提高性能除了减少中间渲染目标的像素数目外,还可以通过减少FOV的横跨像素来提高性能。由于FOV的缩小,可能会使视野收缩从而导致沉浸感的降低。尽管如此,还是有两种方式可以用来缩小FOV、提高性能。最明显的就是填充率。对于一个在视网膜上的固定像素密度而言,较小的FOV具有较少的象素。首先,因为投影公式的性质,FOV的最外边缘在像素数量上而言是最多的。其次则因为当每一帧中有更少的可见对象时,
2017-06-13 21:11:07
837
翻译 VR系列——Oculus Rift 开发者指南:四、高级渲染配置(三)
通过减少像素密度提高性能DK1拥有1280x800像素的分辨率,其在两眼之间划分。然而,由于Rift的宽FOV和透视投影工作的方式,位于显示器中心的匹配原始分辨率的中间渲染目标所需的大小会显著更大一些。例如,要在DK1上实现将一个1:1的像素映射在作者视场的中心,需要一个大得多的达到2000 x1056像素大小的渲染目标。即使现在的显卡可以在规定的60Hz渲染这个分辨率,但未来的HMD可能拥有更高的
2017-06-12 22:28:43
853
翻译 VR系列——Oculus Rift 开发者指南:四、高级渲染配置(二)
强制对称的视场通常该API将为每一边眼睛返回一个不对称的视场(译者注:FOV(Field of View)视场:在任何特定时刻可观察到的有限范围),这意味着左边缘与右边缘到中心的距离是不一致的。这是因为人类以及Rift在向外看的时候具有更宽的视场。当你向内看时,你的鼻子是一个阻碍。我们同样相比向上看更善于向下看。出于同样的原因,Rift的视场不是对称的。它是由透镜的形状、塑料材质的种类以及屏幕的边缘
2017-06-09 21:11:56
1433
翻译 VR系列——Oculus Rift 开发者指南:四、高级渲染配置(一)
高级渲染配置默认情况下,SDK为优化渲染质量生成配置值。它也提供了一定程度的灵活性。例如,在创建渲染目标纹理的时候,你可以对它进行修改。本节讨论的是,当在渲染质量及性能之间进行选择的时候,或者你正在使用的引擎有限制时你可以做的修改。应对图形接口或硬件渲染目标粒度SDK是以你想要尽可能小心地使用你的视频内存并且你可以根据你的需要创建正确的渲染目标大小为假设所设计的。然而,真正的显卡和真正的图形API有
2017-06-08 22:40:18
433
翻译 VR系列——Oculus Rift 开发者指南:三、Oculus Rift的渲染(八)
排队为了提高CPU和GPU的并行性和增加GPU的处理帧的时间,SDK提供了默认的2.8毫秒的时间提前排队。当提前队列被禁用,中央处理器在上一帧显示后立即开始处理下一帧。CPU处理完后,GPU处理帧,排序将失真,并且把帧显示给用户。下图显示了在没有提前排队时,GPU和CPU的利用率: 图6:CPU和GPU使用提前排队时的利用率:如果GPU无法及时处理以显示帧,将显示前一帧。这将导致画面抖动。提前
2017-06-07 21:13:01
938
翻译 VR系列——Oculus Rift 开发者指南:三、Oculus Rift的渲染(七)
图层和多个窗口组成监视器画面的原理类似,头戴设备的画面展示也可由多个图层组成。这些图层中至少有一个是由用户的虚拟眼球渲染得到的画面,其他图层可能是HUD层,信息面板,附着于虚拟物体的文字标签,瞄准点等。每个图层有着不同的分辨率,使用不同的纹理格式,有着不同的视野和尺寸,有可能是单色画面,也可能是立体画面。应用程序也可能被设定当信息没有发生变化时,不对图层纹理进行更新。例如,从最后一帧起信息面板中的文
2017-06-07 00:00:31
2146
翻译 VR系列——Oculus Rift 开发者指南:三、Oculus Rift的渲染(六)
不同线程上的渲染在某些引擎中,渲染分布在多个线程中处理。例如,线程一为每个场景中的目标进行挑选和渲染设置(我们称之为“主”线程),线程二创建D3D或OpenGL API调用(我们称之为“渲染”线程)。这两个线程都可能需要精确的帧展示时间估算值,以便计算出最恰当的头部动作预测。该方法的异步特性带来一个挑战:当渲染进程还在为某个帧进行渲染时,主线程可能已经开始处理下一帧了。并行的帧处理可能会导致某一帧或
2017-06-05 22:49:37
815
翻译 VR系列——Oculus Rift 开发者指南:三、Oculus Rift的渲染(五)
帧计时Oculus SDK通过ovr_GetPredictedDisplayTime方法来记录帧计时信息,该方法依赖应用程序提供的帧索引来确保不同线程的计时正确。头部运动预测需要精确的帧数据和传感器时间,这对良好的VR体验来说是必需的。预测要准确地知道当前帧会在将来的哪个时候出现。如果我们知道传感器和显示器的扫描时间,我们可以预测出将来的头部动作,提高图像的稳定性。若这些值计算错误,可能会造成过少或
2017-06-01 21:46:33
678
翻译 VR系列——Oculus Rift 开发者指南:三、Oculus Rift的渲染(四)
帧渲染帧渲染的过程通常包含以下几个步骤:通过头戴式动作追踪装置来获取所预测的眼部动作,然后为每只眼睛渲染出不同的画面,最后用ovr_SubmitFrame方法将要显示的画面提交至合成器。在帧数据提交后,Oculus合成器处理掉畸变部分并在Rift中展示结果。在帧渲染之前,最好先初始化一些能够在各个帧之间共用的数据结构。例如我们要查询眼部描述符,并在渲染循环之外初始化一个图层结构体:// 初始化VR结
2017-05-22 20:58:45
2337
翻译 VR系列——Oculus Rift 开发者指南:三、Oculus Rift的渲染(三)
交换纹理集初始化本节介绍了渲染的初始化,包括创建交换纹理集。最初,确定渲染FOV和分配所需的ovrSwapTextureSet。下面的代码演示了如何计算所需的纹理大小:// 配置立体设置。Sizei recommenedTex0Size = ovr_GetFovTextureSize(session, ovrEye_Left, session->DefaultEyeFov[0], 1.0f);S
2017-05-18 20:29:08
3339
翻译 VR系列——Oculus Rift 开发者指南:三、Oculus Rift的渲染(二)
渲染设置概要Oculus公司 SDK使用分层组件服务传送帧和处理失真。针对 Rift,要将场景渲染成一个或两个的渲染纹理,并将这些纹理传递给API。Oculus运行库处理失真渲染,GPU同步,帧定时,和HMD框架展示。以下是SDK的渲染步骤初始化 a) 初始化Oculus公司SDK,如前所述,为头戴式视图器创建一个ovrSession 对象。 b) 根据ovrHmdDesc数据计算所需要的
2017-05-17 20:41:56
964
翻译 VR系列——Oculus Rift 开发者指南:三、Oculus Rift的渲染(一)
Oculus Rift的渲染Oculus Rift 需要用带有失真校正的立体分屏来为每只眼睛取消镜头相关失真。 图3:OculusWorldDemo(一个例子) 立体渲染校正失真是具有挑战性的,失真的参数随不同的镜头类型和个人的视距而变化。为了使开发更容易,Oculus SDk在分层组件(Compositor)进程中自动处理失真校正,同时它也会降低时延,并传送帧到头盔。随着Oculus SDK
2017-05-15 20:07:13
3092
翻译 VR系列——Oculus Rift 开发者指南:二、初始化和传感器枚举
初始化和传感器枚举这是初始化LibOVR的例子,需要可用HMD的相关知识。看以下的代码:// 引用OculusVR SDK#include <OVR_CAPI.h>void Application() { ovrResult result = ovr_Initialize(nullptr); if (OVR_FAILURE(result)) return; ovr
2017-05-11 20:24:18
2517
翻译 VR系列——Oculus Rift 开发者指南:一、LibOVR集成
LibOVR集成Oculus SDK被设计成尽可能易于集成。本指南概述了C/C++游戏引擎或应用的基本Oculus集成。我们将讨论LibOVR的初始化、HMD(头戴式设备)枚举、头部跟踪、帧同步,以及Rift渲染。以下的许多代码示例是直接取自OculusRoomTiny演示源码的(Oculus/LibOVR/Samples/OculusRoomTiny均有)。当对某个特定系统或特性有所怀疑时,Ocu
2017-05-10 22:13:57
1794
翻译 VR系列——Oculus Rift 介绍指南:七、使用演示场景测试Rift
使用演示场景测试Rift配置用户配置文件后,您可以查看使用这些设置的示例VR场景。下图显示演示场景:。 然后固件开始更新。更新完成后,关闭并重启Oculus配置程序。
2017-05-03 19:53:50
1266
翻译 VR系列——Oculus Rift 介绍指南:五、Oculus Rift驱动程序安装
Oculus Rift驱动程序安装在使用SDK之前,你必须为你的操作系统设置驱动程序。如果你的驱动程序已经设置,你可以跳过这一节。然而,你应该确保你的系统和驱动程序满足第五页《推荐规格》中规定的要求。安装运行包如果你没有包,从Oculus网站下载运行安装程序。可从https://developer.oculus.com/downloads/ 下载。它将安装以下组件:Oculus显示驱动(Windo
2017-04-26 20:01:33
5346
翻译 VR系列——Oculus Rift 介绍指南:四、Oculus Rift的硬件设置
Oculus Rift的硬件设置因为虚拟现实是一种新的媒体,所以你需要在开发过程中做大量的测试。在安装SDK之前,Oculus建议确认硬件是否被正确地配置和测试过。如果Rift已经配置了,那么你可以跳过这一步。Oculus Rift DK2设置DK2硬件的说明,在设备附带的快速启动指南中提供。 图1:Oculus Rift DK2DK2头显在DK1的基础上包含了一些重要的改进:更高的分辨率和
2017-04-25 20:37:38
1913
翻译 VR系列——Oculus Rift 介绍指南:三、SDK概述
SDK概述Oculus0.8的发布使SDK从基于HMD模型转变为基于会话模型并且加入了多个新特性。SDK更新这部分描述SDK的一些更新特性。新特性以下是关于Oculus SDK 和runtime的新特性:改进支持win10。增加了 ovr_GetSessionStatus,可以返回头戴式设备是否存在以及是否有VR聚焦并且可以渲染到头戴式设备。在OVR_CAPI_Util.h中增加了ovr_De
2017-04-24 22:12:27
2046
翻译 VR系列——Oculus Rift 介绍指南:二、建议的规格
建议的规格呈现画面是伟大的VR体验的第一级魔力:明显的感觉就是你被传送到一个新地方。舒适、持续的画面呈现感需要适当的VR硬件设备、正确的内容和适当的系统相结合。为了完美的Rift体验,我们推荐以下系统:NVIDIA GTX 970/AMD 290 同等或更高配置。Intel i5-4590 同等或更高配置。8GB+ RAM。兼容HDMI 1.3的视频输出。3x USB 3.0 端口和 1x
2017-04-20 20:14:57
929
翻译 VR系列——Oculus Rift 介绍指南:一、前言
前言本指南介绍了如何准备Oculus Rift的开发。包括:安装Oculus Rift硬件。安装设备驱动程序。配置你的用户配置文件。运行demo。在你设置了硬件之后,这个入门指南会描述该如何进行配置:安装SDK。运行OculusWorldDemo。原文如下IntroductionThis guide describes how to prepare the Oculus Rift f
2017-04-19 20:42:52
962
翻译 VR系列——Oculus Rift入门手册:二、演示
开始演示现在您的Oculus Rift已插入,驱动程序已安装,SDK也装上了,您就可以开始使用SDK了。注释:如果你还没有准备好,花点时间调整Rift头盔,以便您的头和眼睛舒服。关于配置Rift更详细的信息可以在这份手册中的Oculus Rift硬件设置中找到。硬件配置了之后,下一步就是测试开发工具包。该SDK附带了一组全代码的C++示例,旨在帮助您快速开始。这些包括:OculusWorldDem
2017-04-18 20:33:01
3796
翻译 VR系列——Oculus Rift入门手册:一、SDK入门
SDK入门现在您的Oculus Rift已插入,并且驱动程序已安装,您就可以安装SDK并尝试演示了。Oculus Rift SDK 设置本节介绍如何设置SDK。安装Oculus SDK的最新版本总是可以从Oculus开发者中心取到。要下载最新的包,访问http://developer.oculus.com。SDK版本使用product.major.minor.patch格式。例如,0.5.0.1意味
2017-04-17 21:14:18
3141
翻译 RESTful服务最佳实践——(十三)
附加资源书籍RESTful API设计规则: REST API Design Rulebook,Mark Masse, 2011, O’Reilly Media, Inc.RESTful Web服务: RESTful Web Services, Leonard Richardson and Sam Ruby, 2008, O’Reilly Media, Inc.RESTful Web服务食谱:
2017-04-13 20:44:32
648
翻译 RESTful服务最佳实践——(十二)
HTTP状态码以下是大多数由RESTful服务或API返回的常用HTTP状态码,并带有它们普遍用法的简短总结。其他HTTP状态码偶尔使用,但是更专业或更先进。多数服务套件只支持这些常用的状态码,甚至只支持子集,从而维护良好。200 (OK) – 通常的成功状态。表示成功的最常见代码。201 (CREATED) – (通过POST或PUT)产生成功的创建。 设置定位头,以存储指向最新创建的资源的链接。
2017-04-12 20:33:41
439
翻译 RESTful服务最佳实践——(十二)
缓存和可伸缩性通过支持系统层级消除检索请求数据的远程调用,缓存提高了系统的可扩展性。服务通过在响应中设置头标志来提高缓存能力。不幸的是,缓存相关的头在HTTTP1.0中与HTTP1.1中不同,因此服务器要同时支持两种版本。下表表示的是支持GET请求缓存的必要最小头集合,并带有适当值的描述。 Http头文件 描述 例子 Date 响应返回的日期和时间(RFC1123格式)。 Da
2017-04-11 20:23:25
553
翻译 RESTful服务最佳实践——(十一)
安全服务器确认给定的请求是从服务已知的某人(或者某个系统)给出的,且请求者是他自己所声明的那个人,这样的过程叫做认证。然而授权却是去确认请求者得到了执行被请求的操作的允许。本质上,这个过程是像这样的:客户端发出一个指令,在X-Authentication头中包含认证令牌,或者在请求中包含令牌查询串参数。服务器证实了授权令牌的存在,使其生效(有效且未过期),并且基于内容去分析或者加载认证主体。服
2017-04-10 21:22:56
738
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人