illuminator

Crates.ioilluminator
lib.rsilluminator
version0.1.3
created_at2025-07-02 11:50:26.054745+00
updated_at2025-09-05 10:49:52.102304+00
descriptionA simple yet powerful rendering tool
homepage
repositoryhttps://github.com/waizui/illuminator
max_upload_size
id1735008
size698,761
waizui (waizui)

documentation

README

illuminator

Illuminator is a simple yet powerful rendering tool.

Usage

Use as cli

./illu --example 3dgs --path "..\bicycle.ply" --res "256x256"

Use as lib

#[test]
fn test_trace_splats() -> Result<()> {
    use crate::{prelude::*, splat::render::SplatsRenderer};
    use std::path::Path;

    let ply_path = "./target/bicycle.ply";
    let rdr = SplatsRenderer::from_ply(ply_path)?;

    let mut cam = Camera::default();
    cam.pos = Vec3f::vec([-3., 0., 0.]);
    cam.look_at(Vec3f::zero());

    let (w, h) = (256, 256);
    let img = rdr.render(&cam, (w, h));

    let png_path = Path::new(ply_path)
        .with_extension("png")
        .to_string_lossy()
        .into_owned();

    let rgbimg = RgbImage::from(img);
    rgbimg.save(png_path).expect("Failed to save trace image");
    Ok(())
}

examples

  • Simple and flexible Linear BVH.

BVH

  • Ray tracing 3D Gaussians.

3D Gaussian

Commit count: 95

cargo fmt