• 联系我们
  • 地址:湖北武汉三环科技园
  • 电话:159116031100
  • 传真:027-68834628
  • 邮箱:mmheng@foxmail.com
  • 当前所在位置:首页 - c++培训
  • 微软HoloLens技术解谜下:SDK 会是这样?c++培训
  • 重庆中考论坛zslpsh,重庆学校zslpsh,重庆学校zslpsh,重庆市中学生网,重庆中学生网,重庆中学生网站,重庆中学生网好,重庆中学生学习网,重庆中学学习网,重庆中学生网家教,重庆中学生论坛,重庆学生zslpsh,重庆高考论坛zslpsh,重庆中学排名zslpsh,重庆中学zslpsh,重庆中学生,重庆学生网中考,重庆中考zslpsh,重庆中学生交友,重庆初中生,重庆中学生学习网,重庆土话网,西南云南方言网,最新电影淘娱淘乐,tianyanmao.cn,重庆18680好,岳阳yy房产网,重庆18680,云南西南方言网,网店taoyutaole,电影淘娱淘乐,最新电影淘娱淘乐,电影淘娱淘乐,娱乐资讯taoyutaole,影视淘娱淘乐,taoyutaole笑话,taoyutaole淘娱淘乐,娱乐taoyutaole,时尚taoyutaole,重庆生活新闻,贵州西南方言网,027旅游新闻网,重庆特产18680,0871昆明旅游人才网,重庆生活18680好,观赏虾之家zadull,022天津交友,022天津交友网,水草造景zadull,18680重庆特产,0755深圳交友网,0755深圳旅游招聘,0755深圳旅游招聘网,0755深圳旅游新闻

      本文作者张静是前微软上海Xbox ATG软件工程师,微信号“ 黑客与画家 ” (HackerAndPainter),知乎专栏地址。欢迎各位童鞋与他交流探讨。

      在前一篇文章《微软HoloLens技术解谜(上):如何还原三维场景》中我介绍了自己对于 HoloLens 背后的建模技术的看法,虽然之前在微软的 Xbox 部工作过,但是和大家一样也是上周才知道 HoloLens 这个好玩的设备。当前微软对于 HoloLens 透露出来的信息非常有限,最核心的两个组件深度传感器以及全息屏幕的原理依然充满着迷题。文章发表后,在微软HoloLens技术解谜(上):如何还原三维场景的留言中读者提出了一些问题。

      我认为 HoloLens 没有使用 TOF 技术的原因是因为如果这四个摄像头的放的是 TOF 传感器,那么还缺少一个朝前的 RGB 摄像头用于视频聊天类 App。读者提到的中间部分我认为是微型的投影仪,HoloLens 使用微投在“挡风玻璃”上显示全息的画面。参见 Wired 的这篇报道

      至于这个问题的标准答案,还得等微软发布新的信息。

      这个问题很好,的确可以这么玩,NASA 与微软的的火星合作计划基本上是一个虚拟现实的应用,它了真实的。如果 HoloLens 可以提供调节“挡风玻璃”透光度的 API,那么调成完全不透光时就好比戴着 Oculus Rift 的头盔,是另一种体验 VR 的途径。可是朋友们,这是在浪费 HoloLens 的机能啊!

      那么,作为未来的应用开发者,应该怎样充分榨干它的机能呢?这是本篇文章的重点。

      首先让我脑洞开一会,为大家“介绍”下 Holo SDK。按照微软的偏好,SDK 标配的语言肯定有 C++ 和 C#,因此要进行开发,这两语言你至少得会一

      然后,这个 SDK 里有哪些功能呢?根据 demo 中的场景,我觉得基本功能至少有:

      这种类型的应用对于传统开发者而言最容易上手,几乎不需要修改代码,自然也不需要拥有 3D 图形学的知识。大部分人会从这种应用入手开始 Holo 开发。

      如果不需要 3D 知识就能实现 3D 的界面,那么 3D 的效果是哪来的呢?那就是 Windows 10 引入的全息窗口管理器 —— explorer3d.exe。我们平时启动 Windows 看到的“桌面”是窗口管理器(explorer.exe)的一部分,把“桌面”想像成三维的就行了,很简单是吧?

      以视频播放器为例,播放器并不会直接将视频画面显示到桌面上,而是画到一个缓存区域,经过一系列我不知道的步骤后,explorer.exe 再将画面以“2D 的方式拷贝”到能被我们看到的地方。而 explorer3d.exe 用的是“3D的方式”。

      所谓“3D的方式”就是使用 Direct3D 做一些“会的人嫌我讲得啰嗦,不会的人看了还是不会”的事……

      也就是在初始化应用的时候:

      如果需要在 Holo Space 中移动窗口,那么修改 local_matrix 中的平移值,功能与 explorer.exe 中的移动窗口类似,只是除了上下(y 轴方向)左右(x 轴方向)移动外还可以前后(z 轴方向)移动

      要解释它我必须 world、view、projection 三个矩阵,还要矩阵的乘法以及 dot product 的公式等等,这些完全是图形学的知识了,一时半会讲不完,我会再专为它们写一个系列。我打算用一句话解释下,explorer3d.exe 会一个全局的 global_matrix,它等于 world view projection,view 的值由功能 (d) 中的信息可以得到。global_matrix 的作用就好比第一人称射击游戏中的鼠标,写到这里我发现把 explorer3d.exe 视作一个 3D 游戏会简单很多,3D 游戏场景里的电视机也能播放视频,其实是一样的道理。

      总结一下,这个类型的应用程序员几乎不需要修改代码,由 explorer3d.exe 负责调用 Direct3D 将传统应用的内容转换成 3D 的贴图。

      这篇先写到这里,看看大家的反馈意见。虽然文章叫做《HoloLens 技术解谜(下)》,但是放心这个系列并没有完结,随着脑洞的逐渐展开,我发现要介绍的内容越来越多。

      [本文来自读者的,不代表36氪立场]