你可以直接这样回答
我会按纹理类型、屏幕占比和设备能力选择格式/分辨率,必要时用 RG 重建、顶点法线或低频 detail 法线。优化必须同时看带宽、VRAM、高光方向和 mip 稳定性,不能只报告贴图变小。
这道题真正想听什么?
先确认比较对象和回答边界,再决定要不要展开公式、工程实现或性能取舍。
它考你会不会把“精度”拆成方向误差、纹理格式、采样次数、分辨率和带宽,而不是一句“压缩就好”。可以讨论 BC/ETC/ASTC、RG 两通道重建、顶点法线/细节法线、按屏幕占比降级,但要说明法线空间、切线基和视觉验收。
把答案讲到 2 分钟面试必答 · 约 2 分钟 · 补足因果、输入和取舍
先固定 TBN 与灯光做高精度 baseline,再逐项比较压缩、分辨率、采样和法线强度。移动端关键角色保留高质量,远景降低法线或改顶点/程序细节;对 mirrored UV、色彩空间、z 重建和归一化写成导入校验。
面试官可能继续追问什么?补充自测 · 约 3 分钟 · 检查自己是不是真的懂了
- 问:法线图分辨率降了,为什么高光可能突然坏? 答:细节频率和 mip 变化会让方向噪声或平滑边界进入 N·L;要看远近和切线空间,而不是只看平均色。
- 问:把法线压成 RG 一定正确吗? 答:需要正确的 z 重建、归一化、色彩空间和切线 handedness;误差要在高光和轮廓上验收。
- 因果链: 编码/压缩 → 采样带宽 → 解码方向 → TBN/N·L → 画质与设备预算。
如果概念还是悬空,就去做实验关键证据 · 约 5–15 分钟 · 预测 → 单变量 → 观察
实验不是第二份答案,它只负责证明答案
如果上面的解释已经听懂,可以直接跳过。卡住时,再沿着这三步把抽象词变成画面证据。
- 先猜 这份数据从哪里进入 Shader,经过哪一步,最后改变哪个像素?
- 去取证 固定其他条件,只改一个参数。先写下变化,不用“更真实”“更高级”这种空词代替证据。
- 再追问为什么 是哪一步造成这个结果?如果结果相反,先检查输入、空间、算法,还是显示输出?
我完全没头绪,给我一个起点
先截下默认状态,只动页面当前开放的那个参数。你只需要说清楚“原来怎样 → 改了什么 → 现在怎样”。
1. 先预测
在 Normal Spaces Lab 设 debugMode=normal-map、space=tangent、normalStrength=0.55、showRawNormal=true;切换 perturbed-normal 和 ndotl。在 Texture Sampling Lab 只改 resolution、compression、sampleBudget、debugMode=bandwidth;Quality Tier 切 normalMap、textureResolution、mobileBandwidth。输入 → 变化 → 输出: 法线编码/空间/采样 → 解码与光照 → N·L、带宽、VRAM 与画质误差。
老师追问
先别急着查答案: 先追一条数据从输入到像素:它经过哪一步计算,哪一个中间通道会先暴露问题?
为什么: 你刚才的预测依赖哪个前提?如果把“法线精度与带宽”里最关键的变量或约束关掉,画面/输出会先坏在哪里?
如果结果相反: 先排除哪一层,再谈结论?这个规则的边界是什么?
2. 再动手
固定模型与灯光,先在 Normal Spaces 对照 normal-map、perturbed-normal、ndotl;再在 Texture Sampling 比较 compression=rgba8/etc2/astc、resolution=2048/512 和 sampleBudget。Quality Tier 只改 normalMap、textureResolution、mobileBandwidth。记录 Bandwidth、VRAM、GPU 与高光方向,写出可接受的远景 fallback。
3. 最后对证据
压低分辨率/采样预算通常减轻带宽和显存,但法线细节、闪烁和高光方向可能变粗。Normal Spaces 的 debug 直接显示切线/扰动法线与 N·L;Texture Sampling/Quality Tier 的数值是教学估算,不等于某手机的真实带宽。最终方案必须在目标设备和真实纹理编码上复测。
答案在代码哪里发生?实现定位 · 约 3 分钟 · 变量、函数和关键行
- Normal 解码/TBN:读方向解码与 basis。
- Handedness/Lighting:镜像 UV 与 N·L 的边界。
- Texture Budget:采样 taps、bytes 和带宽估算。
完整 5 分钟版本面试扩展 · 约 5 分钟 · 项目边界、验证与降级
我会建立按设备/材质的法线预算表,记录纹理格式、mip、采样数、GPU/带宽/显存、闪烁和高光误差。发布前跑真实机镜头路径与温度回归;fallback 必须能解释为什么牺牲细节、在什么阈值恢复,并保留原图回滚。
哪些说法最容易答歪?必看陷阱 · 约 1 分钟 · 面试前最后检查
- 把法线图当 sRGB 颜色处理。
- 只看 RGB 误差,不看 TBN、N·L 和高光。
- 只降分辨率,不检查 mip/各向异性和远景闪烁。
- 把浏览器教学估算写成手机实测。