如何使用 Rust 实时显示图像?
How to display an image in real-time using Rust?
我正在尝试编写光线追踪器并希望在 GUI 中实时渲染我的图像 window。基本上,我有一个不断更新的缓冲区:Vec<u8>
。问题是如何在完成每一行后将其显示在屏幕上。我正在考虑使用 iced or egui,但无法弄清楚如何在不每次复制的情况下输出不断变化的图像。也欢迎使用其他工具包的解决方案。
egui 请求 TextureId:
ui.image(my_texture_id, [640.0, 480.0]);
但没有说从哪里得到它
对于 egui 有 some example here and a note here if you want to go 3D (with an example too).
冰镇有一堆 examples, and some of them are using image/image_viewer (e.g. pokedex).
一种方法是复制他们的代码,制作它 compile/run,然后根据您的逻辑对其进行调整。如果出现问题 - 您可以针对更具体的 SO 问题提供更多输入。
此外,我认为出于缓冲目的复制数据本身没有任何问题 (see this)。
我正在尝试编写光线追踪器并希望在 GUI 中实时渲染我的图像 window。基本上,我有一个不断更新的缓冲区:Vec<u8>
。问题是如何在完成每一行后将其显示在屏幕上。我正在考虑使用 iced or egui,但无法弄清楚如何在不每次复制的情况下输出不断变化的图像。也欢迎使用其他工具包的解决方案。
egui 请求 TextureId:
ui.image(my_texture_id, [640.0, 480.0]);
但没有说从哪里得到它
对于 egui 有 some example here and a note here if you want to go 3D (with an example too).
冰镇有一堆 examples, and some of them are using image/image_viewer (e.g. pokedex).
一种方法是复制他们的代码,制作它 compile/run,然后根据您的逻辑对其进行调整。如果出现问题 - 您可以针对更具体的 SO 问题提供更多输入。
此外,我认为出于缓冲目的复制数据本身没有任何问题 (see this)。