/fable-raytracer

Primary LanguageF#MIT LicenseMIT

fable-raytracer

Small ray tracer demo of the F# to Rust language transpiler in Fable 4.x

Online demo:

https://ncave.github.io/fable-raytracer/

Build and run:

  • install .NET and Node.js
  • install Rust and wasm-pack
  • run dotnet tool restore to get Fable installed locally
  • run one of the performance tests:
    • npm run test-js-node (F# to JavaScript, running in Node.js)
    • npm run test-wasm-web (F# to Rust to WebAssembly, in Browser, localhost:8080)
    • npm run test-wasm-node (F# to Rust to WebAssembly, running in Node.js)
    • npm run test-rust (F# to Rust, running as native binary)
      • npm run test-rust-target-cpu (as above, but allow Rust to target your CPU and use newer instructions)
    • npm run test-python (F# to Python, running as Python)
    • npm run test-dotnet (F# running on .NET as managed code)
    • npm run test-native (F# running on .NET as native binary)
    • npm run test-dotnet-wasm (F# .NET to WebAssembly AOT, running in Node.js)
      • (needs dotnet workload install wasm-tools, run with admin permissions)