fast_gui只支持ti.Vector.field作为setimage的参数,而文档中说的是field。
1 个赞
我也遇到了一样的问题。
在文档(链接:https://docs.taichi-lang.org/zh-Hans/docs/gui_system)中有这样一段描述:
要使这种模式能够正常运行,请确保传入
gui.set_image()
的数据格式与显示器兼容。 换言之,如果它是Taichi field,请确保它是以下之一:
- 标量 field
ti.field(dtype, shape)
- 向量 field
ti.field(3, dtype, shape)
,兼容 RGB 格式。- 向量 field
ti.field(4, dtype, shape)
,兼容 RGBA 格式。
注意
dtype
必须是ti.f32
,ti.f64
, 或ti.u8
的其中之一。
但在将快速上手中 fractal.py 中的 pixels 改为 ti.f32 类型的 标量 field 后(pixels = ti.field(dtype=ti.f32, shape=(n * 2, n))
),使用 fast_gui,得到以下出错提示:
AssertionError: Only ti.Vector.field is supported in GUI.set_image when fast_gui=True
把 pixels 改为三维的 vector field 后就 OK 了:
pixels = ti.Vector.field(3, dtype=ti.f32, shape=(n * 2, n))
1 个赞
已收到~~我找文档的同学来看下~感谢反馈 ~
感谢您的反馈,我们在文档中修复了。