Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

CERES Ray Tracer (CRT)

PyPI version GitHub Release GitHub issues GitHub Contributers License: MIT Size

This project was developed as part of CERES and aims to provide scientifically useful path tracing capabilities for rendering images, simulating LiDAR, modeling radiation pressure, and flux computations for thermal and solar panel analysis.

Available Environments

Linux

Environment Build Python Binding Install from PyPI
Ubuntu 22.04

Ubuntu 20.04

Ubuntu 18.04


Installation:

It is recommended to install directly from the Python Package Index (PyPI):

pip install ceres-raytracer

Building from Source:

git clone https://github.com/ceres-navigation/ceres-raytracer.git
pip install .

sphinx is used to build documentation for the python API. To install sphinx, simply use:

sudo apt-get install python3-sphinx
pip install sphinx-autodoc-typehints sphinx-toolbox sphinx-licenseinfo sphinx-rtd-theme

Once sphinx is installed, you can build the documentation on Linux systems by running:

cd doc
make html

Demos:

After installing ceres-raytracer, simply clone the ceres-raytracer-demos:

git clone https://github.com/ceres-navigation/ceres-raytracer-demos.git

and run any of the included .py example files:

cornel_box.py

This demo script demonstrates multi-bounce path tracing using the traditional cornell box scene. It additionally shows how to render depth, instances and normal passes:

comet67p.py

This demo script demonstrates how to use CRT's SPICE support, and rendering in a body fixed frame (allowing for the BVH to be cached and therefore overall faster render times):


Tasks:

  • Python Interface
    • Python bindings with pybind11
    • Binary distributions (cross compiled for Windows/MacOS on Linux)
    • Python defined materials (compatible only with wavefront ray tracing)
  • Path tracing implementations
    • Adaptive sampling
    • Wavefront ray tracing
    • Bidirectional path tracing
    • Primary Sample Space Metropolis Light Transport
  • Physics
    • Polarization of light rays
    • Wavelength of light rays
    • Spectral power density of rays
    • Physically based radiance tracking for paths
    • Momentum of paths
  • Materials
    • PBR Texture support
    • Hapke function support
    • Microfacet support
  • Major architecture changes
    • TBB for parallelization
    • Add Embree single precision support
    • Add OptiX (GPU) single precision support
    • Add Vulkan (GPU) single precision support

Attributions

madmann91's Modern C++ BVH Construction and Traversal Library

This project utilizes a BVH construction and traversal library built by madmann91. While we have made some modifications to their implementation, their work forms most of the basis of the bounding volume hierarchy used in this project. Their originally source code can be found in the bvh repository

National Science Foundation Graduate Research Fellowship

This material is based upon work supported by the National Science Foundation Graduate Research Fellowship under Grant No. 2020305048. NSF GRFP gave Chris Gnam the flexibility and resources required to complete his research in spacecraft navigation, and this project is meant to serve as an open source implementation of his dissertation.


Contact

All questions, comments, and concerns should be directed to Chris Gnam: crgnam@buffalo.edu

Metadata

Release files for ceres-raytracer 0.6a4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ceres-raytracer 0.6a4
File Size Uploaded Provenance Actions
ceres-raytracer-0.6a4.tar.gz 230.4 kB Without provenance Details for ceres-raytracer-0.6a4.tar.gz

Release files / ceres-raytracer-0.6a4.tar.gz

Download URL ceres-raytracer-0.6a4.tar.gz
Size 230.4 kB
Tags Source
SHA-256 checksum
How to use checksums
8c3475390541350805f5c79faf9a717487262c01c385727e2e2d85eda0f2f0ae
BLAKE2b-256 checksum
How to use checksums
79b62f94b20b3c4a09b9eedaa3d4a137cb57fbd39f2241773cd7ad64ca99a181
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.4.2 requests/2.28.0 setuptools/45.2.0 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.8.10

Security for ceres-raytracer 0.6a4

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page