当前位置: 首页 > news >正文

眼球追踪、HDR、VST,从代码挖掘Valve下一代VR头显

擅长爆料、挖掘线索的Brad Lynch,此前发布了Quest Pro等设备的线索文章引发关注。​近期,又公布一系列与“Valve Deckard”VR头显相关消息,比如支持眼球追踪、HDR、VST透视、Wi-Fi网络等等。在SteamVR 1.26.1测试版更新、Steam用户端、Gamescope合成器等Lynch挖掘到大量代码线索,从中让我们对Valve下一代VR头显进行提前了解。

关于SteamVR 1.26.1系统

首先来看看SteamVR 1.26.1测试版更新日志:

本次更新改进了VR手柄兼容性,支持自动重映射,允许你使用更多种VR手柄操控SteamVR、OpenXR内容。此前,为了优化SteamVR游戏对不同VR手柄的兼容性,推出了手动预设VR手柄映射的功能。而自动重映射功能上线后,玩家无需手动设置,SteamVR会自动为VR手柄适配最接近的映射方案(通常以主流手柄为模板)。这意味着即使是专门为Oculus手柄开发的VR游戏,也能快速兼容WMR手柄,这将减轻跨设备VR游戏开发者的工作量。

与此同时,VR手柄开发者也可以指定可重映射的手柄布局,模拟该手柄的操控方式。

除了手柄兼容性外,本次更新还为SteamVR菜单加入了“把手”功能,可用来快速移动、固定菜单的位置,Quest UI也有类似的设计。

代码挖掘

在SteamVR 1.26.1的代码中Brad Lynch发现了大量此前未公布的功能字段,其中涉及了聊天、眼球追踪等元素。其中一个发现,是“SteamVRVoiceChat”,代码中该功能的描述为:允许SteamVR与Steam语音通讯的服务。

Steam用户端测试版的代码也得到更新,比如支持VR和非VR的跨系统兼容。Lynch猜测,Steam可能会在好友列表界面加入一个VR聊天开关(甚至还设计了图标,与Steam Deck新的Gamepad UI一致),或者可能会推出VR和非VR用户之间的交流功能。

代码还显示,Valve似乎在测试一种新的网页UI,特点是可以在网页和VR之间共享。Valve还为此设计了一种页脚图标,似乎在Steam Deck和VR系统上通用。

Lynch指出,从SteamVR系统的文件中,发现了一张SteamVR设置菜单图,整体风格与Steam Deck一致(比如设置排序等等)。有趣的是,Valve似乎允许内部员工在启动SteamVR时选择不同的UI设计,比如Gamepad UI、Big Picture模式等等。不过,这些UI设计似乎是覆盖层,并非内置的控制面板,Lynch猜测这可能与某种VST透视模式有关。

代码中的本地化文件描述了一种全新的的Steam菜单,似乎可以启动覆盖层菜单,或是某种快速访问菜单。

此外,Valve似乎也在尝试优化SteamVR的边界设置流程。Lynch代码中发现了一个Room Setup(房间设置)按钮,似乎可以在VR头显内自动设置房间边界,取代此前比较繁琐的PC VR边界设置过程。

在2021年的SteamVR系统更新中,Lynch曾发现一个“vrlink”文件夹,其中有一个Wi-Fi驱动(基于Realtek设备驱动改动)。据悉,这是一个Valve内部驱动(代码driver_cvhmd/driver_hmd),它似乎可以在电脑创建Wi-Fi热点,允许VR头显连接。

有意思的是,SteamVR 1.26.1的代码中,再次出现了driver_hmd字段,后面还连着/eyetracking字段,这疑似是在暗示Valve可能在VR头显上加入眼球追踪功能,并且该功能依赖于Valve的VR驱动。

此外,Valve也在Lighthouse二进制代码中多次写入Eye Tracking相关字段。Lynch表示:如果Valve将代码加入到Lighthouse二进制文件,通常意味着Valve在测试该功能,或者在自己的硬件上使用,即使该功能并不使用Lighthouse定位系统。

除了代码外,还发现了完整的眼球追踪校正系统和设置菜单,不过目前还不能启动。

值得注意的是,Valve的眼球追踪功能似乎基于OpenXR,好处是兼容性更广泛。

与此同时,一些网友猜测Valve可能是在为Quest Pro等其他VR头显测试眼球追踪功能,对此Lynch指出,实际上OpenXR toolkit API层已经能允许Quest Pro等头显在SteamVR上使用眼球追踪功能,因此没必要再在系统上提供支持。另外,每个与VR相关的Valve专利,几乎都会提到眼球追踪功能,足以说明该功能对于Valve的重要性。

Valve也在下一代VR头显上探索VST透视功能,比如在SteamVR代码中,就发现一系列相关的字段,暗示某种名为Portal Shapes的VST模式管理功能,可允许你开启/关闭VST透视、管理不同的Portal、添加和删除Portal等等。你还可以在透视模式中添加多种3D模型,来标记透视场景,可能会用于某种AR玩法。

在一项2021年公布的专利中,Valve就曾描述一种在游戏中添加AR内容的方式,其中还指出了一种社区工坊功能,可允许玩家创建第三方AR层内容,并引入到VR或非VR游戏中。Lynch指出,该专利中的很多细节,和代码描述的Portal功能有很多相似之处。

而在3月28日的Steam用户端测试版更新中,还发现了一些与Gamepad UI相关的代码(BSteamCanMakeVROverlays),似乎可允许用户在Steam界面上叠加AR层。Lynch猜测,这似乎是一个开发中的功能,Valve正在对其进行内测。

此外,在Steam Deck的Gamescope合成器(针对Linux系统)更新中也发现了VR相关代码。比如,有四个gamescope开头的字段似乎可开启某种DRM(直接渲染管理器)租赁支持。而在过去6年里,Valve一直在研发DRM模式,来优化Linux系统直连VR头显的延迟。此外,Lynch发现的DRM分支代码中,似乎还提到了HDR支持和自适应同步支持,实际上此前在SteamVR代码中就曾出现过HDR字段,而Valve的专利中也提到过自适应同步功能,这是一种动态调整刷新率的方案,类似于NVIDIA G-Sync、FreeSync等技术。

尽管现在还无法预测Valve什么时候推出下一代VR头显,但从Lynch挖掘到的大量代码来看,该公司的VR研发项目似乎依然在积极进行中,这令人十分期待。参考:SadlyItsBradley

相关文章:

眼球追踪、HDR、VST,从代码挖掘Valve下一代VR头显

擅长爆料、挖掘线索的Brad Lynch,此前发布了Quest Pro等设备的线索文章引发关注。​近期,又公布一系列与“Valve Deckard”VR头显相关消息,比如支持眼球追踪、HDR、VST透视、Wi-Fi网络等等。在SteamVR 1.26.1测试版更新、Steam用户端、Gamesc…...

【MYSQL】聚合函数和单表/多表查询练习、子查询、内外连接

目录 1.聚合函数 1.1.group by子句 1.2.having语句 2.单表查询 2.2单表查询 3.多表查询 3.2.子查询 5.内链接 6.外连接 1.聚合函数 函数说明count返回查询到的数据的数量sum返回查询到的数据的总和avg返回查询到的数据的平均值max返回查询到的数据的最大值min返回查询…...

分布式数据库集成解决方案

分布式数据库集成解决方案 分析访问部署扩展.1 以界面方式创建数据库(采用DBCA) # 背景 由于公司业务的发展,要求在其它三个城市设立货仓,处理发货业务。公司本部运行着一套用Sybase数据库的MIS系统可以实现发货,该系统…...

如何配置静态路由?这个实例详解交换机的静态路由配置

一、什么是静态路由 静态路由是一种路由的方式,它需要通过手动配置。静态路由与动态路由不同,静态路由是固定的,不会改变。一般来说,静态路由是由网络管理员逐项加入路由表,简单来说,就是需要手动添加的。…...

OpenCV教程——图像操作。读写像素值,与/或/非/异或操作,ROI

1.读取像素值 我们可以通过mat.ptr<uchar>()获取图像某一行像素数组的指针。因此如果想要读取点(x50&#xff0c;y0)&#xff08;⚠️即(row0,col50)&#xff09;的像素值&#xff0c;可以这样做&#xff1a;mat.ptr<uchar>(0)[50]。 在本节将介绍另外几种直接读…...

Winforms不可见组件开发

Winforms不可见组件开发 首先介绍基本知识,有很多的朋友搞不清楚Component与Control之间的区别,比较简单形象的区别有下面两点: 1、Component在运行时不能呈现UI,而Control可以在运行时呈现UI。 2、Component是贴在容器Container上的,而Control则是贴…...

静态链接库与动态链接库

静态链接库与动态链接库 一、从源程序到可执行文件二、编译、链接和装入三、静态链接库与动态链接库四、静态链接库与动态链接库的制作与使用1.静态库的制作及使用2.动态库的制作及使用 一、从源程序到可执行文件 由于计算机无法直接理解和执行高级语言&#xff08;C、C、Java…...

ffmpeg 抓取一帧数据

FFmpeg功能比较强大&#xff0c;这里记录一条从摄像机抓拍的一条命令&#xff1a; ffmpeg.exe -i rtsp://admin:hisense2021192.168.1.64:554/live0.264 -r 1 -ss 00:00:00 -t 00:00:01 -f image2 image.jpg ; ---执行成功。 这是一条网络摄像机的抓图命令&#xff0c;其实就…...

学好数据结构的秘诀

学好数据结构的秘诀 作为计算机专业的一名“老兵”&#xff0c;笔者从事数据结构和算法的研究已经近20余年了&#xff0c;在学习的过程中&#xff0c;也会遇到一些问题&#xff0c;但在解决问题时&#xff0c;积累了一些经验&#xff0c;为了让读者在学习数据结构的过程中少走…...

IT知识百科:什么是下一代防火墙和IPS?

引言 随着网络攻击的日益增多&#xff0c;防火墙和入侵防御系统&#xff08;Intrusion Prevention System, IPS&#xff09;已成为企业网络安全的必备设备。然而&#xff0c;传统的防火墙和IPS已经无法满足复杂多变的网络安全威胁&#xff0c;因此&#xff0c;下一代防火墙和I…...

常量指针和指针常量, top-level const和low-level const

区分常量指针和指针常量&#xff0c;并且认识什么是top-level const和low-level const。 1.判别&#xff1a; 拿到一个指针&#xff08;例如const int* a),就从左往右读&#xff0c;只看const和*。const读作常量&#xff0c;*读作指针,int类型这些不用管。 2.指针常量 int a…...

【iOS】-- GET和POST(NSURLSession)

文章目录 NSURLSessionGET和POST区别 GET方法GET请求步骤 POSTPOST请求步骤 NSURLSessionDataDelegate代理方法AFNetWorking添加头文件GETPOST第一种第二种 NSURLSession 使用NSURLSession&#xff0c;一般有两步操作&#xff1a;通过NSURLSession的实例创建task&#xff1b;执…...

@RequestBody,@RequestParam,@RequestPart应用场景和区别

ReqeustBody 使用此注解接收参数时&#xff0c;适用于请求体格式为 application/json&#xff0c;只能用对象接收 RequestParam 支持application/json&#xff0c;也同样支持multipart/form-data请求 RequestPart RequestPart这个注解用在multipart/form-data表单提交请求的方法…...

libevent高并发网络编程 - 02_libevent缓冲IO之bufferevent

文章目录 1. 为什么需要缓冲区&#xff1f;2. 水位3. bufferevent常用API3.1 evconnlistener_new_bind()3.2 evconnlistener_free()3.3 bufferevent_socket_new()3.4 bufferevent_enable()3.5 bufferevent_set_timeouts()3.6 bufferevent_setcb()3.7 bufferevent_setwatermark(…...

院内导航移动导诊服务体系,院内导航怎么实现?

院内导航怎么实现&#xff1f;经过多年发展&#xff0c;医院规模愈加庞大&#xff0c;尤其是综合性医院&#xff0c;院区面积较大&#xff0c;门诊、医技、住院等大楼及楼区内部设计复杂&#xff0c;科室、诊室数量众多&#xff0c;对于新患者犹如进入了迷宫&#xff0c;客观环…...

MCTP协议和NCSI

MCTP&#xff08;Management Component Transport Protocol&#xff09;是一种管理组件传输协议&#xff0c;用于在计算机系统中管理各种组件&#xff0c;例如固件、BIOS、操作系统等。MCTP 协议定义了一种传输格式&#xff0c;以便在各种总线上进行通信&#xff0c;例如 PCIe、…...

Jmeter接口测试流程详解

1、jmeter简介 Jmeter是由Apache公司开发的java开源项目&#xff0c;所以想要使用它必须基于java环境才可以&#xff1b; Jmeter采用多线程&#xff0c;允许通过多个线程并发取样或通过独立的线程对不同的功能同时取样。 2、jmeter安装 首先需要安装jdk&#xff08;最好是最…...

怎样使用Web自动化测试减少手动劳动?以百度网站为例

从入门到精通&#xff01;企业级接口自动化测试实战&#xff0c;详细教学&#xff01;&#xff08;自学必备视频&#xff09; 目录 摘要 步骤1&#xff1a;安装和配置Selenium 步骤2&#xff1a;启动浏览器并访问百度网站 步骤3&#xff1a;关闭浏览器 总结 摘要 本指南将…...

union和位域的混合使用

1、union&#xff08;共用体&#xff09; 1.1、概述 C 语言中&#xff0c;union是一种数据类型&#xff0c;对比于结构体&#xff0c;结构体中的每个成员都占用独立的内存空间&#xff0c;而联合中所有的成员都共享同一个内存空间。 也就是说&#xff0c;union中的不同成员要…...

PMP 高项 07-项目质量管理

项目质量管理 概念 质量的基本概念 克劳斯比&#xff1a;符合要求 戴明&#xff1a;低成本条件下可预测的一致性和可靠度&#xff0c;适应市场需要 朱兰&#xff1a;适用性&#xff0c;满足客户需要 国际标准化组织&#xff1a;质量是反映实体&#xff08;产品、过程或活动等…...

K8S认证|CKS题库+答案| 11. AppArmor

目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作&#xff1a; 1&#xff09;、切换集群 2&#xff09;、切换节点 3&#xff09;、切换到 apparmor 的目录 4&#xff09;、执行 apparmor 策略模块 5&#xff09;、修改 pod 文件 6&#xff09;、…...

React Native 开发环境搭建(全平台详解)

React Native 开发环境搭建&#xff08;全平台详解&#xff09; 在开始使用 React Native 开发移动应用之前&#xff0c;正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南&#xff0c;涵盖 macOS 和 Windows 平台的配置步骤&#xff0c;如何在 Android 和 iOS…...

阿里云ACP云计算备考笔记 (5)——弹性伸缩

目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...

Java 8 Stream API 入门到实践详解

一、告别 for 循环&#xff01; 传统痛点&#xff1a; Java 8 之前&#xff0c;集合操作离不开冗长的 for 循环和匿名类。例如&#xff0c;过滤列表中的偶数&#xff1a; List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...

【第二十一章 SDIO接口(SDIO)】

第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...

在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module

1、为什么要修改 CONNECT 报文&#xff1f; 多租户隔离&#xff1a;自动为接入设备追加租户前缀&#xff0c;后端按 ClientID 拆分队列。零代码鉴权&#xff1a;将入站用户名替换为 OAuth Access-Token&#xff0c;后端 Broker 统一校验。灰度发布&#xff1a;根据 IP/地理位写…...

Matlab | matlab常用命令总结

常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...

在WSL2的Ubuntu镜像中安装Docker

Docker官网链接: https://docs.docker.com/engine/install/ubuntu/ 1、运行以下命令卸载所有冲突的软件包&#xff1a; for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done2、设置Docker…...

【 java 虚拟机知识 第一篇 】

目录 1.内存模型 1.1.JVM内存模型的介绍 1.2.堆和栈的区别 1.3.栈的存储细节 1.4.堆的部分 1.5.程序计数器的作用 1.6.方法区的内容 1.7.字符串池 1.8.引用类型 1.9.内存泄漏与内存溢出 1.10.会出现内存溢出的结构 1.内存模型 1.1.JVM内存模型的介绍 内存模型主要分…...

实战三:开发网页端界面完成黑白视频转为彩色视频

​一、需求描述 设计一个简单的视频上色应用&#xff0c;用户可以通过网页界面上传黑白视频&#xff0c;系统会自动将其转换为彩色视频。整个过程对用户来说非常简单直观&#xff0c;不需要了解技术细节。 效果图 ​二、实现思路 总体思路&#xff1a; 用户通过Gradio界面上…...