#ray-tracing #opencl #cuda #ray-tracer

RayBNN_Raytrace

Ray tracing library using GPUs, CPUs, and FPGAs via CUDA, OpenCL, and oneAPI

6 releases

0.1.6 Oct 18, 2023
0.1.4 Oct 10, 2023

#221 in Science

33 downloads per month

GPL-3.0-only

53KB
992 lines

RayBNN_Raytrace

Ray tracing library using GPUs, CPUs, and FPGAs via CUDA, OpenCL, and oneAPI

Raytraces intersections between rays, spheres, circles

Install Arrayfire

Install the Arrayfire 3.9.0 binaries at https://arrayfire.com/binaries/

or build from source https://github.com/arrayfire/arrayfire/wiki/Getting-ArrayFire

Add to Cargo.toml

arrayfire = { version = "3.8.1", package = "arrayfire_fork" }
rayon = "1.7.0"
num = "0.4.1"
num-traits = "0.2.16"
half = { version = "2.3.1" , features = ["num-traits"] }
RayBNN_DataLoader = "0.1.3"
RayBNN_Sparse = "0.1.2"
RayBNN_Cell = "0.1.2"
RayBNN_Raytrace = "0.1.6"

List of Examples

Line Sphere Intersection

RayBNN_Raytrace::Intersect::Sphere::line_sphere_intersect(
    &start_line,
    &dir_line,

    &circle_center,
    &circle_radius,

    &mut intersect
);

Line Sphere Intersection Batch

RayBNN_Raytrace::Intersect::Sphere::line_sphere_intersect_batch(
    3,
    &start_line,
    &dir_line,

    &circle_center,
    &circle_radius,

    &mut intersect
);

Line Sphere Intersection Batch V2

RayBNN_Raytrace::Intersect::Sphere::line_sphere_intersect_batchV2(
    3,

    1,

    &circle_center,
    &circle_radius,

    &mut start_line,
    &mut dir_line,

    &mut input_idx,
    &mut hidden_idx,
);

Dependencies

~4MB
~75K SLoC