在应用运行时:
• 如果需要在Holo Space中移动窗口,那么修改local_matrix中的平移值,功能与explorer.exe中的移动窗口类似,只是除了上下(y轴方向)左右(x轴方向)移动外还可以前后(z轴方向)移动。
• 如果需要在Holo Space中旋转窗口,那么修改local_matrix中的旋转值。explorer.exe中没有类似的功能。
• 如果需要在Holo Space中放缩,那么修改local_matrix中的放缩值,功能与explorer.exe中按住窗口边缘拖拉改变大小一致。
• 如果视频内容需要更新,那么更新texture为最新的内容,只有这么做我们才能看到会动的视频。
在应用退出时:
• 释放Direct3D的资源
• 不用担心,这些都是explorer3d.exe会负责的。
• 细心的读者会发现我们没有用到一个很重要的功能:
(d) HoloLens设备在Holo Space中的坐标(x, y, z)、朝向(tx, ty, tz)。
要解释它我必须讲解world、view、projection三个矩阵,还要讲解矩阵的乘法以及dot product的公式等等,这些完全是图形学的知识了,一时半会讲不完,我会再专门为它们写一个系列。我打算用一句话解释下,explorer3d.exe会维护一个全局的global_matrix,它等于world * view * projection,vIEw的值由功能(d)中的信息可以得到。global_matrix的作用就好比第一人称射击游戏中的鼠标,写到这里我发现把explorer3d.exe视作一个3D游戏会简单很多,3D游戏场景里的电视机也能播放视频,其实是一样的道理。
总结一下,这个类型的应用程序员几乎不需要修改代码,由explorer3d.exe负责调用Direct3D将传统应用的内容转换成3D的贴图。
关注天下网吧微信,了解网吧网咖经营管理,安装维护:
本文来源:不详 作者:佚名