Library to compute and render the [Julia set] boundary for complex-valued functions and render it to an image. Depending on the function, rendered images frequently have a fractal-like nature.
Add this to your Crate.toml
:
toml
[dependencies]
julia-set = "0.1.0"
See the crate docs for the examples of usage.
Note that OpenCL and Vulkan backends require the corresponding platform installed
in the execution environment. You may consult platform docs or [ocl
] / [vulkano
] crate
docs for possible installation options.
For quick testing, one may use POCL; it is an open source OpenCL implementation not tied to hardware (at the cost of being CPU-based, i.e., orders of magnitude slower than OpenCL implementations by GPU vendors). POCL may be installed from sources with the commands like these (showcased here for Ubuntu Bionic):
```bash
apt-get install build-essential cmake pkg-config libhwloc-dev zlib1g-dev
apt-get install ocl-icd-libopencl1 ocl-icd-dev ocl-icd-opencl-dev clinfo
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add - add-apt-repository 'deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-9 main' apt-get update apt-get install clang-9 libclang-9-dev llvm-9 llvm-9-dev
export POCLVER=1.5 # latest stable version curl -sSL "https://github.com/pocl/pocl/archive/v$POCLVER.tar.gz" > pocl-$POCLVER.tar.gz tar xf "pocl-$POCLVER.tar.gz"
cd pocl-$POCLVER mkdir build && cd build cmake -DWITHLLVMCONFIG=/usr/bin/llvm-config-9 -DCMAKEINSTALL_PREFIX=/usr .. make
clinfo
clinfo
should display information about the POCL platform.```
Licensed under the Apache-2.0 license.