顶点颜色怎么插值
三个顶点三种颜色,中间的过渡由光栅化插值得到。把鼠标放到三角形上(或点「自动巡游」),看同一个点上 GPU 实际算出的颜色和按重心坐标预测的颜色对不对得上。
正在启动 WebGPU…
探针读数
| 画布位置 | — |
|---|---|
| NDC 坐标 | — |
| 重心权重 w₀ / w₁ / w₂ | — |
| GPU 算出的颜色 | — |
| 按权重预测的颜色 | — |
三个顶点:w₀ 顶部 · w₁ 左下 · w₂ 右下。 权重由 JavaScript 按重心坐标算;颜色是把这一帧读回来的真实像素。
当前跑的着色器
切换上面的下拉框,这段代码会跟着变,页面也会用新代码重建管线。 顶点输出与片段输入的插值写法必须一致,所以这里把同一个结构体同时用在两个阶段。
规范怎么说
| 默认值 | 不写 @interpolate 时,浮点型的用户自定义 IO 按 @interpolate(perspective, center) 处理 |
|---|---|
| flat | 值不插值(Values are not interpolated),整个图元取 provoking vertex 的值;采样只能是 first 或 either,不写则按 first |
| either | 取第一个还是最后一个顶点由实现决定 |
| 整数类型 | 阶段间传整数(i32/u32)必须写 flat |
| 放哪儿 | @interpolate 只能加在带 @location 的声明上 |
出处:W3C WGSL 规范 #interpolation 一节(本页说明抄自规范源文件 wgsl/index.bs)。