Initial commit: RHINE LAB · ANALYSIS OS:三维界面与动效实验(本仓库不含个人归档索引数据)
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
# 渲染画质设置 · 2026-09-09
|
||||
|
||||
入口:系统设置 → 渲染画质 → 精细设置。沿用参考视频与原生实现流程。
|
||||
|
||||
## 预设
|
||||
|
||||
| 预设 | 渲染比例 | DPR 上限 | 抗锯齿 | 阴影 | AO 采样 | AO 分辨率 | 景深 | 折射分辨率 | 纹理过滤 |
|
||||
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
|
||||
| 性能 | 80% | 1 | 原始 | 1024 | 关闭 | 50% | 关闭 | 50% | 4× |
|
||||
| 原始(默认) | 100% | 1.5 | 原始 | 2048 | 32 | 100% | 100% | 100% | 16× |
|
||||
| 高 | 125% | 2 | SMAA | 4096 | 32 | 100% | 100% | 100% | 16× |
|
||||
| 极高 | 150% | 2 | SMAA | 4096 | 64 | 100% | 100% | 100% | 16× |
|
||||
|
||||
自定义渲染比例 50–200%,步进 5%;景深强度 0–150%,步进 5%。另支持 DPR 上限 3、AO 16 采样、AO 分辨率 75%、折射分辨率 25%/75% 及 1×/2×/8× 纹理过滤。纹理过滤限制到显卡实际支持值。
|
||||
|
||||
屏幕显示尺寸乘以 min(设备 DPR, 设置上限) 再乘渲染比例,得到请求分辨率。全尺寸缓冲限制到 8,294,400 像素及硬件纹理边长;达到限制时面板显示实际尺寸和限制提示。1080p、DPR 1 时极高渲染为 2880×1620,为原始的 2.25 倍像素,不能据此推断帧率。
|
||||
|
||||
## 实现
|
||||
|
||||
- `src/render-quality.ts` 负责预设、规范化、本地旧布尔设置迁移和分辨率计算。旧低画质继续保留 2048 阴影与全分辨率折射,只关闭 AO/景深并使用 DPR 1。
|
||||
- 主场景顺序为 RenderPass → SSAO → Bokeh → SMAA → OutputPass。SMAA 按本地 Three.js 实现和[官方说明](https://threejs.org/docs/pages/SMAAPass.html)位于 OutputPass 前;旧主场景默认无额外抗锯齿。
|
||||
- AO 更换采样数时替换并 dispose 旧 pass,切换阴影尺寸时释放旧 shadow map;AO 分辨率在 composer resize 后单独设置。相同画质不重复应用,音量调节不会重建画质资源。
|
||||
- 使用 [WebGLRenderer 的 transmissionResolutionScale](https://threejs.org/docs/pages/WebGLRenderer.html)控制折射捕获精度,不改变透光率与颜色。
|
||||
- 查看器同步清晰度、纹理过滤和折射设置。启用 SMAA 时用独立后处理管线,原始档位继续直接渲染以保留其原生抗锯齿。阴影、AO、景深只控制阵列,在设置标签中标明。
|
||||
- 设置储存在 `rhine-settings.rendering`;修改单项自动标记自定义,选预设恢复整组参数。范围滑块拖动时更新数值,释放或键盘修改提交后应用,避免拖动期间连续重建大尺寸缓冲。
|
||||
- 同步保留并行音频任务的开关、音量与场景音频接线。
|
||||
|
||||
## 验证
|
||||
|
||||
- `node scripts/check-quality.mjs`:通过。覆盖新旧设置、无效持久化值、范围约束、预设识别、序列化恢复、超采样比例及 48 组屏幕/DPR/硬件边长组合。
|
||||
- `npm run build`:通过。Vite 保留大于 500 kB 的主包提示。
|
||||
- 实际浏览器切换全部四个预设:主场景读取到对应分辨率、AO 采样、阴影尺寸和景深开关。
|
||||
- 自定义 16 采样、50% AO 分辨率时,全尺寸 1180×664 对应 AO 590×332;关闭 AO 后其分辨率控件禁用。
|
||||
- 构建后预览选择极高,再设置景深 0%、折射 50%、纹理 4×:刷新后上述值一致;查看器读取到相同分辨率、SMAA、50% 折射和 4× 过滤,模型载入、拆解和返回正常。
|
||||
- 关闭阴影与 AO 后恢复原始:实际恢复 2048 阴影、32 采样、100% 景深;详情画面正常。
|
||||
- 展开精细设置后面板内部可滚动;原生 select、range、summary 可键盘操作,模态焦点循环包含新增控件并排除折叠项与禁用项。
|
||||
- 实际渲染与查看器检查未发现控制台 error。现有 PCFSoftShadowMap 被当前依赖自动降为 PCFShadowMap 的弃用提示与本次改动无关。
|
||||
|
||||
尚未进行跨显卡帧率、显存峰值或长时间稳定性基准测试。8.3 MP 上限限制尺寸,并不保证所有设备的帧率或显存占用。
|
||||
Reference in New Issue
Block a user