1个不稳定版本

0.1.0 2021年1月23日

#267渲染

Download history 2/week @ 2024-03-13 28/week @ 2024-03-27 56/week @ 2024-04-03 4/week @ 2024-04-10 53/week @ 2024-04-17 216/week @ 2024-04-24 114/week @ 2024-05-01 275/week @ 2024-05-08 325/week @ 2024-05-15 119/week @ 2024-05-22 507/week @ 2024-05-29 90/week @ 2024-06-05 343/week @ 2024-06-12 336/week @ 2024-06-19 344/week @ 2024-06-26

每月1,181 次下载

Apache-2.0

355KB
1.5K SLoC

Julia集计算和渲染

Build Status License: Apache-2.0 rust 1.44.0+ required

文档: crate docs (master)

Fractal example

用于计算和渲染复值函数的Julia集边界的库,并将其渲染到图像中。根据函数的不同,渲染的图像通常具有分形特性。

功能

  • 支持多线程CPU、OpenCLVulkan 后端。
  • 允许使用自定义复值函数(不仅限于“无聊”的二次函数)。
  • 支持自定义渲染参数(例如,渲染区域)。
  • 允许使用不同的渲染参数重用相同的编译程序,从而在OpenCL / Vulkan着色器编译上节省时间。
  • 附带了CLI示例,以便快速入门。

用法

将以下内容添加到您的 Crate.toml

[dependencies]
julia-set = "0.1.0"

有关使用示例,请参阅库文档。

安装后端依赖项

请注意,OpenCL和Vulkan后端需要在执行环境中安装相应的平台。您可以参考平台文档或ocl / vulkano crate文档,以获取可能的安装选项。

对于快速测试,可以使用POCL;它是一个不依赖于硬件的开源OpenCL实现(代价是它是基于CPU的,即比GPU厂商的OpenCL实现慢得多)。可以使用以下命令从源代码安装POCL(此处以Ubuntu Bionic为例)

# Install utils for build
apt-get install build-essential cmake pkg-config libhwloc-dev zlib1g-dev
# Install OpenCL-related utils
apt-get install ocl-icd-libopencl1 ocl-icd-dev ocl-icd-opencl-dev clinfo
# Install LLVM / Clang from the official APT repository
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

# Get POCL sources
export POCL_VER=1.5 # latest stable version
curl -sSL "https://github.com/pocl/pocl/archive/v$POCL_VER.tar.gz" > pocl-$POCL_VER.tar.gz
tar xf "pocl-$POCL_VER.tar.gz"
# Build POCL from the sources
cd pocl-$POCL_VER
mkdir build && cd build
cmake -DWITH_LLVM_CONFIG=/usr/bin/llvm-config-9 -DCMAKE_INSTALL_PREFIX=/usr ..
make

# Verify installation
clinfo
# If successful, `clinfo` should display information about the POCL platform.

许可证

Apache-2.0许可证下授权。

依赖关系

~12–19MB
~209K SLoC