Hardcore Rust: Ein Raytracer ohne dynamische Speicherzuweisung

2025-01-30

Dieser Beitrag beschreibt eine Fallstudie zum Schreiben einer Rust-Anwendung mit einer minimalen, künstlich eingeschränkten API (keine dynamische Speicherzuweisung). Der Autor kritisiert RAII (Resource Acquisition Is Initialization) dafür, zu unübersichtlichem Ressourcenmanagement zu führen, und schlägt einen „Hardcore-Modus“ vor: Aufteilung des Programms in eine `std`-Binärdatei und eine `#![no_std] no_alloc`-Bibliothek, wobei nur die Binärdatei direkt Ressourcen vom Betriebssystem anfordern darf. Anhand eines Spielzeug-Raytracers wird detailliert erklärt, wie Pixel-Puffer, Parallelisierung, der Speicherzuweiser und die Szenenanalyse in diesem „Hardcore-Modus“ gehandhabt werden, was letztendlich zu einem Raytracer ohne dynamische Speicherzuweisung führt.

Entwicklung