#ray-tracing #bindings #api #build #arnold #ai-array #ai-msg

bin+lib arnold-rs

Rust bindings for the Arnold raytracing API

1 unstable release

Uses old Rust 2015

0.1.0 Jan 11, 2019

#715 in Graphics APIs

MIT license

115KB
2K SLoC

Rust bindings for the Arnold raytracing API

Modules Completion

  • [ ] ai_allocate
  • [ ] ai_matrix
  • [ ] ai_shader_message
  • [ ] ai_api
  • [ ] ai_matrix_private
  • [ ] ai_shader_parameval
  • [x] ai_array
  • [ ] ai_metadata
  • [ ] ai_shader_radiance
  • [x] ai_bbox
  • [x] ai_msg
  • [ ] ai_shader_sample
  • [ ] ai_cameras
  • [x] ai_node_entry
  • [ ] ai_shader_sss
  • [ ] ai_closure
  • [x] ai_nodes
  • [ ] ai_shader_userdef
  • [x] ai_color
  • [ ] ai_noise
  • [ ] ai_shader_util
  • [ ] ai_color_managers
  • [ ] ai_operator
  • [ ] ai_shader_volume
  • [ ] ai_comparison
  • [ ] ai_params
  • [ ] ai_shaderglobals
  • [x] ai_constants
  • [ ] ai_plugins
  • [ ] ai_shaders
  • [ ] ai_critsec
  • [ ] ai_pointcloud
  • [ ] ai_stats
  • [ ] ai_deprecated
  • [ ] ai_procedural
  • [x] ai_string
  • [ ] ai_device
  • [ ] ai_ray
  • [ ] ai_texture
  • [x] ai_dotass
  • [x] ai_render
  • [ ] ai_unit_test
  • [ ] ai_driver_utils
  • [ ] ai_threads
  • [ ] ai_universe
  • [x] ai_drivers
  • [ ] ai_sampler
  • [x] ai_vector
  • [ ] ai_enum
  • [ ] ai_shader_aovs
  • [ ] ai_version
  • [ ] ai_filters
  • [ ] ai_shader_bsdf
  • [ ] ai_volume
  • [ ] ai_license
  • [ ] ai_shader_closure
  • [ ] ai_math
  • [ ] ai_shader_lights

Build

Environment Setup

Before you build and run you need to make sure arnold can be found.

export ARNOLD_ROOT=/path/to/arnold/root;
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ARNOLD_ROOT/bin;

Build

cargo build

Test

cargo test string_cmp -- --test-threads=1

This will run the test string_cmp see Attention Tests why we need to run them individually. You can run the following to list the available tests.

cargo test -- --list
...
ai_render::tests::render_testing: test
ai_string::tests::string_cmp: test
ai_string::tests::string_empty: test
ai_string::tests::string_hash: test
ai_string::tests::string_length: test

Documentation

To build documentation, run: cargo rustdoc --lib -- --sort-modules-by-appearance -Z unstable-options

!!Attention!!

WIP

This is an extremely early test to learn rust. Don't expect much.

Tests

You need to run the tests individually. Even if we run tests with cargo test -- --test-threads=1 we get panics some times.

No runtime deps

~0–1.8MB
~36K SLoC