4 releases (2 breaking)

0.3.0 Jan 26, 2025
0.2.0 Jan 24, 2025
0.1.1 Dec 25, 2024
0.1.0 Dec 25, 2024

#68 in Rendering

Download history 240/week @ 2024-12-22 10/week @ 2024-12-29 89/week @ 2025-01-19 122/week @ 2025-01-26

211 downloads per month

GPL-3.0-only

66KB
2K SLoC

BlandSoft BSTrace

Free RayTracing Software for Personal Computers

crates.io

Home page

Building

Clone the git repo then do cargo build --release --bin bs-trace.

Installing

After building, do cargo install --bin bs-trace --path .. This will install the release binary and put the bs-trace binary on your PATH to be run from the command line.

Running

After installing, run bs-trace <path to scene file> from the command line. Alternatively, from the cloned repo root do cargo run --bin bs-trace -- <path to scene file>.

The program accepts the path to a scene definition file as its sole argument. It will render the given scene and output the resultant image to the current working directory in PNG format, as out.png.

Configuring a Scene

A scene is a collection of objects in 3D space, referred to as a World in the source code.

Currently, only sphere objects are supported.

Scene Definition File Format

A scene definition file is a TOML file.

See the example scenes in examples/ to get an idea of how they're written.

To see how a scene file is parsed into a World, see src/trace/description.rs.

BlandSoft BSTrace Copyright (C) Elizabeth Bland 2024-2025

BlandSoft BSTrace is made freely available under the GNU General Public License as published by the Free Software Foundation, version 3. ("GPL-3.0-only")

See COPYING for a copy of the licence text.

Dependencies

~2.3–3MB
~63K SLoC