0

我在将浮点 MTLTexture 转换回浮点 cv::Mat 时遇到了问题。

通常这不会有问题,但标准的 32 位纹理浮点在 Metal 中是不可写的。我必须使用读/写的 16 位/通道浮点纹理;一旦获得 16 位纹理数据,我就无法单独访问每个通道,因为本机浮点数是 32 位长,并且使用 16 位数据的指针运算会出错。

我考虑过预定义我自己的 16 位浮点数,但我想检查是否有其他更简单的方法来完成此操作。

4

1 回答 1

1

iOS 支持 float16 类型,你有没有尝试过提取半值并转换为 float32?

我在写入浮动纹理时遇到了同样的问题,所以我只使用了一个缓冲区,如果您不需要采样,这很好。

最近苹果可能改变了一些东西,因为我可以写浮动纹理。确保您拥有最新版本。

于 2015-05-24T06:46:36.000 回答