我刚刚开始学习 WebGPU,我的着色器没有使用我指定的颜色,这让我困扰了一段时间。
基本上代码是
self.app.queue.write_buffer(self.color.buffer(0, 0), 0, bytemuck::cast_slice(&[1.0, 0.0, 0.0, 1.0]));
但制服似乎保持
vec4(0.0, 1.0, 0.0, 1.0)
根据我的观察,如果红色通道为零,则颜色显示黑色,否则为绿色。
有人可以分享一些想法吗?
完整代码在这里https://github.com/bombless/wgpu-bug/blob/master/src/main.rs#L63
因为它发送到着色器的数据是双点浮点,而着色器中使用的是单点浮点。