Skip to content

casselineau/Tracer

 
 

Repository files navigation

Tracer - a Pythonic general ray-tracing package.

About
-----
Tracer is a ray-tracing engine and suite of tools focused on radiative heat transfer and optical simulations.

The motivation for writing tracer:
* Current solutions lack programmability and extensibility
* Even if you pay megabucks
* De-facto standard tools of the trade are non-free, so bugfixing
  etc. depends on someone else,
* Usability in the solution closest to our budget is poor, and no Linux
  port is available.

Tracer is written in Python, using NumPy and SciPy for the math side of things.

Status
------
The code is advanced enough to produce research. It is currently a programming
library. NO GUI yet.

DISCLAIMER: The documentation and installation is outdated, but he project is active! Doubts, need advice?: charlesalexis.asselineau@ump.es

Current capablilities:
- Flat, parabolic, spherical, conical and quadric surfaces
- Specular and diffuse reflections with surface slope error
- BDRF
- Transparency and attenuation
- A bunch of results analysis tools
- Pillbox and Buie sunshape implementations
- Radiosity sytem solver for thermal emissions
- Basic parallel processing
- Kd-Tree acceleration structure
- Spectral simulations

Open-source python magic happens: if you want to do something, you can do it.

Installation
------------
LINUX:
Tested under Ubuntu 22 (running as WSL)

1) Prepare Linux: sudo apt update && sudo apt upgrade
2) Setup python environment
2.1) sudo apt install python3-venv
2.2) Create virtual environment: python3 -m venv .venv
2.3) Activate virtual environment: source ./.venv/bin/activate

3) (Optional) Install visualisation-dependencies (not required if running headless)
3.1) Install build dependencies: sudo apt install build-essential cmake
3.2) Install coin3d dependencies: sudo apt install libboost-all-dev xorg-dev libglu1-mesa-dev
3.3) Install coin3d
3.3.1) git clone --recurse-submodules https://github.com/coin3d/coin coin
3.3.2) sudo cmake -Hcoin -Bcoin_build -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=Release -DCOIN_BUILD_DOCUMENTATION=OFF
3.3.3) sudo cmake --build coin_build --target all --config Release -- -j4
3.3.4) sudo cmake --build coin_build --target install --config Release -- -j4
3.4) Install pivy: sudo apt install python3-pivy
3.5) Allow access to global pivy package:
3.5.1) nano ./.venv/pyvenv.cfg
3.5.2) Change: 'include-system-site-packages = false' to 'include-system-site-packages = true'

4) Clone Tracer repository
git clone https://github.com/casselineau/Tracer

5) Install python requirements from Tracer
5.1) Headless: pip install -r requirements_headless.txt
5.2) With visualisation: pip install -r requirements.txt


WINDOWS:
To run on MS Windows:
- Follow steps on this link to run a Linux distribution on windows: https://docs.microsoft.com/en-us/windows/wsl/install-win10
- Download Tracer packages from here
- Download an X Server for windows in order to render the images: https://sourceforge.net/projects/xming/
- Run the X Server Client
- Run Tracer
------------

Doubts, need advice?: charlesalexis.asselineau@ump.es

About

Statistical ray-tracing in Python/SciPy

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 96.7%
  • HTML 2.7%
  • Other 0.6%