VR 操作系统
duansilence
这个作者很懒,什么都没留下…
展开
-
Android原生系统1
mark原创 2015-09-06 15:29:42 · 673 阅读 · 0 评论 -
Oculus VR SDK实现-Oculus针对双眼显示的交换链设计
首先我们关注一下ovrFramebuffer这个结构体:typedef struct { int Width; int Height; int Multisamples; int TextureSwapChainLength; int TextureSwapChainIndex; ovrTextureSwapChain *原创 2017-08-02 10:40:06 · 1536 阅读 · 0 评论 -
Oculus VR SDK实现-Oculus左右眼视角的偏移实现
首先人的头部在场景中是对应有一个姿态的,我们称这个为头部姿态(HeadPose)。而因为头部和双眼之间还有一个差异,因此我们将双眼中心的姿态称为双眼中心姿态(centerEyePose)。我们分两步来计算:一、首先计算出双眼中心视角矩阵centerEyeViewMatrix二、然后根据双眼中心视角矩阵计算出左右眼视角矩阵。一、计算出双眼中心视角矩阵centerEyeVi原创 2017-08-02 10:27:51 · 2353 阅读 · 1 评论 -
Google VR开发-Cardboard VR SDK反畸变实现
上一篇文章分析了Cardboard SDK的生命周期设计。这里我们看下畸变部分的实现。Cardboard中将畸变这部分封装成了一个Distortion类和DistortionRenderer类。我们看下Distortion这个类: private static final float[] DEFAULT_COEFFICIENTS = { 250.0F, 50000.0原创 2017-08-02 13:53:29 · 3030 阅读 · 1 评论 -
Google VR开发-Cardboard VR SDK头部追踪实现(卡尔曼滤波)
待完善原创 2017-08-02 13:56:32 · 879 阅读 · 0 评论 -
Google VR开发-Cardboard VR SDK头部追踪实现(隐马尔可夫模型)
隐马尔可夫模型是理解卡尔曼滤波的基础。这里只单纯记录一下对这个模型的理解,实际这部分只需要看维基百科就可以了。维基百科:https://zh.wikipedia.org/wiki/%E9%9A%90%E9%A9%AC%E5%B0%94%E5%8F%AF%E5%A4%AB%E6%A8%A1%E5%9E%8B1. 其中{\displaystyle x(t)}我们称为隐藏变数(h原创 2017-08-02 14:01:11 · 1282 阅读 · 0 评论 -
Google VR开发-Cardboard VR SDK头部追踪实现(牵涉到的抽象模型)
待完善原创 2017-08-02 14:04:43 · 738 阅读 · 0 评论 -
Google VR开发-Cardboard VR SDK生命周期设计
本篇从两个角度分析Cardboard VR SDK生命周期的设计目录:一、应用端生命周期调用二、SDK端生命周期功能实现一、应用端生命周期调用(1)主MainActivity中有一个CardboardOverlayView类型的成员mOverlayView,这是遮盖层的视图(2)CardboardOverlayView中有CardboardOverlayEyeV原创 2017-08-02 11:57:51 · 1052 阅读 · 0 评论 -
Oculus VR SDK实现 -主要结构体及Api接口设计
其中的ovrHmdInfo是VR 头盔(眼镜)相关的一个结构体,包含,分辨率,刷新率,默认分辨率,和水平垂直视野角度。显示一幅分辨率为2560*2440的图像的时候,每个像素在眼睛中所占用的视角约为0.06度。展现完整360度就需要6000个像素(360/0.06=6000),展现90度的视角就需要占用其中的1/4。分辨率为1536*1536的图像能够产翻译 2015-09-04 15:41:00 · 4440 阅读 · 11 评论 -
Oculus VR SDK实现-Oculus针对大量显示数据的buffer设计
参考文章:Vertex Array的性能表现:http://www.openglsuperbible.com/2013/12/09/vertex-array-performance/关于Vertex Array的官方解释:https://www.khronos.org/opengl/wiki/Vertex_Specification#Vertex_Array_Object这里说明v原创 2017-08-02 10:57:35 · 769 阅读 · 0 评论 -
VR 利用工具和模板自动生成SDK文档的方法
将代码生成CHM文件的API说明文档的方法:http://www.eoeandroid.com/thread-309023-1-1.html原创 2015-08-27 14:42:25 · 1071 阅读 · 0 评论 -
第三方SDK分析1
mark原创 2015-09-06 15:36:52 · 688 阅读 · 0 评论 -
Native-Activity
NativeActivity的介绍在官网:http://developer.android.com/reference/android/app/NativeActivity.html使用NativeActivity无需继承这个类,只需要在manifest中进行声明,并使用NDK中的API即可示例参见:android-ndk-r10e\samples\native-activity这一工原创 2015-11-16 16:25:25 · 2231 阅读 · 0 评论 -
OpenGL - FBO
原文链接http://www.songho.ca/opengl/gl_fbo.html示意图如下:要点:1.FBO有多个颜色缓冲区绑定点,一个深度缓冲区绑定点和一个模板缓冲区绑定点,用于将三者绑定到FBO2.FBO提供了一种高效的切换机制,可以绑定和解绑上述三种缓冲区,其中提供多个颜色缓冲区绑定点是为了支持同时渲染多个目标转载 2015-12-10 09:21:55 · 1229 阅读 · 0 评论 -
cardboard SDK analysis
1.了解Cardboard SDK:https://developers.google.com/cardboard/android/Cardboard和Gear VR的SDK都一样,都是基于OpenGL 来创建VR 应用,而主要的图像工作就放在Unity端。Cardboard的开发工具包简化了许多通用的VR开发工作:Lens distortion correction.(变原创 2016-02-29 15:30:01 · 2686 阅读 · 0 评论 -
Native层-OpenGL ES-双缓冲离屏渲染
OpenGL ES相关的数据结构:typedef struct { EGLint MajorVersion; EGLint MinorVersion; EGLDisplay Display; EGLConfig Config; EGLSurface TinySurface; EGLSurface MainSurface; EGLContext Context;} ovrEgl;原创 2016-01-14 17:11:14 · 5193 阅读 · 2 评论 -
Android-四元数-控制VR设备的旋转
首先参考维基百科了解四元数的基本概念:https://zh.wikipedia.org/wiki/%E5%9B%9B%E5%85%83%E6%95%B0%E4%B8%8E%E7%A9%BA%E9%97%B4%E6%97%8B%E8%BD%AC参考http://www.2cto.com/kf/201210/162858.htmlhttp://blog.csdn.net原创 2016-01-12 11:46:28 · 4510 阅读 · 0 评论 -
Google VR Android开发(二)-Simplevideowidget分析
Simplevideowidget这个Demo运行起来的效果如下:单击视频显示区域可以暂停/继续播放。点击眼镜按钮可以进入到双眼VR模式:现在分析下代码实现:只有一个Activity文件:主要是显示了一个SDK中的VrVideoView控件进入VR双眼模式和全屏显示的切换按钮都在这个控件里面。所以要分析下这个控件的实现。模式切换的实现是在VrVi原创 2017-07-18 17:10:48 · 2428 阅读 · 0 评论 -
Google VR开发-Cardboard VR SDK头部追踪实现(罗德里格旋转公式)
一、罗德里格旋转矩阵的作用可以参考百度百科和维基百科进行了解。个人概括来说就是罗德里格旋转公式是用来求旋转后新向量的公式:而这个公式可以转换成矩阵形式:也就是说罗德里格旋转矩阵是用来和某个向量V相乘得到这个向量旋转后新向量Vrot的原创 2017-08-02 14:07:22 · 2867 阅读 · 0 评论