< 返回版块

洋芋 发表于 2022-12-17 20:26

Tags:rust, 日报

Forma,一个高效的矢量图形渲染器

Forma,一个 Rust 矢量图形渲染器,同时具有软件(CPU)和硬件(GPU)后端,它依靠 Rust 的 SIMD 自动矢量化和 Rayon 在 CPU 上良好的性能,同时使用 WebGPU 利用 GPU 的优势,具有以下目标:

  • 可移植,支持 Fuchsia、Linux、macOS、Windows、Android 和 iOS
  • 性能,利用以计算为中心的流水线,在指令级和线程级都高度并行化
  • 简单,实现一个易于理解的四级图形管线
  • 大小,尽量减少依赖的数量,只关注矢量图形

Github 链接,https://github.com/google/forma

备注:这并不是 Google 官方支持的产品

Tensor 混合编译时和运行时形状

大多数 ndarray/tensor crates 的形状在运行时或编译时是已知的。这篇博文研究如何混合编译时和运行时。

示例:

Tensor<(2, 3)> // 2d tensor with shape 2x3 known at compile time
Tensor<(usize, usize)> // 2d tensor with shape known at runtime
Tensor<(usize, 4, 5)> // 3d tensor with mixed dimensions
Tensor<(1, usize, 2, usize)> // 4d tensor with mixed dimensions
  1. 完全在编译时知道的形状
  2. 完全在运行时知道的形状
  3. 由编译时和运行时两个维度组成的形状

博客原文链接,https://coreylowman.github.io/2022/12/13/shapes.html

一个类似 OpenGL 的渲染器

tinyrenderer_rs,用 Rust 写了一个小的3D渲染器,是 Dmitry V. Sokolov 教授的 tinyrenderer 的 Rust 实现。

依赖有:

  • image 0.24.5: 图像加载和操作
  • piston_window 1.127.0: 用于显示渲染框架的窗口
  • obj-rs 0.6: 从.obj文件检索信息
  • nalgebra 0.31.4: 用于向量和矩阵的计算

Github 链接,https://github.com/ema2159/tinyrenderer_rs

Diesel-Async v0.2.0

Diesel-Async,是个 Diesel 的异步接口。Diesel 摆脱了数据库交互的模板,在不牺牲性能的情况下消除了运行时的错误。它充分利用了 Rust 的类型系统,创建了一个低开销的查询生成器。Diesel-async 为 diesel 的连接实现和任何可能发出查询的方法提供了一个异步实现。它是作为相应diesel方法纯异步替换而设计的。

支持的数据库:PostgreSQL 和 MySQL。

Github 链接,https://github.com/weiznich/diesel_async


From 日报小组 洋芋

社区学习交流平台订阅:

评论区

写评论

还没有评论

1 共 0 条评论, 1 页