forked from Mirrors/wasm3
parent
b362ec1ccc
commit
f9bd310949
@ -0,0 +1,52 @@
|
|||||||
|
# C-Ray 1.1
|
||||||
|
|
||||||
|
### Results
|
||||||
|
|
||||||
|
```log
|
||||||
|
time(ms)
|
||||||
|
Node v13.0.1 (interpreter) 181527
|
||||||
|
wasm-micro-runtime 78499
|
||||||
|
wac (wax) -
|
||||||
|
wasm3 -
|
||||||
|
Wasmer 0.11.0 singlepass 1447
|
||||||
|
wasmtime 0.7.0 (--optimize) 576
|
||||||
|
Wasmer 0.11.0 cranelift 565
|
||||||
|
wasmer-js (Node v13.0.1) 336
|
||||||
|
Wasmer 0.11.0 llvm crash
|
||||||
|
WAVM 299
|
||||||
|
Native (GCC 7.4.0, 32-bit) 249
|
||||||
|
```
|
||||||
|
|
||||||
|
### Building
|
||||||
|
|
||||||
|
```sh
|
||||||
|
wasicc -O3 c-ray-f.c -Dunix -o c-ray.wasm
|
||||||
|
```
|
||||||
|
|
||||||
|
### Running
|
||||||
|
|
||||||
|
```sh
|
||||||
|
export ENGINES_PATH=/opt/wasm_engines
|
||||||
|
|
||||||
|
# Wasm3
|
||||||
|
cat scene | ../../../build-release/wasm3 c-ray.wasm -s 1024x768 > foo.ppm
|
||||||
|
|
||||||
|
# wasm-micro-runtime
|
||||||
|
cat scene | $ENGINES_PATH/wasm-micro-runtime/core/iwasm/products/linux/build/iwasm c-ray.wasm -s 1024x768 > foo.ppm
|
||||||
|
|
||||||
|
# wasmtime
|
||||||
|
cat scene | wasmtime --optimize c-ray.wasm -- -s 1024x768 > foo.ppm
|
||||||
|
|
||||||
|
# Wasmer
|
||||||
|
cat scene | wasmer run c-ray.wasm -- -s 1024x768 > foo.ppm
|
||||||
|
cat scene | wasmer run --backend singlepass c-ray.wasm -- -s 1024x768 > foo.ppm
|
||||||
|
cat scene | wasmer run --backend llvm c-ray.wasm -- -s 1024x768 > foo.ppm
|
||||||
|
|
||||||
|
# Wasmer-JS (V8) https://www.npmjs.com/package/@wasmer/cli
|
||||||
|
cat scene | wasmer-js run c-ray.wasm -s 1024x768 > foo.ppm
|
||||||
|
|
||||||
|
cat scene | node --wasm_interpret_all $(which wasmer-js) run c-ray.wasm -s 1024x768 > foo.ppm
|
||||||
|
|
||||||
|
# WAVM
|
||||||
|
cat scene | $ENGINES_PATH/WAVM/Release/bin/wavm run c-ray.wasm -s 1024x768 > foo.ppm
|
||||||
|
```
|
Binary file not shown.
@ -0,0 +1,18 @@
|
|||||||
|
# spheres
|
||||||
|
# position radius color shininess reflectivity
|
||||||
|
s -1.5 -0.3 -1 0.7 1.0 0.2 0.05 50.0 0.3
|
||||||
|
s 1.5 -0.4 0 0.6 0.1 0.85 1.0 50.0 0.4
|
||||||
|
|
||||||
|
# walls
|
||||||
|
s 0 -1000 2 999 0.1 0.2 0.6 80.0 0.8
|
||||||
|
|
||||||
|
# bouncing ball
|
||||||
|
s 0 0 2 1 1.0 0.5 0.1 60.0 0.7
|
||||||
|
|
||||||
|
# lights...
|
||||||
|
l -50 100 -50
|
||||||
|
l 40 40 150
|
||||||
|
|
||||||
|
# camera (there can be only one!)
|
||||||
|
# position FOV target
|
||||||
|
c 0 6 -17 45 0 -1 0
|
@ -0,0 +1,192 @@
|
|||||||
|
s 0 0 0 1.0 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 1.4 0 0 0.4 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 1.96 0 0 0.16 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 2.184 0 0 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 1.96 0.224 0 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 1.96 -0.224 0 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 1.96 0 0.224 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 1.96 0 -0.224 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 1.4 0.56 0 0.16 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 1.624 0.56 0 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 1.176 0.56 0 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 1.4 0.784 0 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 1.4 0.56 0.224 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 1.4 0.56 -0.224 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 1.4 -0.56 0 0.16 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 1.624 -0.56 0 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 1.176 -0.56 0 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 1.4 -0.784 0 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 1.4 -0.56 0.224 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 1.4 -0.56 -0.224 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 1.4 0 0.56 0.16 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 1.624 0 0.56 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 1.176 0 0.56 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 1.4 0.224 0.56 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 1.4 -0.224 0.56 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 1.4 0 0.784 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 1.4 0 -0.56 0.16 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 1.624 0 -0.56 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 1.176 0 -0.56 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 1.4 0.224 -0.56 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 1.4 -0.224 -0.56 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 1.4 0 -0.784 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s -1.4 0 0 0.4 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s -1.96 0 0 0.16 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s -2.184 0 0 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s -1.96 0.224 0 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s -1.96 -0.224 0 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s -1.96 0 0.224 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s -1.96 0 -0.224 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s -1.4 0.56 0 0.16 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s -1.176 0.56 0 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s -1.624 0.56 0 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s -1.4 0.784 0 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s -1.4 0.56 0.224 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s -1.4 0.56 -0.224 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s -1.4 -0.56 0 0.16 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s -1.176 -0.56 0 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s -1.624 -0.56 0 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s -1.4 -0.784 0 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s -1.4 -0.56 0.224 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s -1.4 -0.56 -0.224 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s -1.4 0 0.56 0.16 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s -1.176 0 0.56 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s -1.624 0 0.56 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s -1.4 0.224 0.56 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s -1.4 -0.224 0.56 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s -1.4 0 0.784 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s -1.4 0 -0.56 0.16 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s -1.176 0 -0.56 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s -1.624 0 -0.56 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s -1.4 0.224 -0.56 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s -1.4 -0.224 -0.56 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s -1.4 0 -0.784 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0 1.4 0 0.4 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0.56 1.4 0 0.16 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0.784 1.4 0 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0.56 1.624 0 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0.56 1.176 0 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0.56 1.4 0.224 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0.56 1.4 -0.224 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s -0.56 1.4 0 0.16 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s -0.784 1.4 0 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s -0.56 1.624 0 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s -0.56 1.176 0 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s -0.56 1.4 0.224 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s -0.56 1.4 -0.224 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0 1.96 0 0.16 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0.224 1.96 0 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s -0.224 1.96 0 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0 2.184 0 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0 1.96 0.224 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0 1.96 -0.224 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0 1.4 0.56 0.16 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0.224 1.4 0.56 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s -0.224 1.4 0.56 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0 1.624 0.56 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0 1.176 0.56 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0 1.4 0.784 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0 1.4 -0.56 0.16 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0.224 1.4 -0.56 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s -0.224 1.4 -0.56 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0 1.624 -0.56 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0 1.176 -0.56 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0 1.4 -0.784 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0 -1.4 0 0.4 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0.56 -1.4 0 0.16 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0.784 -1.4 0 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0.56 -1.176 0 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0.56 -1.624 0 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0.56 -1.4 0.224 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0.56 -1.4 -0.224 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s -0.56 -1.4 0 0.16 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s -0.784 -1.4 0 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s -0.56 -1.176 0 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s -0.56 -1.624 0 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s -0.56 -1.4 0.224 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s -0.56 -1.4 -0.224 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0 -1.96 0 0.16 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0.224 -1.96 0 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s -0.224 -1.96 0 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0 -2.184 0 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0 -1.96 0.224 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0 -1.96 -0.224 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0 -1.4 0.56 0.16 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0.224 -1.4 0.56 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s -0.224 -1.4 0.56 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0 -1.176 0.56 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0 -1.624 0.56 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0 -1.4 0.784 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0 -1.4 -0.56 0.16 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0.224 -1.4 -0.56 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s -0.224 -1.4 -0.56 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0 -1.176 -0.56 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0 -1.624 -0.56 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0 -1.4 -0.784 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0 0 1.4 0.4 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0.56 0 1.4 0.16 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0.784 0 1.4 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0.56 0.224 1.4 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0.56 -0.224 1.4 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0.56 0 1.624 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0.56 0 1.176 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s -0.56 0 1.4 0.16 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s -0.784 0 1.4 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s -0.56 0.224 1.4 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s -0.56 -0.224 1.4 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s -0.56 0 1.624 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s -0.56 0 1.176 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0 0.56 1.4 0.16 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0.224 0.56 1.4 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s -0.224 0.56 1.4 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0 0.784 1.4 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0 0.56 1.624 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0 0.56 1.176 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0 -0.56 1.4 0.16 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0.224 -0.56 1.4 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s -0.224 -0.56 1.4 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0 -0.784 1.4 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0 -0.56 1.624 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0 -0.56 1.176 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0 0 1.96 0.16 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0.224 0 1.96 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s -0.224 0 1.96 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0 0.224 1.96 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0 -0.224 1.96 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0 0 2.184 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0 0 -1.4 0.4 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0.56 0 -1.4 0.16 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0.784 0 -1.4 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0.56 0.224 -1.4 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0.56 -0.224 -1.4 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0.56 0 -1.176 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0.56 0 -1.624 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s -0.56 0 -1.4 0.16 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s -0.784 0 -1.4 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s -0.56 0.224 -1.4 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s -0.56 -0.224 -1.4 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s -0.56 0 -1.176 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s -0.56 0 -1.624 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0 0.56 -1.4 0.16 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0.224 0.56 -1.4 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s -0.224 0.56 -1.4 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0 0.784 -1.4 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0 0.56 -1.176 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0 0.56 -1.624 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0 -0.56 -1.4 0.16 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0.224 -0.56 -1.4 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s -0.224 -0.56 -1.4 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0 -0.784 -1.4 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0 -0.56 -1.176 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0 -0.56 -1.624 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0 0 -1.96 0.16 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0.224 0 -1.96 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s -0.224 0 -1.96 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0 0.224 -1.96 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0 -0.224 -1.96 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0 0 -2.184 0.064 0.25 0.25 0.25 50.0 0.65
|
||||||
|
s 0 -10002.25 0 10000 0.2 0.35 0.5 80.0 0.4
|
||||||
|
s 0 10100.00 0 10000 0.5 0.2 0.1 40.0 0.0
|
||||||
|
l -50 68 -50
|
||||||
|
l 40 40 150
|
||||||
|
c -7 6 -12 45 0 -0.65 0
|
Loading…
Reference in new issue