教程
从第一次打开到完整跑通一套融合。按顺序读,或者直接跳到你需要的那一节。
快速开始
lxisi 的工作流和普通播放软件不一样:先有空间模型,再有投影配置。 这个顺序决定了校准能有多准,也决定了后面换素材时要不要重新调。
第一次打开,建议先做三件事:
- 确认用的是独立显卡。笔记本双显卡机器上,Windows 可能默认把 OpenGL 程序分给核显。
- 加载一个示例工程。安装目录
share/splash/下有现成的工程文件,先看它怎么组织场景和输入源。 - 用网格图校准,不要用内容画面。网格调准之后,换任何素材都不用重调。
确认显卡
启动后打开 config\splash.log,找到这两行:
Renderer::init - GL vendor: NVIDIA Corporation Renderer::init - GL renderer: NVIDIA T600 Laptop GPU/PCIe/SSE2
如果显示的是 Intel(R) UHD Graphics 或 AMD Radeon(TM) Graphics,
说明还在用核显,需要手动指定。
lxisi.exe → 首选图形处理器选「高性能 NVIDIA 处理器」。
或者用系统的「设置 → 系统 → 显示 → 图形设置」添加程序并选高性能。
安装与 Blender 插件
Windows 上不需要编译,解压安装包就能用。如果你打算用 Blender 建模型, 还要额外装一个插件,它是把场景导出成 lxisi 配置的桥梁。
Windows 安装包
- 下载 ZIP,解压到任意目录
- 双击
lxisi-1.1.1-win64.exe,一路下一步 - 许可协议是 GPLv3,接受后继续
装完在开始菜单能找到,或者直接搜 lxisi。
卸载和普通软件一样,在「应用和功能」里删掉即可。 工程文件和日志不会被删,需要的话手动清理。
依赖库
安装包已经带齐了运行时,下面这些只是让你知道它在用什么:
| 库 | 作用 | 是否必需 |
|---|---|---|
| FFmpeg | 读写视频文件 | 必需 |
| OpenGL | 渲染,由显卡驱动提供 | 必需(4.5 Core) |
| GSL | 校准计算的数学库 | 必需 |
| shmdata | 从共享内存读视频流 | 可选 |
| PortAudio | 音频输入输出、时间码 | 可选 |
| Python | 脚本控制 | 可选 |
| GPhoto | 用相机做色彩校准 | 可选 |
其余还有 GLFW、ImGui、ZMQ、GLM、Snappy、JsonCpp、stb_image、libltc 等, 都已内置,不用单独装。
Blender 插件
安装包里附带 blenderSplash.zip,这个插件能做两件事:
- 在 Blender 里搭一个草稿场景(带纹理的模型 + 相机),导出成 lxisi 的配置文件
- 通过 shmdata 把 Blender 里的网格和纹理实时推给 lxisi
安装步骤:
- Blender →
Edit→Preferences→Add-ons - 点右上角
Install from File… - 选
blender_splash_addon.tar.bz2(或安装包里对应的 zip) - 在列表里勾选启用,它会出现在
User分类下
界面导览
控制面板默认出现在程序创建的第一个窗口里。如果启动时没看到它:
Ctrl + Tab— 在已有窗口里显示控制面板Ctrl + Space— 新开一个窗口显示控制面板
面板分成七个标签页,各管一件事:
| 标签 | 中文叫法 | 作用 |
|---|---|---|
| Graph | 场景图 | 所有对象和它们的参数都在这里,包括窗口、相机、媒体、模型之间的连接关系 |
| Meshes | 模型 | 切换 3D 模型文件 |
| Medias | 素材 | 更换输入文件,配置滤镜,把媒体接到其他节点 |
| Cameras | 相机 / 校准 | 投影面的全局视图,可切到任意相机。几何校准就在这里做 |
| Warps | 变形 | 投影变形。3D 模型无法完美还原表面时,用格栅微调 |
| Textures | 纹理 | 所有纹理与滤镜,用来检查渲染管线的中间结果、定位问题来源 |
| Options | 选项 | 选项与命令,例如计算融合图 |
面板底部固定显示三样东西:性能计数器、日志、当前主时钟。
相机视图操作
| 操作 | 功能 |
|---|---|
| 右键拖动 | 旋转视图 |
| Shift + 右键 | 平移视图 |
| Ctrl + 右键 | 缩放 |
| Ctrl + W | 线框模式(显示顶点,校准用) |
| Ctrl + T | 纹理模式(显示实际画面) |
选中某个相机时,它的画面范围会用橙色接缝高亮,方便确认是哪台投影仪。 默认选中的是总览相机(不输出到任何投影仪)。
配置入门
这一节从零讲清楚配置是怎么组织的:场景图里有什么节点、窗口和相机怎么对应到 物理输出、资源文件放在哪。做完之后你就能自己搭一套配置,不用每次从示例改。
不需要投影仪也能跟着做,界面操作是一样的。校准部分见后面的单投影和多投影章节。
先存一份自己的配置
不要直接在默认配置上改,先另存一份:
- 启动 lxisi,选中控制面板那个窗口
File→Save configuration as…- 选好目录,填文件名,回车保存
然后重新打开它:File → Open configuration,双击刚才那个文件。
切线框:Cameras 标签 → View 菜单 →
Switch wireframe/textured。快捷键是 Ctrl + W。
看懂 Graph 标签
按 Ctrl + Tab 显示控制面板,或者 Ctrl + Space 单独开一个窗口。
点 Graph 标签,左边是场景图,右边是当前选中对象的属性。
在场景图里移动:
- 平移画布:按住中键拖动,或右键拖动时按住
Alt - 移动节点:左键拖动
- 找对象:
Select菜单里按名字选 - 连线:
Shift + 左键从一个节点拖到另一个
案例:一块屏 + 两台投影
假设你的显示器是第一块屏,两台投影是第二、第三块,分辨率都是 1920×1080。
先在系统显示设置里把它们并排排列、中间不留空隙,
这个顺序决定了后面 position 怎么填。
加一台相机
Add菜单 →Other→Camera,图上多出camera_001- 左键选中它
Shift + 左键点window节点,建立连接
节点挤在一起看不清的话,View 菜单 → Reorder graph 自动排版。
让画面显示出来
- 左键选中
object节点 - 按住
Shift左键点camera_001,把模型连到新相机上
改尺寸和位置
| 节点 | 属性 | 值 | 原因 |
|---|---|---|---|
| window | size | 3840 × 1080 | 装两块 1920×1080 的画面 |
| window | position | 1920, 0 | 从第二块屏开始,跳过显示器 |
| camera | size | 1920 × 1080 | 对应第一台投影 |
| camera_001 | size | 1920 × 1080 | 对应第二台投影 |
position 是相对整个桌面坐标系算的。如果你的显示器排在左边,
数字就要跟着变——原则是让 window 正好盖住两台投影那两块区域。
加载模型和图片
安装目录 share/splash/ 下有现成的 color_map.png 和 wall_corner.obj,拿来练手正合适。
Medias标签,选中image节点,点path属性右边的…,选color_map.pngMeshes标签,选中mesh节点,同样点…,选wall_corner.obj
这时候画面应该出来了。剩下的就是按现场情况调整,然后去做校准。
单投影实战:墙角校准
这是官方入门教程的流程,目标是把默认模型对齐到真实的墙角上。 做完这一遍,你就掌握了校准的核心操作。
准备
- 一台电脑
- 一台投影仪
- 一个 90 度墙角(两面相邻的墙,不需要地板和天花板)
第一步:打开并连接投影
启动后会有两个窗口:控制面板和投影窗口。默认模型就是墙角,分辨率 1280×720。
接上投影仪并开机,调好对焦,让画面清晰。
第二步:把窗口分到正确的屏幕
控制面板应该在显示器上,投影窗口应该在投影仪上。如果不是:
- 拖动标题栏把控制面板移到显示器
- 把投影窗口拖到投影仪
- 或者在
Graph标签里选中该窗口,在右侧fullscreen属性里直接选投影仪
投影窗口应该铺满整块屏幕。分辨率不一致时,先调整投影仪的输出分辨率。
第三步:设置校准点
进入 Cameras 标签,按 Ctrl + W 切到线框模式,只看网格和顶点。
在真实墙角的对应位置贴上标记(贴纸或铅笔),需要 6 个点。
对每个点重复以下操作:
- 左键点击模型上对应的顶点,选中后会出现一个球包围它
- 视图中央出现一个十字,这就是该顶点的目标位置
- Shift + 左键点击画面任意位置,十字会移到光标处
- 用方向键微调,
Shift更慢、Ctrl更快 - 把十字对准墙上那个标记点
选错了:Ctrl + 左键点击该顶点可取消选择。
想修改已设的点,重新选中它再移十字即可。
顶点在背面看不到时,用右键拖动旋转模型。
第四步:执行校准
六个点都设好后,在 Cameras 标签打开 Calibrate 菜单,
选 Calibrate camera。或者鼠标悬停在视图上按 C。
线框模型应该会贴合到真实墙角的形状上。如果没变化,说明点的位置有问题,重新检查。
第五步:放视频
进入 Medias 标签,列表里有一个输入项:
- 选中它
- 把类型从
image改成video - 把
file属性填成视频文件的完整路径
视频就会按模型上生成的 UV 坐标贴到墙角上。
用 3D 模型校准:盒子示例
上一节是用软件自带的墙角模型练手。这一节换成真实物体:给一个盒子建 3D 模型, 导出配置,然后校准投影,最后把视频贴上去。
完整流程四步:
- 给要投影的物体建 3D 模型
- 从 Blender 导出草稿配置
- 在 lxisi 里打开,校准投影仪
- 加载内容播放
你需要:装好 lxisi 的电脑、连好的投影仪、一个盒子形状的物体。
第一步:建模型
lxisi 只管投影仪,不管建模——所以模型怎么来是你的自由。 按真实尺寸在 Blender 里画一个是最直接的办法,也可以用摄影测量。 下面假设你已经会基本的 Blender 操作。
还需要 UV 坐标,否则没法做纹理映射。操作:
- 选中模型,按
Tab进入编辑模式 - 按
U,选Smart UV Project - 再按
Tab退出编辑模式
第二步:配置,两条路
两种方式各有优势,看你的习惯:
| 方式 | 优点 | 适合 |
|---|---|---|
| 在 lxisi 里配 | 不用学 Blender,省掉导出导入,起步快 | 模型是别的软件做的,或者配置比较简单 |
| 用 Blender 插件 | 可以预先摆好模型和相机位置,后续校准更省事 | 场地复杂、投影仪多、需要精确预设 |
方式 A:在 lxisi 里配
照「配置入门」那一节做一遍,把窗口、相机、尺寸都设好。 唯一不同的是:只留一台相机,多出来的删掉或者别加。 配完存成独立文件。
然后从 Blender 导出模型,导进来:
- Blender 里选中模型,
File→Export→Wavefront (.obj) - 勾上
Selection Only(只导模型,不带场景其他东西) - 关掉材质导出(lxisi 用不上)
- 导出到配置文件旁边,方便管理
- 回到 lxisi,
Meshes标签 → 选中 mesh →…→ 选这个 OBJ
方式 B:用 Blender 插件
在 Blender 的 Splash 节点编辑器里搭一棵节点树。典型结构是这样:
- GUI 窗口:用专门的 GUI 节点生成,显示控制面板
- 投影窗口:用
Window节点,fullscreen设成1(第二块屏) - Camera:接在 Window 上,承载投影仪参数
- Object:接在 Camera 上
- Mesh 节点:数据源选 Blender 里那个盒子对象
- Camera 节点:数据源选 Blender 相机
- Image 节点:选
color_map.png(校准用的彩色网格图)
搭好之后,点 World 节点上的 Export configuration,
它会把所有连着的节点导出成一个 JSON。命名成 configuration.json。
模型会自动导到同一个目录。
启动方式两种:
- 把 JSON 拖到 lxisi 任意一个窗口上
- 命令行:
lxisi configuration.json
会出现两个窗口。投影那个显示盒子(还没校准,位置是错的),
另一个是空的——在上面按 Ctrl + Tab 或 Ctrl + Space 调出控制面板。
第三步:校准
Cameras 标签,选中你建的那台相机。现在 3D 视图里的画面就是投影仪打出来的(除了缩放)。
按 Ctrl + W 切线框,开始设 7 个点:
- 左键点模型上的一个顶点,它周围出现一个球
- 视图中央出现十字,代表这个顶点的目标位置
Shift + 左键点画面任意处,十字移过去- 看着真实物体,把十字对到该顶点对应的物理位置
- 方向键微调,
Shift更慢、Ctrl更快 - 换下一个顶点,重复
选错了:Ctrl + 左键点该顶点取消。想改已设的点,重新选中再移十字。
7 个点设完,鼠标停在 3D 视图上按 C(或者 Calibrate 菜单 →
Calibrate camera)。线框应该贴合到真实盒子上了。
按 Ctrl + T 回到纹理模式看效果,满意就 Ctrl + S 保存。
第四步:放视频
Medias 标签,选中那个输入对象,把类型从 image 改成 video,
然后 file 属性填视频的完整路径。
视频就会按 Blender 里做的 UV 坐标贴到盒子上。
往下还能做什么
- 多台投影:流程完全一样,每台配一个相机、各自校准,数量基本不限
- 算融合:全部校准完之后按
Ctrl + B,重叠区的亮度自动计算 - 实时联动:用 Blender 3D 视图侧栏里的 Splash 面板,可以把改过的网格实时推给 lxisi
多投影实战:穹顶校准
多投影的核心思路和单投影一样,但多了一个「先低精度后高精度」的两轮策略: 先用极简模型把相机参数校准出来,再换成精细模型提升画面质量。
整体流程
- 建一个低精度校准模型(只要关键点)
- 用 Blender 插件导出配置
- 在软件里逐台校准投影仪
- 建一个高精度模型并替换
- 第二轮微调
- 计算融合图
- 加载内容播放
第一步:低精度校准模型
校准至少需要 6 个点。模型只需要包含这些已知精确位置的点—— 边缘交点、接缝、或者你现场量出来的任意点。
在 Blender 里:选中模型 → Tab 进编辑模式 → 按 U 选 Smart UV Project → Tab 退出。
UV 坐标的作用是让校准期间能显示图案,方便判断对齐情况。
第二步:用 Blender 插件导出配置
节点树大致是这样(从右往左读):
| 节点 | 作用 |
|---|---|
| World | 根节点,所有节点都要直接或间接连到它 |
| GPU | 代表显卡。双显卡机器要建两个 |
| GUI 窗口 | 显示在控制用显示器上 |
| 投影仪窗口 | 跨所有投影仪,例如三台 1080p 就是 3840×1080,所有相机连到这里 |
| Object | 连接所有相机,输入来自 Image 和 Mesh |
| Image | 校准用的图案,例如自带的 color_map.png |
| Mesh | 在 Object 字段填校准模型名称 |
投影到穹顶内部时,Object 节点的 Culling 要设成 back。
在 World 节点上点 Export configuration,导出成 configuration.json。
第三步:逐台校准
启动:
lxisi configuration.json
或者在文件管理器里直接把 json 拖到程序上。
按 Ctrl + Tab 打开控制面板,进 Cameras 标签。
先隐藏干扰:
View菜单 →Hide other cameras,或悬停视图按H- 在相机列表里
Ctrl + 左键点击某台相机,可单独隐藏或显示
校准第一台:
- 线框模式(
Ctrl + W) - 选中顶点 → 出现球和十字
Shift + 左键移动十字到真实位置,方向键微调- 至少 6 个点,然后悬停视图按
C校准
校准第二台:需要让它和第一台匹配。
Ctrl + T切到纹理模式- 在列表里选中第二台,用
Ctrl + 左键隐藏第三台 - 用右键/Shift/Ctrl 移动相机,大致对齐第一台的画面
- 在线框和纹理之间切换,找到两台都覆盖的顶点
- 设至少 6 个点并校准
第三台:同理,隐藏第二台再校准。
第一轮完成后按 Ctrl + S 保存。
第四步:换成高精度模型
新建一个精细模型(例如切半的 UV 球体),直径必须和校准模型完全一致。
UV:Tab → A 全选 → U 选 Unwrap → Tab 退出。
导出:File → Export → Wavefront (.obj),勾选 Selection Only,取消 Write Materials。
回到软件,进 Meshes 标签,把 mesh 对象的源文件改成新模型,Ctrl + S 保存。
第五步:第二轮微调
- 切线框模式(
Ctrl + W),偏差更容易看出来 - 移动已有点后,软件会尽量自动重算;没自动就悬停视图按
Ctrl + C强制重算 - 某块区域没有校准点,至少补一个
- 尽量缩小顶点和十字之间的距离——距离越大,几何误差越大
校准到极限仍然不理想(充气穹顶这类表面很常见),就用 Warps 标签的格栅做局部变形。
第六步:计算融合
按 Ctrl + B,或 Calibrate 菜单 → Compute blending。
算完记得按 Ctrl + T 回到纹理模式看效果。
第七步:放内容
进 Medias 标签,把类型改成 video,file 填视频路径。
快捷键速查
| 快捷键 | 功能 |
|---|---|
| Ctrl + Tab | 打开控制面板 |
| Ctrl + Space | 在新窗口打开控制面板 |
| Ctrl + W | 线框模式 |
| Ctrl + T | 纹理模式 |
| H(悬停视图) | 隐藏其他相机 |
| Ctrl + 左键(相机列表) | 隐藏 / 显示指定相机 |
| Ctrl + 左键(顶点) | 取消选中顶点 |
| Shift + 左键 | 移动十字到光标位置 |
| 方向键 | 微调十字(配 Shift 更慢、Ctrl 更快) |
| A(悬停视图) | 显示所有十字 |
| C(悬停视图) | 校准相机 |
| Ctrl + C(悬停视图) | 强制重新计算校准 |
| Ctrl + B | 计算融合图 |
| Ctrl + S | 保存配置 |
1 · 建立空间模型
模型的作用是把「真实空间」和「虚拟空间」对齐。有了它,投影仪的位置、朝向、视场角才有参照, 融合带也才能按几何关系算出来。
用 Blender 建(推荐)
按现场真实尺寸把要投影的面建出来:墙、地面、装置外壳、转角。 不需要细节材质,几何形状准确就行。
安装目录里的 blenderSplash.zip 是配套插件。启用后可以把场景直接导出成
lxisi 能读的草稿配置,省去手工填坐标。
不建模也能用
如果现场就是几面平面墙,完全可以跳过 Blender,直接在软件里从零配置投影仪和面。 异形面或复杂空间才真正需要模型。
2 · 定义投影仪
每台投影仪需要描述清楚四件事:
- 位置 — 在空间中的坐标
- 朝向 — 镜头指向哪个方向
- 视场角 — 由镜头焦距决定,一般在投影仪规格书里
- 光学偏移 — 镜头位移(Lens Shift),影响画面在光锥中的位置
这几个数字决定了光锥怎么打在模型上。同一面墙由多台投影覆盖时, 重叠部分会被自动识别出来,作为融合带的计算依据。
3 · 校准与融合
校准分两步:几何对齐,然后是融合带。
几何对齐
- 切换到网格显示,投出测试网格图
- 微调每台投影的位置与镜头参数,让网格线在重叠区连续
- 检查边角是否拉伸,必要时调整视场角
判断标准很直观:网格线在两台投影的交界处应该是一条直线,不能错位、不能弯折。
融合带
重叠区的亮度由软件按几何关系自动计算衰减曲线,让两台投影叠加后的总亮度等于单台亮度。 如果现场墙面反光不均,可以手动微调曲线。
融合是逐帧计算的,改参数立刻能看到结果,不需要重新渲染或重启。
色彩校正
不同型号或不同灯泡寿命的投影仪,白色会有色差。重叠区尤其明显。 可以对单个通道做色彩校正,让接缝看不出来。
4 · 接入内容与输出
输入源
可以同时混用多种来源:
- 视频文件 — 常见格式,以及 Hap / Hap Alpha 等适合实时播放的编码
- 实时输入 — 摄像头、采集卡
- NDI — 网络视频流,需另行安装 NDI Runtime
- 共享内存 — 从其他软件直接取画面
输出通道
通道数不设上限。每个物理接口都可以是一个通道,也可以走 NDI 送到另一台机器。 每个通道独立做几何校正与融合。
多显卡可以并行输出,但每块卡都要满足 OpenGL 4.5。 跨卡输出建议同型号同驱动版本,避免同步问题。 集显加独显混用时,集显只建议跑控制界面,不要用于投影输出。
5 · OSC 与 Python 控制
现场通常需要由灯光台或中控系统接管画面切换。lxisi 提供 OSC 接口, 也支持用 Python 写自定义逻辑。
OSC
默认监听 UDP 9090,但默认是关闭的,需要在工程里显式启用。 可以限定只接受指定来源 IP 的指令。
Enable OSC server on Port 9090 Accept only from 192.0.2.50 # 留空 = 接受全部来源
Python
内置 Python 3.14 运行时,脚本随工程加载,不需要额外装环境。 适合做定时切换、读外部数据、联动其他设备这类逻辑。
时间码
支持 LTC 时间码输入,从音频接口读取。 和视频服务器或灯控系统保持同一时间轴时用得上。
6 · 开机自启与无人值守
展馆、展厅、固定安装这类场景,要求设备通电就出画面,不需要人操作。 这一节是完整配置流程,照着做完就能做到「断电重启后自动恢复展出」。
先说一个前提:为什么不能装成 Windows 服务
lxisi 需要 OpenGL 4.5 渲染。Windows 服务运行在 Session 0, 那里没有桌面、没有显卡驱动上下文,OpenGL 无法初始化,程序会直接失败。
所以正确的链路是:
开机 → 自动登录桌面 → 触发启动 lxisi
第一步:软件内开关
菜单栏 Settings → Startup and control...,可设置:
| 项目 | 作用 |
|---|---|
| Start with Windows | 登录时自动启动,写入注册表 HKCU\...\Run |
| Start headless | 启动时不创建输出窗口(下次加载配置生效) |
| Enable OSC server | 启用 OSC 控制 |
| Port | OSC 监听端口,默认 9090 |
| Accept only from | 只接受指定 IP 的指令,留空表示接受全部 |
第二步:设置自动登录
不设自动登录,开机就停在登录界面,程序根本不会被触发。
netplwiz
选中你的账户 → 取消勾选「要使用本计算机,用户必须输入用户名和密码」→ 应用 → 输入两次账户密码。
如果是域账户或使用了 PIN,这一步可能不可用。替代方案:用微软 Sysinternals 的 Autologon 工具,或组策略配置。
第三步:任务计划程序(推荐)
相比「启动文件夹」,任务计划程序多了两个关键能力: 崩溃自动重启、可设启动延时(等显卡驱动就绪)。
taskschd.msc
右侧点「创建任务」(不是「创建基本任务」)。
「常规」选项卡
| 项目 | 设置 |
|---|---|
| 名称 | lxisi 自动启动 |
| 用户账户 | 选你的账户,不要选 SYSTEM |
| 运行方式 | 只在用户登录时运行 |
| 权限 | 勾选「使用最高权限运行」 |
「触发器」选项卡 → 新建
| 项目 | 设置 |
|---|---|
| 开始任务 | 登录时 |
| 延迟任务 | 30 秒(等显卡驱动就绪,强烈建议) |
| 启用 | 勾选 |
「操作」选项卡 → 新建
| 项目 | 设置 |
|---|---|
| 操作 | 启动程序 |
| 程序或脚本 | wscript.exe |
| 添加参数 | "D:\lxisi\lxisi-launcher.vbs" |
| 起始于 | D:\lxisi |
这里用 wscript.exe 调用 VBS 启动器,目的是隐藏黑色控制台窗口。
直接启动 lxisi.exe 会弹出一个命令行窗口。
「设置」选项卡
| 项目 | 设置 |
|---|---|
| 允许按需运行任务 | 勾选 |
| 任务失败重新启动 | 1 分钟 |
| 尝试重启次数 | 999(相当于一直重试) |
| 运行超过以下时间则停止 | 取消勾选 |
| 已运行则不启动新实例 | 是 |
| 使用电池时停止 | 取消勾选 |
备选:启动文件夹
不想折腾任务计划程序的话,最简单的方式:
shell:startup
把 lxisi-launcher.vbs 的快捷方式拖进去。
缺点:崩溃后不会自动重启,也不方便设延时。 只适合临时演示、非关键场合。
配置启动器
打开 lxisi-launcher.vbs,改这两行:
' 工程文件完整路径,留空则加载默认配置 PROJECT = "D:\projects\venue.json" ' 是否追加 -s 完全静默(默认 False) SILENT = False
-s 参数会同时停止写入日志文件,
出问题时完全没法排查。控制台窗口的隐藏是由启动器的隐藏窗口参数完成的,
与 -s 无关。保持 SILENT = False,窗口一样不会显示,但日志照常记录。
工程文件建议按场馆分别存成 .json,放在程序目录外面(如 D:\projects\),
这样升级程序时不会覆盖工程。
配套系统设置(必做)
展馆设备上这些不设置,早晚出问题:
| 设置 | 位置 | 原因 |
|---|---|---|
| 关闭快速启动 | 控制面板 → 电源选项 → 选择电源按钮功能 | 快速启动会导致多显示器枚举异常 |
| 电源计划改高性能 | 控制面板 → 电源选项 | 节能模式降频,影响帧率 |
| 关闭休眠 | powercfg -h off(管理员) | 避免误休眠导致画面中断 |
| 关闭屏保 | 设置 → 个性化 → 锁屏界面 → 屏幕保护程序 → 无 | 屏保会遮挡画面 |
| 关闭睡眠 | 设置 → 系统 → 电源 → 睡眠 → 从不 | 同上 |
| 关闭自动更新重启 | 组策略 / 设置活动时间 | 半夜自动重启会中断展出 |
| 关闭通知 | 设置 → 系统 → 通知 | 弹窗会盖在画面上 |
验证是否生效
- 重启机器,等待 1 分钟
- 检查进程:
tasklist | findstr lxisi,有输出即成功 - 检查日志:
config\splash.log最后几行应有Scene started. - 测试崩溃重启:任务管理器结束
lxisi.exe,等 1 分钟再查进程,应自动恢复
常见问题
开机后程序没起来
按顺序排查:有没有自动登录 → 任务计划里「上次运行结果」是什么 → 手动双击启动器能否起来 → 看日志有没有新内容。
起来了但黑屏
大概率是 OpenGL 版本不足或显卡驱动没就绪。把触发器延迟从 30 秒改成 60 秒再试。
还是弹出黑色命令行窗口
说明任务里直接调了 lxisi.exe。改成 wscript.exe + VBS 启动器。
怎么临时停掉自启
任务计划里右键任务 → 禁用。或者演出期间手动关掉程序,不会自动再起来。
系统要求
| 项目 | 要求 |
|---|---|
| 操作系统 | Windows 10(1809+)/ Windows 11,仅 64 位 |
| 图形接口 | OpenGL 4.5 Core Profile |
| CPU | 现代四核及以上 |
| 内存 | 16 GB(4 通道内);32 GB(5 通道以上或 4K) |
| 存储 | SSD,本体约 300 MB,媒体建议独立 SSD |
| 网络 | 非必需,不联网不上报 |
显存建议:1–2 通道 1080p 用 4 GB;3–4 通道用 8 GB;5–8 通道用 12 GB 以上; 3–4 通道 4K 用 16 GB 以上。
完整对照表见 下载页的系统要求。
常见问题
启动后画面卡顿,日志里一堆 36055 错误
先看日志里的 GL renderer 是哪块显卡。如果是核显,说明 Windows 把程序分给了集成显卡, 共享显存撑不住多通道融合。到显卡控制面板指定高性能独显。
必须装 NDI 吗
不必须。只在需要接收网络视频流时才用得上。没装也不影响其他功能, 日志里会有一条 NDI 库加载失败的警告,可以忽略。
一定要用 Blender 建模吗
不一定。平面墙完全可以直接在软件里配。异形面或复杂空间用 Blender 会明显省事。
能带多少台投影仪
软件层面不设上限,实际受限于显卡物理输出接口和显存。 多显卡可并行,但每块卡都要满足 OpenGL 4.5。
软件会联网吗
不会。不联网、不上报数据、不检查更新。现场没有外网也能正常跑。
为什么只能跑 Windows 10 以上
三个底层依赖同时卡住:编译工具链基于 UCRT、内置 Python 3.14 要求 Win10+、 着色器使用 OpenGL 4.5(Win7 时代驱动普遍不满足)。
许可与来源
lxisi 1.1.1 基于 Splash 0.12.6 构建,以 GNU General Public License 第 3 版发布。
本产品是 Splash 的修改版本,并非上游原始版本。主要修改包括:
- 品牌标识改为 lxisi(窗口标题、关于窗口、程序图标)
- 新增完整中文界面(约 410 条界面文案),选过的语言会被记住
- 修复 Warps 面板每帧重建 VBO/VAO 导致的显存持续增长
- 日志文件写入 UTF-8 BOM,避免中文 Windows 环境下乱码
- 可执行文件更名为
lxisi.exe - 跨平台字体查找,支持中文字符集按需加载
lxisi 由我们独立维护,与 Splash 上游团队没有隶属关系,也未获其背书。 「Splash」是其各自所有者的项目名称,「lxisi」为本产品名称。
依据 GPL v3 第 6 条,拿到本产品安装包的人,都有权索取对应的完整源代码, 通过联系页面说明用途即可。
第三方组件(FFmpeg、OpenGL/GLAD、GLFW、Dear ImGui、jsoncpp、ZeroMQ、liblo、 PortAudio、OpenAL、OpenCV、Python、libltc、NDI SDK)沿用各自的原始许可证。