Latest

可多路视频播放的VisionOS 媒体查看器开发

可多路视频播放的VisionOS 媒体查看器开发

开发一款能够同时播放多个视频的vision pro媒体查看器。 0:00 /0:40 1× 缘起 Vision Pro 发布时我就特别想买,毕业工作后终于有资金购入并加入Apple开发者计划,从今年五月到现在也用了快小半年,用起来确实挺爽。 但是有些痛点还是很难受,其中一个痛点就是无法同时播放多个视频音频(实际上VisionOS提供了同时播放音频的API,但是似乎我用的APP都是不遵守🤣 导致都在抢占),因此为了满足我自己的这个痛点,也学习一下Vision OS 的应用开发,甚至完成度足够的话考虑上架App Store,便有了这个目标是多视频同时播放的媒体查看器项目。 现有工作 我购买了4XVR、Infuse、Moon Player、ES 文件助手(这款只有iPad OS版,不是专供Vision OS的),这几个月体验下来,全都存在我提到的和其他APP抢占音频通道,无法同时播放的问题,其他的我的主观的体验如下: 4XVR:使用最多,用起来最舒服,格式支持很全,VR视频也能看,号称全v

By Feiran Yu

居住空间改造-网络空间

介绍 为了满足我自身的需求,搭建了一套相对高速(内网2.5G)、功能齐全(NAS、远程访问)的网络环境。 这篇记录我自己的网络配置,以及未来的建设展望。 Version 26/03/15 init version 26/06/28 Update 更换宽带、适配VR设备专用路由 总览 拓扑图如下,入户500M移动宽带,光猫桥接,连入RT-BE88U路由器,使用两个2.5G交换机(一个卧室一个客厅)连接所有设备。布局见 居住空间改造-物理空间 细节 网络布局 局域网IP分配方式为 192.168.50.1 ~ 192.168.50.99 为静态ip, 192.168.

By Feiran Yu

居住空间改造-物理空间

对我住的地方进行改造,来符合我的需求(写代码、diy、煮东西、节奏光剑、睡觉) 问题 现在住的房子较小,需要提高利用率才能满足我的需求。 现在住的是一个一室一厅一厨一卫的隔断弄出来的房子,按房东的计算有35平米,但我实际使用的卧室估计就12平米,那个厅估计就8平米。我的改造也围绕一室一厅来改。(下图是我的居住空间改造前的示意图) 优化方案 v2.0 2026/03/22 Update 问题 经过上一次的改造,可以满足我玩VR的需求,但是我发现: 1. 卧室拥有一个1.9m x 0.7m的飘窗我仅仅用来晾衣服; 2. 随着学会制作的食物增多,也添置了不少厨具,life桌放不下了。因此,需要再提高利用率。 方案 暂定方案为: 1. 把飘窗铺上垫子,可以用来躺着晒太阳或者冥想 2. 把客厅一块闲置区域放上桌子,用来放厨具以及煮锅 改动如下图所示 考虑飘窗加上电动窗帘 效果

By Feiran Yu

piVR

我有树莓派 我有3D打印机 我有quest3 我很简单的想能不能弄个玩意把它们结合在一起,所以就有了这个项目。 Power by Gemini 3 技术路线: 1. 树莓派串流双路视频流 2. 云台 3. 底盘 4. quest遥控 LOG: 25/12/10: 刷入树莓派OS,接入摄像头 25/12/11 完成双路推流,延迟基本没有,不过暂时是使用网线连接 Your browser does not support the video tag. 云台 25/12/20 初步的草图 计划采用去驱动板

By Feiran Yu

自制监控副屏

目的 想要完全控制我屋子中的绝大多数设备,并且监控PC、服务器的性能和功耗,于是准备自制监控副屏。 Update 26/10/10 发现ESP32 家族推出了P4 + C6这种可以驱动触屏的高性能芯片,立马买了微雪ESP32-P4-Module带十寸屏幕的开发套件,使用GPT6.1 Sol 基于LVGL实现HomeAssistant 面板的软件复刻以及外壳的设计,效果很不错,10寸屏幕整机功耗才4w,还可以使用网线稳定连接。 0:00 /0:53 1× 参考链接 www.waveshare.net/wiki/ESP32-P4-Module-DEV-KIT 微雪P4 开发板文档 www.waveshare.net/wiki/10.1-DSI-TOUCH-A 显示屏文档

By Feiran Yu

屏幕空间反射Vulkan实现

简介 实时渲染中重要的一环是计算间接光照,间接光照有多种实现方式,屏幕空间反射是其中的一种,我将尝试实现屏幕空间反射,把它加进我的渲染器中。 原理 原理就是在视口空间中做简单的raymarch。 对于屏幕上任意一点( p ): 1.根据摄像机方向( L )与当前点( p )的法向( N ),计算反射方向 ( RDir = reflect(L,N) ) 2.从p点出发,沿着反射的方向进行光线步进:( rayPos = p + step * RDir ),其中step为步进的长度 3.对于每次步进,比较( rayPos )和( rayPos.xy )对应屏幕空间的( z )值。 ->如果相差小于一个阈值 ( eps ) 则发生相交,取该点的颜色为( p )点的反射值; -> 否则回到第2步循环。 原理十分简单,

By Feiran Yu

NeRF/3DGaissian与人体重建

NeRF代表"Neural Radiance Fields",是一种用于三维场景重建和渲染的计算机图形学技术。它是由Benjamin Mildenhall等人于2020年提出的一篇论文中引入的。NeRF旨在解决传统基于多视角图像的三维重建方法中存在的一些问题,例如视角依赖性和合成新视角时的不真实感。 NeRF与人体重建总结ppt 下面是结合网络上的资料和我自己的理解写了一个ppt: 📁 File: NeRFDigitalHuman Download 📁 File: NeRFDigitalHuman Download Instant Volumetric Head Avatars 论文解析 概述 本篇论文介绍了一种使用Instant-ngp加速的NeRF与人体参数化模型结合的工作。 本文将会尝试介绍它的原理以及运行作者提供的代码。 INSTA parper主页https://zielon.github.io/insta/ code https://github.com/Zielon/INSTA 原理解析 结合网络上的资料和自己的理解,写了一个解析

By Feiran Yu

Vulkan Real-Time Ray Tracing

本文会介绍使用Vulkan来实现实时光线追踪的过程。 Vulkan是一个低开销、跨平台的二维、三维图形与计算的API,比起OpenGL更加底层,更加底层意味着可以优化性能表现的地方更多,可以提供较高的性能表现。 光线追踪(英语:ray tracing)是三维计算机图形学中的特殊渲染算法,追踪光线从来源开始照射到物体上,再由物体反射的光线“路径”,由于完整运算所有路径十分消耗运算资源,因此现有光线追踪技术仅运算“目所能及”的光线路径。 实时光线追踪(Real-Time Ray Tracing)原理上与光线追踪没有区别,而是使用了硬件加速、减少采样量、步进长度来减少计算量,最后可以达到实时水平(每秒可以绘制多帧画面)。细节可以参考高质量实时渲染:实时光线追踪 图1是实时光追在 Wolfenstein: Youngblood 中的应用对比。 图1 (左侧没有开启反射 右侧开启光线追踪的反射) 技术路线 1 学习vulkan 过程: 通过学习https://vulkan-tutorial.com/ 和https://vkguide.dev/

By Feiran Yu

人体几何模型重建

背景 最近在做三维人体重建方向的工作,本文会试着系统的介绍使用神经网络从二维图片/视频中提取出人体参数化模型以及纹理贴图的过程。 [0]SMPL模型学习和使用 背景 最近在做三维人体重建方向的工作,SMPL是基础,所以准备学习它。 什么是SMPL 在人体动作捕捉(motion capture)领域,SMPL 算法最为常见,它是由德国马普所提出的一种参数化的三维人体动捕模型,具有通用性、易于渲染和兼容现有商业软件(比如 UE4 和 Unity)的优点。 原理 它是一个使用几组参数就能生成一个人体模型和姿态模型的框架。 运行 1. 从官网下载SMPL模型 https://smpl.is.tue.mpg.de/download.php 2. 需要注意需要linux或者macos才能运行,我安装了WSL2 的Ubuntu 3. 解决环境依赖,把缺少的库都用apt和pip安装了,参考这个SMPL源码安装:安装成功并实现 4. 注意需要把smpl放入python的path中,放入后我这里需要将

By Feiran Yu

OpenPose 调研

背景 我们实验室做人体重建方向比较多,这个OpenPose是人体姿态估计方面非常厉害的项目,通过学习它,有助于入门人体重建。同时,它也是一个在GitHub现在拥有25k star 代码行数约12w行的开源项目,从软件开发的角度,它的设计架构也很值得学习。所以我将进行调研。 下图是OpenPose的一个运行效果。 可以看到每个人都被绘制上了合理的躯干和关节位置,而且这个算法可以实时运行!效果还是不错的。 0.ppt 结合网络资料和我自己的理解,我整理的OpenPose原理ppt: 📁 File: OpenPose Download OpenPose软件设计的ppt: 📁 File: OpenPose Download 调研计划 调研主要就是看懂论文,跑明白代码,将由以下部分组成: 1. 论文阅读分析 2. 下载和编译源代码 3. 跑通它提供的一些demo 4. 阅读和分析OpenPose的代码架构 1.论文阅读分析 整个OpenPose工作的历程是由几篇工作组成的: 首先是Realtime Multi-Person 2D Po

By Feiran Yu

最优化算法c++实现

背景 最优化方法是一门关于找凸函数的最值点的一系列方法,本文会介绍一些最优化方法的原理以及使用C++的实现。 代码在https://github.com/yufeiran/ConvexOptimization 中 目录 [1] 内点法(interior point method) [2] 2d fused lasso [3] Soft Thresholding [4] Proximal gradient descent [5] ADMM [1] 内点法(interior point method) 主要参考这篇文章【学界/编码】凸优化算法 I: 内点法(interior point method)求解线性规划问题,根据自己的理解进行实现。 主要分为两部分:数学推导和C++实现 数学推导 C+

By Feiran Yu