• 【Rust 日报】2022-08-28 Rust与GPU、WASM的应用


    simp:GPU加速图像处理程序

    现在已支持动图编辑!

    f9e7c8a6589cad35b3c474e3eb53d3e7.png

    目标包括:

    • 支持尽可能多的图像格式。

    • 60Hz,避免阻塞超过 16ms。

    • 无闪烁重绘。

    • 平滑缩放。

    • 尽可能始终使用 GPU 加速。

    • 桌面操作系统支持。

    • 基本图像处理。

    不包括:

    • 强大的处理(不是下一个 Photoshop)。

    • Web/移动平台支持。

    主页:https://simp.axelkappel.se/

    GitHub:https://github.com/Kl4rry/simp

    vortex:Rust和WASM海洋模拟

    一个类似元胞自动机的 Demo,可以产生波形模式。

    9775897fe3173924b123cfbbc18a67eb.png

    Demo:https://tom.cv/vortex/

    GitHub:https://github.com/0xTiger/vortex

    wrld:WGPU Rust描述符

    WRLD 是一组派生宏,基于 Learn wgpu 教程,用于让 wgpu 代码简单、愉悦、更安全。示例:

    1. use wrld::Desc;#[derive(Desc)]struct Test { #[f32x2(0)] position: [f32; 2], #[f32x4(1)] color: [f32; 4]
    2. }

    将生成:

    1. impl Test { pub fn desc<'a>() -> wgpu::VertexBufferLayout<'a> {
    2. wgpu::VertexBufferLayout {
    3. array_stride: std::mem::size_of::() as wgpu::BufferAddress,
    4. step_mode: wgpu::VertexStepMode::Vertex,
    5. attributes: &[
    6. wgpu::VertexAttribute {
    7. offset: 0u64,
    8. format: wgpu::VertexFormat::Float32x2,
    9. shader_location: 0u32,
    10. },
    11. wgpu::VertexAttribute {
    12. offset: 8u64,
    13. format: wgpu::VertexFormat::Float32x4,
    14. shader_location: 1u32,
    15. },
    16. ],
    17. }
    18. }
    19. }

    GitHub:https://crates.io/crates/wrld

    u8g2-fonts:基于u8g2的嵌入式图形文本呈现器

    这个是 u8g2 的纯 Rust 实现。示例:

    1. let font = FontRenderer::new::();let text = "embedded-graphics";
    2. font.render_aligned(
    3. text,
    4. display.bounding_box().center() + Point::new(0, 16),
    5. VerticalPosition::Baseline,
    6. HorizontalAlignment::Center,
    7. FontColor::Transparent(BinaryColor::On),
    8. &mut display,
    9. )
    10. .unwrap();

    6db9fa4cd4e2c37bf976ca61464c4a1e.png

    GitHub:https://github.com/Finomnis/u8g2-fonts

    用Rust写一个Container

    这个系列文章的目的是了解什么是容器,它是如何工作的,并创建一个 container 来创建和管理容器。内容如下:

    • 1 Introduction to containers

    • 2 Starting the project

    • 3 Creating the skeletton

    • 4 Birth of a child process

    • 5 Defining the container environment

    • 6 User namespaces and Linux Capabilties

    • 7 Syscalls and resources restriction

    • 8 Executing the binary

    教程地址:https://litchipi.github.io/series/container_in_rust

    Udemy的Rust课程

    Udemy 推出的(目前免费的)Rust 课程,内容包括:

    • Rust 语言基础、工具和生态。

    • 基本原理,如变量、作用域、函数、模块、标量和复合类型、控制流、字符串、Struct、Trait、Enums 等。

    • 使用 Rust 和系统编程有趣的 Tips 和技巧。

    • 理解 Rust 所必需的概念,如所有权、引用和借用、内存模型,以及为什么 Rust 关注安全性、并发和速度。

    共 8 个部分,35 课时,课程大纲:

    • 导论

    • 基础:Cargo、变量、作用域、内存安全、函数、模块系统。

    • 基本类型和控制流:标量、复合类型、控制流、字符串。

    • Rust 核心概念:所有权、引用和借用。

    • Rust 主要内容:Struct、Trait、Collections、Enums。

    • 终极内容:闭包、线程。

    • 项目

    课程地址:https://www.udemy.com/course/ultimate-rust-crash-course/?couponCode=BACKTOSCHOOL


    From 日报小组 长琴

    社区学习交流平台订阅:

    • Rustcc 论坛:支持 rss

    • 微信公众号:Rust 语言中文社区

  • 相关阅读:
    JVM——类的生命周期(加载阶段,连接阶段,初始化阶段)
    【Redis系列】Linux查看Redis版本信息
    y134.第七章 服务网格与治理-Istio从入门到精通 -- 授权策略(二十)
    【学习笔记】[ARC153F] Tri-Colored Paths
    Flux、Atomic、Proxy 不同心智模型状态管理库的比较和原理
    Docker 容器连接:构建安全高效的容器化网络生态
    系统时间和JVM的Date时间不一致问题解决
    Part 5:Pandas 数据统计函数【汇总类统计、唯一去重和按值计数、相关系数和协方差】
    vue插槽(slot)详解
    Qt中使用QNetworkAccessManager类发送https请求时状态码返回0
  • 原文地址:https://blog.csdn.net/u012067469/article/details/126576771