今天有一个兄弟在群里讲到他们的项目模型比较大,单用HoloLens运行设备的性能无法满足需要,问道如何将渲染工作交给服务器来做,讲渲染结果传给HoloLens。正好刚刚看官方github的时候发现一个项目正是解决这个问题的方案。

项目名称: Holographic Remoting Host (全息远程主机)

Github:https://github.com/Microsoft/HoloLensCompanionKit/tree/master/RemotingHostSample

注:项目是C++的,但是因为程序比较简单还是比较容易理解的

下面是对这个项目做的简单的介绍:

通过该项目代码示例展示了如何创建一个桌面或UWP应用程序并远程为HoloLens提供全息内容。

Holographic remoting 允许你的app的全息内容可以在一台PC上,或一个UWP设备(比如XBox One),允许访问更多的系统资源并且使其能够将全息视图整合到已有的桌面PC软件中。此项目代码包括了通过桌面、UWP和UWP XAML类型项目向HoloLens提供远程内容。

此代码示例演示了作为一个全息远程主机以下特性必须具备:

  • 与 HoloLens 建立连接
  • 接受来自HoloLens的输入数据流
  • 在虚拟全息视图渲染内容
  • 内容的帧数据流实时返回到HoloLens

更多信息请阅读官方文档Holographic Remoting 文档.

生成示例

  1. 从GitHub下载zip文件或直接将代码库克隆到你的开发PC上
  2. 在 RemotingHostSample 文件夹,双击 RemotingHostSample.sln 通过 Microsoft Visual Studio 2015 打开解决方案
  3. 通过快捷键 Ctrl+Shift+B , 或者通过菜单 生成 > 生成解决方案 生成应用

安装 Remoting Player app

  1. 在 Microsoft HoloLens 里, 通过应用商店app Store 搜索 "Remoting Player".
  2. 选择 Remoting Player app.
  3. 点击 *Install 将 Remoting Player app 下载并安装到你的HoloLens里

连接远程主机示例到 Remoting Player

  1. 在你的 Microsoft HoloLens 里运行 Remoting Player
  2. 把HoloLens的IP记录下来,稍后运行项目时指定这个IP通过 HoloLens的 Remoting Player 显示全息图像
  3. 设置远程主机示例,这将是大家最感兴趣的部分:

    1. RemotingHostSampleUWPXAML 是个 UWP XAML 示例项目,包含一个UI可以很方便的连接,然后加载示例,你在对话框中输入HoloLens的Ip地址,并且点击 Connect.
    2. UWP示例(只有DirectX)必须修改代码来连接。到RemotingHostSample.cpp的223行,替换 "192.168.0.1" 为你的HoloLens 的IP地址,然后重新生成并加载应用来连接。
    3. RemotingHostSampleDesktop 桌面示例必须在项目属性中的命令参数指定IP地址。为此在解决方案窗口邮件单击项目 属性 并且选择Debug属性页面,在命令参数 字段输入HoloLens的Ip地址,点击“确定”完成。
  4. 在 Visual Studio,选择其中一个远程主机示例,右键单击选择 设置为启动项目

  5. 按 F5 开始.

【祥哥带你玩HoloLens开发】了解如何实现远程主机为HoloLens实时渲染的更多相关文章

  1. 阿里小哥带你玩转JVM:揭秘try-catch-finally在JVM底层都干了些啥?

    让我们准备一个函数:   然后,反编译他的字节码:   首先我们介绍异常表:在编译生成的字节码中,每个方法都附带一个异常表. 异常表中的每一个条目代表一个异常处理器,并且由 from 指针.to 指针 ...

  2. 【宇哥带你玩转MySQL】索引篇(一)索引揭秘,看他是如何让你的查询性能指数提升的

    场景复现,一个索引提高600倍查询速度? 首先准备一张books表 create table books( id int not null primary key auto_increment, na ...

  3. 为什么MySQL要用B+树?聊聊B+树与硬盘的前世今生【宇哥带你玩转MySQL 索引篇(二)】

    为什么MySQL要用B+树?聊聊B+树与硬盘的前世今生 在上一节,我们聊到数据库为了让我们的查询加速,通过索引方式对数据进行冗余并排序,这样我们在使用时就可以在排好序的数据里进行快速的二分查找,使得查 ...

  4. MySQL如何创建一个好索引?创建索引的5条建议【宇哥带你玩转MySQL 索引篇(三)】

    MySQL如何创建一个好索引?创建索引的5条建议 过滤效率高的放前面 对于一个多列索引,它的存储顺序是先按第一列进行比较,然后是第二列,第三列...这样.查询时,如果第一列能够排除的越多,那么后面列需 ...

  5. HoloLens开发手记-开发概述Development overview

    开发HoloLens全息应用将使用UWP平台(Universal Windows Platform),所有的HoloLens应用都是Win10通用应用,所有UWP通用应用都可以在HoloLens上运行 ...

  6. iOS开发——高级UI&带你玩转UITableView

    带你玩装UITableView 在实际iOS开发中UITableView是使用最多,也是最重要的一个控件,如果你不会用它,那别说什么大神了,菜鸟都不如. 其实关于UItableView事非常简单的,实 ...

  7. Java开发不懂Docker,学尽Java也枉然,阿里P8架构师手把手带你玩转Docker实战

    转: Java开发不懂Docker,学尽Java也枉然,阿里P8架构师手把手带你玩转Docker实战 Docker简介 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一 ...

  8. HoloLens开发手记 - HoloLens真机上手简评

    千呼万唤始出来,终于今天拿到了HoloLens真机. 使用体验 使用自带的应用录制了一段使用视频,如下 设备概览 包装盒 本体 试戴 实际效果 GalaxyExplorer试玩 全息图像贴到现实场景表 ...

  9. 带你玩转Visual Studio

    带你玩转Visual Studio 带你新建一个工程 工程目录下各文件的含义 解决方案与工程 在这之前先了解一个概念:解决方案与工程. 解决方案(Solution):一个大型项目的整体的工作环境: 工 ...

随机推荐

  1. gradle 构建包含源码配置

    参考配置: apply plugin: "idea" apply plugin: "groovy" apply plugin: "eclipse&qu ...

  2. Navicat Premium 连接O​r​a​c​l​e​ ​出现o​r​a​-​1​2​5​0​5​ ​错​误​解​决​方​案

    找到listener.ora文件:我的Oracle是安装在F盘, 路径为:F:\oracle\product\10.2.0\db_1\network\admin\listener.ora  改动前的配 ...

  3. 纯 as3 项目中引用 fl 包下的类

    如果安装了 Flash IDE, 将下面的文件添加到项目的 libs 中即可:D:\Program Files\Adobe\Adobe Flash CS6\Common\Configuration\A ...

  4. linux tcpdump命令抓包

    tcpdump host 210.27.48.1 and \ (210.27.48.2 or 210.27.48.3 \) 截获主机210.27.48.1 和主机210.27.48.2 或210.27 ...

  5. 洛谷1527(bzoj2738)矩阵乘法——二维树状数组+整体二分

    题目:https://www.luogu.org/problemnew/show/P1527 不难想到(?)可以用二维树状数组.但维护什么?怎么查询是难点. 因为求第k小,可以考虑记权值树状数组,把比 ...

  6. celery制作定时任务

    celery参考地址:http://docs.celeryproject.org/en/latest/userguide/periodic-tasks.html#starting-the-schedu ...

  7. rails里面添加妹子ui

    妹子ui看起来很不错,以为在rails里面添加自定义的css和js和平时一样,结果可想而知,不过弄完以后发现还是比较简单的,这里记录一下 妹子ui需要加载的css和js如下 http://cdn.am ...

  8. C语言实现简单的单向链表(创建、插入、删除)及等效STL实现代码

    实现个算法,懒得手写链表,于是用C++的forward_list,没有next()方法感觉很不好使,比如一个对单向链表的最简单功能要求: input: 1 2 5 3 4 output: 1-> ...

  9. Jenkins的项目管理

    新建Item 使用Jenkins最重要的是能够创建一些工作流,除了部署,还能做很多流程上的事情.同样,一条条项目建起来需要做一定的管理,在Jenkins首页Jenkins->新建可以按自己的需要 ...

  10. codechef January Challenge 2017 简要题解

    https://www.codechef.com/JAN17 Cats and Dogs 签到题 #include<cstdio> int min(int a,int b){return ...