background

Tags/Rust

7 entries with the tag "Rust" in total

结合 SPPM 的 Path Tracing

随机渐进式光子映射(Stochastic Progressive Photon Mapping, SPPM)是光子映射系列算法的进阶算法,本文介绍如何实现 SPPM 以及如何将 SPPM 与路径追踪(Path Tracing, PT)结合。 …

光线追踪中的 Multiple Importance Sampling

本文主要介绍多重重要性采样(Multiple Importance Sampling)及其在光线追踪中的典型应用。 Multiple Importance Sampling Monte Carlo Path Tracing 在 Ray …

无需宏为 Trait Objects 实现 Any

std::any::Any 是 Rust 在运行时进行类型擦除和转换的工具,所有 'static 类型都实现了 Any,因此装箱为 Box<dyn Any> 后可以借助 Any::type_id() 获取 TypeId,还可以通 …

anyerr 上下文中的类型体操

在对 Rust 错误处理的思考和 anyerr一文中,我介绍了 anyerr 这一个错误处理库,其可以携带上下文信息,且储存上下文的数据结构是可定制的。本文则聚焦 anyerr 是如何实现这样的特性的。 上下文的核心特性 基本结构和表示 在 …

对 Rust 错误处理的思考和 anyerr

错误处理是 Rust 中核心的一部分,从标准库中的 Result<T, E> 和 Error 到社区的 anyhow、thiserror、color-eyre、snafu 等 crates,可见其重要地位。但是在我看来,这些仅仅 …

体验 Helix 编辑器

最近发现了一个用 Rust 写的 Vim-like 编辑器 Helix,用有强大的性能和各种开箱即用的功能。经过短暂时间的体验,我认为 Helix 已经可以在大部分领域替代 Vim/Neovim/VS Code。 性能 作为一款用 Rust …

用 Rust 开发 Brainfuck 解释器

项目地址:https://github.com/StarryReverie/brainfuck-interpreter Brainfuck 是什么就不具体介绍了,可以看这里。以下简称 bf。 这个解释器实现总体上是比较简单的,但是相比其他的 …