bs-trace 0.3.0

Free RayTracing software
Documentation
# BlandSoft BSTrace
#### Free RayTracing Software for Personal Computers

[crates.io](https://crates.io/crates/bs-trace)

[Home page](https://blandsoft.net/products/bstrace.html)

## 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`.

## Copyright, Copying & Licensing

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.