真正的 WebGL,真正的 3D LUT
LUT 实时预览器
导入真实的 3D .cube LUT 文件,通过带有真正三线性插值的真正 WebGL 片元着色器预览其应用到您实时画面上的效果——而非用画布滤镜近似值来替代。您的文件永远不会离开您的设备。
加载 LUT
未加载 LUT — 正在显示原始画面。
说明
工作原理
您的 LUT 被打包成一张 2D 纹理,每个蓝色通道切片对应一个图块,这是在不需要仅限 WebGL2 的 3D 纹理支持的情况下处理 3D LUT 的标准技术。硬件双线性滤波处理红色和绿色轴;着色器为第三个轴在两个最近的蓝色切片图块之间手动进行插值——真正的三线性插值,每一帧都实时计算。
参考
此工具读取并验证的内容
| 检查项 | 结果 |
|---|---|
| 3D .cube(LUT_3D_SIZE) | 支持 |
| 1D .cube(LUT_1D_SIZE) | 不支持 — 会被标记,而不是被静默错误处理 |
| 非默认的 DOMAIN_MIN/MAX | 会被检测并标记 |
| 数据行数不匹配 | 会以具体错误信息被拒绝 |
这些是该工具自身真实的解析检查——格式错误的文件会得到一个具体的错误提示,而不是一个静默的错误结果。
分步说明
如何预览 LUT
- 点击“启动摄像头”,并在出现提示时允许访问。
- 使用文件选择器上传一个 3D .cube 文件。
- 观看 LUT 实时应用到您的实时画面上,通过 WebGL 着色器实现。
- 切换 LUT 的开关,直接与未处理的画面进行对比。
常见问题
常见问题解答
我的 LUT 文件会被上传到任何地方吗?
不会。文件完全在您的浏览器中通过 WebGL 读取并应用——它永远不会离开您的设备,这一点很重要,因为 LUT 通常是个人的或付费的创意资产。
这是真正的 3D LUT,还是一种近似效果?
这是真正的 3D LUT,在 WebGL 片元着色器中通过真正的三线性插值来应用——而不是用简化的色彩矩阵滤镜来替代。
支持哪些 LUT 格式?
标准的 3D .cube 文件(LUT_3D_SIZE)。不支持 1D .cube LUT。非默认的 DOMAIN_MIN/DOMAIN_MAX 值会被检测并标记,而不是被静默错误处理。
为什么我的 LUT 文件被拒绝了?
最常见的原因是数据行数与声明的 LUT_3D_SIZE 不匹配、完全缺少 LUT_3D_SIZE 行,或是该工具不支持的 1D LUT 文件。每种情况都会报告其具体原因,而不是静默失败。
我可以用它在编辑软件中应用 LUT 之前先预览效果吗?
可以——这正是其预期用途。在实际编辑或直播软件中正式使用之前,先预览真实 3D LUT 在实时视频上的效果。
为什么这具体需要用到 WebGL?
在 3D 颜色查找表上进行三线性插值,是一项按像素、按帧计算的高强度工作——WebGL 的 GPU 加速片元着色器能够实时处理这一切,而普通的 JavaScript 画布操作在实时视频帧率下则无法跟上。